HalpBlkAllocatePageTablePage

UINT64 __fastcall HalpBlkAllocatePageTablePage(CHAR a1){
  int v1; 
  UINT64 v2; 
  UINT64 v3; 
  INT64 v4; 
  __int64 v6; 
  v6 = 0i64;
  v1 = 0;
  if( a1 )
    v1 = -1;
  LODWORD(v6) = v1;
  v2 = HalpAllocPhysicalMemory(HalpMmLoaderBlock, (LARGE_INTEGER *)((unsigned __int64)&v6 & -(__int64)(a1 != 0)));
  v3 = v2;
  if( v2 )
  {
    v4 = HalpMap((LARGE_INTEGER)v2, MmCached, 1u);
    if( v4 )
      memset(v4, 0i64);
    else
      return 0i64;
  }
  return v3;
}

Referenced by:

HalpBlkAddVirtualMapping
HalpBlkInitializeVirtualAddressSpace