MiSetTrimWhileAgingState
void __fastcall MiSetTrimWhileAgingState(__int64 a1, int a2){
__int64 v2;
INT64 v3;
unsigned __int8 v4;
INT64 *SharedVm;
KIRQL v6;
v2 = *(_QWORD *)(a1 + 6848);
v3 = a1 + 7232;
v4 = a2;
SharedVm = MiGetSharedVm(a1 + 7232);
v6 = ExAcquireSpinLockExclusive((PEX_SPIN_LOCK)SharedVm);
*((_DWORD *)SharedVm + 1) = 0;
switch( v4 )
{
case 0u:
*(_QWORD *)(v2 + 72) = 0i64;
goto LABEL_9;
case 1u:
*(_QWORD *)(v2 + 64) = -1i64;
*(_QWORD *)(v2 + 72) = 204800i64;
goto LABEL_6;
case 2u:
*(_QWORD *)(v2 + 72) = 204800i64;
*(_QWORD *)(v2 + 64) = 51200i64;
goto LABEL_6;
}
if( v4 != 3 )
{
if( v4 != 4 )
goto LABEL_6;
*(_QWORD *)(v2 + 72) = 384000i64;
LABEL_9:
*(_QWORD *)(v2 + 64) = 0i64;
goto LABEL_6;
}
*(_QWORD *)(v2 + 72) = 204800i64;
*(_QWORD *)(v2 + 64) = 12800i64;
LABEL_6:
*(_WORD *)(v2 + 2350) = *(_WORD *)((char *)&a2 + 1);
*(_DWORD *)(v2 + 80) = v4;
MiUnlockWorkingSetExclusive(v3, v6);
}Referenced by:
MiInitializeWorkingSetManagerParameters
MmSetTrimWhileAgingState