MiResetAccessBitPteWorker

VOID __stdcall MiResetAccessBitPteWorker(
        _MMSUPPORT_INSTANCE *WsInfo,
        _MMPTE *PointerPte,
        UINT64 a3,
        _MMPFN *a4,
        INT64 a5,
        INT64 a6){
  int VaAge; 
  int v11; 
  _MI_TB_FLUSH_LIST *v12; 
  _MI_TB_FLUSH_LIST *TbFlushList; 
  UINT64 AccessLogging; 

  VaAge = (unsigned __int8)MiGetVaAge((INT64)WsInfo, a3);
  if( VaAge == 7 && (unsigned int)MiGetPfnPriority(a4) < *(&stru_140C4DB30 + 655) )
  {
    v11 = 0;
  }
  else
  {
    v11 = 1;
    if( (unsigned int)(VaAge - 1) <= 5 )
      MiSetVaAgeList(WsInfo, a3, 1ui64, 0);
  }
  v12 = 0i64;
  if( (a6 & 4) == 0 )
    v12 = *(_MI_TB_FLUSH_LIST **)(a5 + 8);
  LODWORD(AccessLogging) = (a6 & 4) != 0;
  LODWORD(TbFlushList) = *(_DWORD *)a5;
  if( MiClearPteAccessed(WsInfo, a4, PointerPte, v12, TbFlushList, AccessLogging) )
  {
    if( v11 == 1 && (a6 & 4) == 0 && *(_DWORD *)a5 )
    {
      if( v12 )
      {
LABEL_15:
        MiFlushTbListEarly(v12, 0i64);
        return;
      }
      MiLogPageAccess(WsInfo, PointerPte);
    }
    if( !v12 )
      return;
    goto LABEL_15;
  }
}

Referenced by:

MiResetAccessBitsEPTCallback