MiSimpleAging

VOID __stdcall MiSimpleAging(_MMSUPPORT_INSTANCE *WsInfo){
  char v1; 
  char v2; 
  unsigned __int64 WorkingSetSize; 
  unsigned __int64 v5; 
  unsigned __int64 LockedEntries; 
  unsigned __int64 v7; 
  char v8; 
  CHAR *RandomPte; 
  INT64 v10[22]; 
  __int64 v11[32]; 
  __int64 v12[24]; 
  int v13[68]; 

  v2 = v1;
  memset(v11, 0i64, sizeof(v11));
  memset(v12, 0i64, 0xB8u);
  memset(v10, 0i64, sizeof(v10));
  memset(v13, 0i64, 0x108u);
  if( (WsInfo->Flags._bf_0 & 0x40) != 0 )
  {
    WorkingSetSize = WsInfo->WorkingSetSize;
    if( WorkingSetSize >= (((WsInfo->MaximumWorkingSetSize * (unsigned __int128)0xCCCCCCCCCCCCCCCDui64) >> 64) & 0xFFFFFFFFFFFFFFFCui64) )
    {
      v5 = WsInfo->AgeDistribution[0];
      LockedEntries = WsInfo->VmWorkingSetList->LockedEntries;
      if( LockedEntries + v5 >= (((WorkingSetSize * (unsigned __int128)0xCCCCCCCCCCCCCCCDui64) >> 64) & 0xFFFFFFFFFFFFFFFCui64)
        && WorkingSetSize - LockedEntries - v5 < 0x400 )
      {
        v7 = v5 >> 5;
        if( v7 < 8 )
          v7 = 8i64;
        v11[6] = v7;
        LODWORD(v12[0]) = MiTbFlushType(WsInfo);
        WORD2(v12[0]) = 0;
        v11[7] = (__int64)v12;
        v12[2] = 0i64;
        LODWORD(v12[1]) = 20;
        v12[3] = 0i64;
        if( (v8 & 7) == 0 )
        {
          if( WsInfo[3].AgeDistribution[1] )
          {
            v13[1] = 32;
            v11[31] = (__int64)v13;
          }
        }
        LODWORD(v11[0]) |= 4u;
        v10[21] = (INT64)v11;
        v10[3] = (INT64)WsInfo;
        BYTE6(v10[0]) = v2;
        RandomPte = MiGenerateRandomPte((INT64)v10);
        v10[5] = -1i64;
        v10[7] = (INT64)RandomPte;
        v10[19] = (INT64)MiSimpleAgePte;
        v10[20] = (INT64)MiSimpleAgeWorkingSetTail;
        LOWORD(v10[0]) = 6;
        MiWalkPageTables((INT64)v10);
      }
    }
  }
}

Referenced by:

MiReduceWs