MiInitializeUltraSpace

INT64 __fastcall MiInitializeUltraSpace(INT64 a1, INT64 a2){
  INT64 result; 
  INT64 v5; 
  int v6; 
  bool v7; 
  int v8; 
  int v9; 
  int v10; 
  LODWORD(result) = MiAllocatePool((struct _SLIST_ENTRY *)0x42);
  v5 = result;
  if( result )
  {
    *(_QWORD *)(a1 + 24) = 0x4000i64;
    *(_QWORD *)(a1 + 32) = result;
    RtlSetAllBitsEx((_RTL_BITMAP_EX *)(a1 + 24));
    v6 = ExGenRandom(1i64);
    v7 = !_BitScanReverse((unsigned int *)&v8, 0x4000u);
    v9 = v6;
    v10 = 0x4000;
    if( !v7 )
      v10 = 1 << v8;
    *(_QWORD *)(a1 + 16) = v9 & (unsigned int)(v10 - 1);
    *(_QWORD *)(a1 + 48) = v5 + 2048;
    *(_QWORD *)(a1 + 40) = 0x4000i64;
    memset(v5 + 2048, 0i64);
    *(_QWORD *)(a1 + 8) = a2;
    result = 1i64;
    _InterlockedExchange((volatile __int32 *)(a1 + 56), 0x4000);
  }
  return result;
}

Referenced by:

MiCreateTopLevelUltraMappings