MmAllocateContiguousNodeMemory

VOID *__stdcall MmAllocateContiguousNodeMemory(
        UINT64 NumberOfBytes,
        LARGE_INTEGER LowestAcceptableAddress,
        LARGE_INTEGER HighestAcceptableAddress,
        LARGE_INTEGER BoundaryAddressMultiple,
        UINT64 Protect,
        UINT64 PreferredNode){
  unsigned int v7; 
  unsigned __int64 v8; 
  unsigned __int64 v9; 
  UINT64 v10; 
  unsigned int v11; 
  UINT64 v12; 
  UINT64 v13; 
  VOID *result; 
  unsigned int v15; 
  UINT64 ProtectionMask; 
  UINT64 v17; 
  UINT64 v18; 
  if( (BoundaryAddressMultiple.LowPart & 0xFFF) != 0 )
    return 0i64;
  v7 = MiMakeProtectionMask((unsigned int)Protect);
  v11 = v7;
  if( (Protect & 0x100) != 0 )
    return 0i64;
  if( v7 == -1 )
    return 0i64;
  if( (v7 & 5) != 4 )
    return 0i64;
  if( (v7 & 2) != 0 )
  {
    v15 = v7 >> 3;
    if( v15 == 1 || v15 == 3 && (v11 & 7) != 0 )
      return 0i64;
  }
  v12 = v8 >> 12;
  v13 = v9 >> 12;
  if( v12 > 0xFFFFFFFFFi64 )
    v12 = 0xFFFFFFFFFi64;
  if( v10 > v12 )
    return 0i64;
  LODWORD(v17) = PreferredNode;
  LODWORD(ProtectionMask) = v11;
  MiAllocateContiguousMemory(NumberOfBytes, v10, v12, v13, ProtectionMask, v17, v18);
  return result;
}

Referenced by:

HalAllocateCommonBufferExV2
HalpAllocateCR3Root
HalpAllocateDomainCommonBufferInternal
HalpDmaAllocateContiguousMemory
HalpDmaControllerInitializeController
HvlpAllocateOverlayPages
IommupHvInitializeLibrary
IopInitializeInMemoryDumpData
MmAllocateContiguousMemorySpecifyCacheNode
ViAllocateContiguousMemory