MiComputeAgingPercent

VOID __stdcall MiComputeAgingPercent(_MI_PARTITION *Partition){
  unsigned __int64 v1; 
  __int64 v2; 
  __int16 v3; 
  unsigned __int64 v4; 
  unsigned __int64 v5; 
  unsigned __int64 *v6; 
  __int64 v7; 
  unsigned __int64 v8; 
  unsigned __int64 v9; 
  unsigned __int64 v10; 
  unsigned __int64 v11; 
  unsigned __int64 v12; 
  unsigned __int64 v13; 
  unsigned __int64 v14; 
  unsigned __int64 v15; 
  __int16 v16; 

  LODWORD(v1) = MiGetAvailablePagesBelowPriority(Partition, 6ui64);
  v3 = 0;
  v4 = v1;
  v5 = 0i64;
  v6 = (unsigned __int64 *)(v2 + 2272);
  v7 = 8i64;
  do
  {
    v8 = *v6;
    if( *v6 < v4 )
    {
      v8 = v4;
      *v6 = v4;
    }
    v5 += v8;
    ++v6;
    --v7;
  }
  while( v7 );
  v9 = v5 >> 3;
  *(_QWORD *)(v2 + 2336) = (v4 + 7 * v9) >> 3;
  *(_QWORD *)(v2 + 8i64 * ((*(_DWORD *)(v2 + 120))++ & 7) + 2272) = v4;
  if( v4 >= v9 )
  {
    v14 = 3600i64;
  }
  else
  {
    v10 = *(_QWORD *)(v2 + 2400);
    v11 = v9 - v4;
    if( v4 <= v10 )
    {
      v14 = 0i64;
    }
    else
    {
      v12 = v4 - v10;
      if( v11 < 8 )
        v11 = 8i64;
      v13 = v12 / (v11 >> 3);
      v14 = v13 - 2;
      if( v13 < 2 )
        v14 = v13;
    }
    if( v14 )
    {
      v15 = 0x1B58 / v14;
      if( (unsigned int)(0x1B58 / v14) > 0x3E8 )
        LOWORD(v15) = 1000;
      v16 = v15;
    }
    else
    {
      v16 = 1000;
    }
    v3 = v16;
  }
  *(_QWORD *)(v2 + 2352) = v14;
  *(_WORD *)(v2 + 2346) = v3;
}

Referenced by:

MiProcessWorkingSets