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