MiInitializePageFaultResources

NTSTATUS __stdcall MiInitializePageFaultResources(){
  unsigned int v0; 
  __int64 i; 
  __int64 v2; 
  unsigned int v3; 
  char *v4; 
  unsigned __int64 v5; 
  unsigned int *v6; 
  unsigned int v7; 
  _MMPTE *v8; 

  v0 = 0;
  for( i = 0i64; ; ++i )
  {
    v2 = 2i64 * (int)v0;
    InitializeSListHead((PSLIST_HEADER)&MiState[v2 + 1154]);
    InitializeSListHead((PSLIST_HEADER)&MiState[v2 + 1158]);
    v3 = v0 != 0 ? 16 : 8;
    *((_BYTE *)&MiState[1162] + i) = v0 != 0 ? 16 : 8;
    v4 = (char *)MiAllocateInPageSupportBlock(v0, v3);
    if( !v4 )
      break;
    MiState[i + 1163] = (__int64)v4;
    v5 = (-(__int64)(v0 != 0) & 0xFFFFFFFFFFFFF880ui64) + 2368;
    MiState[i + 1165] = (__int64)&v4[v5 * v3];
    v6 = (unsigned int *)(v4 + 192);
    do
    {
      v7 = *v6 | 0x40;
      if( i )
        v7 = *v6 & 0xFFFFFFBF;
      *v6 = v7;
      MiInsertInPageBlock((PSLIST_ENTRY)v6 - 12);
      v6 = (unsigned int *)((char *)v6 + v5);
      --v3;
    }
    while( v3 );
    if( (int)++v0 >= 2 )
    {
      v8 = MiReservePtes((_MI_SYSTEM_PTE_TYPE *)((char *)&stru_140C4DB30 + 4432), 0x10ui64);
      if( v8 )
      {
        *(&stru_140C4DB30 + 490) = 0i64;
        *(&stru_140C4DB30 + 489) = v8;
        return 1;
      }
      return 0;
    }
  }
  return 0;
}

Referenced by:

MiInitNucleus