PpmUpdatePlatformIdleAccounting
INT64 __fastcall PpmUpdatePlatformIdleAccounting(INT64 a1, UINT64 a2){
INT64 result;
__int64 *v3;
result = 0i64;
v3 = &PpmIdleIntervalLimits;
do
{
if( a2 < *v3 )
break;
result = (unsigned int)(result + 1);
v3 += 3;
}
while( (unsigned int)result < 0x1A );
if( (unsigned int)result >= 0x1A )
{
++*(_DWORD *)(a1 + 40);
}
else
{
result *= 32i64;
*(_QWORD *)(result + a1 + 176) += a2;
++*(_DWORD *)(result + a1 + 200);
if( a2 < *(_QWORD *)(result + a1 + 184) )
*(_QWORD *)(result + a1 + 184) = a2;
if( a2 > *(_QWORD *)(result + a1 + 192) )
*(_QWORD *)(result + a1 + 192) = a2;
}
if( a2 < *(_QWORD *)(a1 + 24) )
*(_QWORD *)(a1 + 24) = a2;
if( a2 > *(_QWORD *)(a1 + 16) )
*(_QWORD *)(a1 + 16) = a2;
return result;
}Referenced by:
PpmExitCoordinatedIdle