MiResetAccessBitPteWorker
VOID __fastcall MiResetAccessBitPteWorker(INT64 a1, UINT64 a2, UINT64 a3, INT64 a4, INT64 a5, CHAR a6){
int VaAge;
int v11;
__int64 v12;
INT64 v13;
INT64 v14;
VaAge = (unsigned __int8)MiGetVaAge(a1, a3);
if( VaAge == 7 && (unsigned int)MiGetPfnPriority(a4) < dword_140C4E56C )
{
v11 = 0;
}
else
{
v11 = 1;
if( (unsigned int)(VaAge - 1) <= 5 )
MiSetVaAgeList(a1, a3, (UINT8 *)1, 0);
}
v12 = 0i64;
if( (a6 & 4) == 0 )
v12 = *(_QWORD *)(a5 + 8);
LODWORD(v14) = (a6 & 4) != 0;
LODWORD(v13) = *(_DWORD *)a5;
if( (unsigned int)MiClearPteAccessed(a1, a4, a2, v12, v13, v14) )
{
if( v11 == 1 && (a6 & 4) == 0 && *(_DWORD *)a5 )
{
if( v12 )
{
LABEL_15:
MiFlushTbListEarly(v12, 0);
return;
}
MiLogPageAccess(a1, a2);
}
if( !v12 )
return;
goto LABEL_15;
}
}Referenced by:
MiResetAccessBitsEPTCallback