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