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