HalpBlkInitializeVirtualAddressSpace

NTSTATUS __stdcall HalpBlkInitializeVirtualAddressSpace(){
  UINT64 PageTablePage; 
  NTSTATUS result; 
  UINT64 v2; 
  UINT64 v3; 
  _DEVICE_OBJECT *v4; 
  UINT64 Protection; 

  PageTablePage = HalpBlkAllocatePageTablePage(1);
  if( !PageTablePage )
    return -1073741801;
  LODWORD(Protection) = 4;
  v2 = HalpBlkAllocatePageTablePage(1);
  v3 = HalpMap((_LARGE_INTEGER)PageTablePage, MmCached, MmCached, 1u, Protection);
  if( !v3 )
    return -1073741801;
  *(&CmpDummyThreadEvent + 488) = PageTablePage;
  *(&CmpDummyThreadEvent + 489) = v2;
  HalpBlkPageTableVaWindow = v3;
  result = HalpBlkAllocateShadowCode();
  if( result >= 0 )
  {
    result = HalpBlkAllocateShadowData(v4);
    if( result >= 0 )
    {
      result = HalpBlkShadowApic();
      if( result >= 0 )
        return HalpBlkShadowStartupBlock();
    }
  }
  return result;
}

Referenced by:

HalpBlkInitSystem