HalpMmBuildTiledMemoryMap

NTSTATUS __stdcall HalpMmBuildTiledMemoryMap(_TILED_MEMORY_MAP *MemoryMap, _KPROCESSOR_STATE *ProcessorState){
  unsigned int v2; 
  __int64 v3; 
  __int64 v5; 
  VOID *v6; 
  int v7; 

  v3 = *(&CmpDummyThreadEvent + 865);
  v5 = v2;
  LODWORD(MemoryMap->PageDirectory) = v2;
  v6 = *(VOID **)(v3 + 8i64 * v2);
  if( !v6 )
  {
    HalpAllocateCR3Root(v2);
    v6 = *(VOID **)(*(&CmpDummyThreadEvent + 865) + 8 * v5);
    if( !v6 )
      return -1073741801;
  }
  memset(v6, 0i64, 0x1000u);
  v7 = HalpMapCR3Ex((PVOID)BaseAddress);
  if( v7 < 0 || (v7 = HalpMapCR3Ex(HalpLMStub), v7 < 0) )
  {
    HalpMmFreeTiledMemoryMap((UINT64 *)MemoryMap);
  }
  else
  {
    v7 = 0;
    HalpCommitCR3Worker(*(VOID ***)(*(&CmpDummyThreadEvent + 865) + 8 * v5), 3ui64);
    HIDWORD(MemoryMap->PageDirectory) = MmGetPhysicalAddress((UINT64)v6);
  }
  return v7;
}

Referenced by:

HalpBuildResumeStructures
HalpInterruptStartProcessor