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