WheapPfaRetireExpiredMemoryEntries
VOID __stdcall WheapPfaRetireExpiredMemoryEntries(UINT64 Timestamp){
__int64 *v2;
UINT64 v3;
_QWORD *v4;
_QWORD *v5;
if( WheapPolicyMemPfaTimeout && Timestamp >= WheapPolicyMemPfaTimeout )
{
v2 = (__int64 *)*(&stru_140CF2E80 + 801);
v3 = Timestamp - WheapPolicyMemPfaTimeout;
while( v2 != (__int64 *)((char *)&stru_140CF2E80 + 6408) )
{
v4 = v2;
v2 = (__int64 *)*v2;
if( v4[4] <= v3 )
{
if( (_QWORD *)v2[1] != v4 || (v5 = (_QWORD *)v4[1], (_QWORD *)*v5 != v4) )
__fastfail(3u);
*v5 = v2;
v2[1] = (__int64)v5;
WheapPfaLogPageMonitorRemoval((INT64)v4, 2i64, Timestamp);
ExFreePoolWithTag(v4, 0x61656857u);
}
}
}
}Referenced by:
WheapPfaMemoryCheck