MiCaptureAndResetWorkingSetAccessBits
VOID __stdcall MiCaptureAndResetWorkingSetAccessBits(_MMSUPPORT_INSTANCE *Vm, UINT64 Flags){
char v2;
char v3;
char v4;
bool v6;
__int64 v7;
__int128 v8;
int *v9;
INT64 v10[22];
__int64 v11[24];
int v12[68];
v3 = v2;
v4 = Flags;
memset(v11, 0i64, 0xB8u);
v9 = 0i64;
v8 = 0i64;
memset(v10, 0i64, sizeof(v10));
memset(v12, 0i64, 0x108u);
v10[5] = -1i64;
LOWORD(v10[0]) = 6;
v6 = (Vm->Flags._bf_0 & 7) == 0;
v10[19] = (INT64)MiResetAccessBitPte;
v10[20] = (INT64)MiResetAccessBitsTail;
v10[3] = (INT64)Vm;
BYTE6(v10[0]) = v4;
if( v6 && Vm[3].AgeDistribution[1] )
{
v12[1] = 32;
v9 = v12;
}
if( (v3 & 0x10) != 0 )
{
*((_QWORD *)&v8 + 1) = v11;
LODWORD(v11[0]) = MiTbFlushType(Vm);
WORD2(v11[0]) = v7;
v11[2] = v7;
LODWORD(v11[1]) = 20;
v11[3] = v7;
}
LODWORD(v8) = *(&stru_140C4DB30 + 654);
v10[21] = (INT64)&v8;
MiWalkPageTables((INT64)v10);
MiDrainSystemAccessLog(Vm);
}Referenced by:
MiTrimOrAgeWorkingSet