PpmPerfApplyLatencyHint
__int64 __fastcall PpmPerfApplyLatencyHint(__int64 a1){
__int64 v1;
__int64 v2;
char *v3;
__int64 PerfPolicyClass;
int v5;
__int64 v6;
__int64 result;
__int64 v8;
unsigned int v9;
v1 = *(_QWORD *)(a1 + 8);
v2 = *(_QWORD *)(v1 + 8);
v3 = (char *)PpmCurrentProfile + 2736 * dword_140C23D0C;
PerfPolicyClass = (unsigned __int8)PpmGetPerfPolicyClass((BYTE *)a1);
result = (unsigned int)(v5 - 1);
v8 = (unsigned __int8)v3[PerfPolicyClass + 117];
if( (result & 0xFFFFFFFD) != 0 )
{
result = (unsigned int)(v5 - 5);
if( (unsigned int)result <= 1 || PpmPerfBoostAtGuaranteed )
v9 = *(_DWORD *)(v1 + 24);
else
v9 = 100;
}
else
{
v9 = *(_DWORD *)(v6 + 320);
}
if( (unsigned int)v8 >= v9 )
v8 = v9;
if( (unsigned int)v8 > *(_DWORD *)(v1 + 56) )
{
result = (*(__int64(__fastcall **)(__int64, __int64, _QWORD))(v6 + 280))(v2, v8, *(unsigned int *)(v6 + 328));
*(_DWORD *)(v1 + 56) = result;
}
return result;
}Referenced by:
PpmPerfApplyLatencyHints