MiInitializeTopLevelBitmap

VOID __stdcall MiInitializeTopLevelBitmap(){
  char *v0; 
  INT64 i; 
  struct _RTL_BITMAP BitMapHeader; 
  *(&BitMapHeader.SizeOfBitMap + 1) = 0;
  dword_140C4DFB8 = (unsigned __int8)ExGenRandom(1i64);
  xmmword_140C4DF98 = 0i64;
  BitMapHeader.SizeOfBitMap = 256;
  xmmword_140C4DFA8 = 0i64;
  BitMapHeader.Buffer = (unsigned int *)&xmmword_140C4DF98;
  v0 = (char *)MmGetPml4eBase() + 2048;
  for( i = (INT64)v0; (i & 0xFFF) != 0; i += 8i64 )
  {
    if( MI_READ_PTE_LOCK_FREE(i) )
      RtlSetBits(&BitMapHeader, (i - (__int64)v0) >> 3, 1ui64);
  }
  RtlSetBits(&BitMapHeader, (unsigned int)((i - (__int64)v0) >> 3) - 1, 1ui64);
  if( (MiFlags & 0x200000) == 0 )
    *((_DWORD *)&xmmword_140C4DF98 + 7) &= ~0x2000u;
}

Referenced by:

MiInitializeSystemVa