MiInitializeSystemWorkingSetList
INT64 __fastcall MiInitializeSystemWorkingSetList(UINT64 *a1, INT64 a2, INT64 a3, INT64 a4){
unsigned int v5;
int v8;
__int64 v9;
__int64 v10;
unsigned __int64 v11;
__int64 v12;
CHAR *v13;
v5 = a3;
if( (_DWORD)a3 == 1 )
{
v13 = (CHAR *)qword_140C4DB10;
LABEL_8:
*(_DWORD *)a2 = 0;
*(_WORD *)(a2 + 174) = *(_WORD *)a1;
MiInitializeWorkingSetList(a2, (INT64)v13, v5, a4);
MiAllowWorkingSetExpansion((_MMSUPPORT_INSTANCE *)a2);
return 1i64;
}
v8 = MiTranslateWsType((unsigned int)a3);
if( v8 > 2 )
{
*(_BYTE *)(v9 + 184) ^= (*(_BYTE *)(v9 + 184) ^ v5) & 7;
*(_DWORD *)v9 = 0;
*(_WORD *)(v9 + 174) = *(_WORD *)a1;
return 1i64;
}
v10 = v8;
v11 = (-(__int64)(a1[866] < 0x4000) & 0xFFFFFFFFFFFFFF20ui64) + 256;
v12 = 5i64 * v8;
v13 = &MiState[40 * v8 + 6896];
if( (unsigned int)MiChargeResident(a1, v11, 20i64) )
{
if( a1 != &MiSystemPartition )
{
v13 = (CHAR *)&a1[v12 + 928];
a4 = *(_QWORD *)&MiState[320 * v10 + 10200];
}
*(_QWORD *)(a2 + 112) = v11;
goto LABEL_8;
}
return 0i64;
}Referenced by:
MiBuildPagedPool
MiInitSystem
MiInitializeNonPagedPool
MiInitializeSystemCache
MiInitializeSystemPtes
MiSessionCreate