MiUpdateClaimDistribution
VOID __stdcall MiUpdateClaimDistribution(_MMSUPPORT_INSTANCE *VmSupport, UINT64 *ClaimDistribution){
UINT64 v4;
char v5;
UINT64 v6;
UINT64 v7;
UINT64 v8;
UINT64 v9;
unsigned __int64 v10;
bool v11;
UINT64 v12;
UINT64 v13;
unsigned __int64 v14;
UINT64 v15;
UINT64 v16;
unsigned __int64 v17;
UINT64 v18;
UINT64 v19;
unsigned __int64 v20;
UINT64 v21;
UINT64 v22;
unsigned __int64 v23;
unsigned __int64 v24;
UINT64 v25;
unsigned __int64 v26;
UINT64 v27;
UINT64 v28;
v4 = *ClaimDistribution;
v5 = 3;
if( VmSupport->Flags.MemoryPriority != 2 )
v5 = 1;
v6 = v4 + (VmSupport->AgeDistribution[0] >> v5);
if( v6 < v4 )
v6 = -1i64;
*ClaimDistribution = v6;
v7 = ClaimDistribution[1];
v8 = ClaimDistribution[6];
v9 = (VmSupport->AgeDistribution[1] >> v5) + v7;
v10 = VmSupport->AgeDistribution[2];
v11 = v9 < v7;
v12 = ClaimDistribution[2];
if( v11 )
v9 = -1i64;
ClaimDistribution[1] = v9;
v13 = (v10 >> v5) + v12;
v14 = VmSupport->AgeDistribution[3];
v11 = v13 < v12;
v15 = ClaimDistribution[3];
if( v11 )
v13 = -1i64;
ClaimDistribution[2] = v13;
v16 = (v14 >> v5) + v15;
v17 = VmSupport->AgeDistribution[4];
v11 = v16 < v15;
v18 = ClaimDistribution[4];
if( v11 )
v16 = -1i64;
ClaimDistribution[3] = v16;
v19 = (v17 >> v5) + v18;
v20 = VmSupport->AgeDistribution[5];
v11 = v19 < v18;
v21 = ClaimDistribution[5];
if( v11 )
v19 = -1i64;
ClaimDistribution[4] = v19;
v22 = (v20 >> v5) + v21;
v23 = VmSupport->AgeDistribution[7];
v11 = v22 < v21;
v24 = VmSupport->AgeDistribution[6];
if( v11 )
v22 = -1i64;
ClaimDistribution[5] = v22;
v25 = v8 + (v24 >> v5);
if( v25 < v8 )
v25 = -1i64;
v26 = v23 >> v5;
ClaimDistribution[6] = v25;
v27 = ClaimDistribution[7];
v28 = v26 + v27;
if( v26 + v27 < v27 )
v28 = -1i64;
ClaimDistribution[7] = v28;
}Referenced by:
MiComputeAgeDistribution
MiOrderTrimList