MiInitializeTopLevelBitmap

VOID __stdcall MiInitializeTopLevelBitmap(){
  _MMPTE *v0; 
  INT64 i; 
  __int64 v2; 
  _RTL_BITMAP BitMapHeader; 

  *(&BitMapHeader.SizeOfBitMap + 1) = 0;
  *(&stru_140C4DB30 + 290) = (unsigned __int8)ExGenRandom(ExGenRandomDomainUserVisible);
  *(_OWORD *)((char *)&stru_140C4DB30 + 1128) = 0i64;
  BitMapHeader.SizeOfBitMap = 256;
  *(_OWORD *)((char *)&stru_140C4DB30 + 1144) = 0i64;
  BitMapHeader.Buffer = (unsigned int *)((char *)&stru_140C4DB30 + 1128);
  v0 = MmGetPml4eBase() + 256;
  for( i = (INT64)v0; (i & 0xFFF) != 0; i += 8i64 )
  {
    LODWORD(v2) = MI_READ_PTE_LOCK_FREE(i);
    if( v2 )
      RtlSetBits(&BitMapHeader, (i - (__int64)v0) >> 3, 1ui64);
  }
  RtlSetBits(&BitMapHeader, (unsigned int)((i - (__int64)v0) >> 3) - 1, 1ui64);
  if( (MiFlags & 0x200000) == 0 )
    *((_DWORD *)&stru_140C4DB30 + 289) &= ~0x2000u;
}

Referenced by:

MiInitializeSystemVa