PpmIdleCheckProcessorStateEligibility

__int64 __fastcall PpmIdleCheckProcessorStateEligibility(
        __int64 a1,
        unsigned int a2,
        __int64 a3,
        unsigned __int64 a4,
        unsigned int a5,
        char a6){
  __int64 v6; 
  __int64 result; 
  unsigned int v9; 
  __int64 v10; 
  unsigned int v11; 
  __int64 v12; 
  unsigned int v13; 
  v6 = *(_QWORD *)(a1 + 0x8000);
  if( *(_DWORD *)(v6 + 36) == 3 && PpmIdleVetoBias )
    return 4294967294i64;
  v9 = a5;
  v10 = 248i64 * a5;
  if( *(_BYTE *)(v10 + v6 + 1063) )
    return 2147483658i64;
  if( a2 != -1 && a5 > a2 )
    return 2147483656i64;
  if( !*(_BYTE *)(v10 + v6 + 1058) && *(_BYTE *)(v6 + 539) )
    return 2147483655i64;
  if( a6 )
    goto LABEL_19;
  v11 = PpmCheckIdleVeto(v10 + v6 + 1016);
  if( v11 )
    return v11 | 0x100000000i64;
  if( *(_DWORD *)(v12 + v6 + 1000) > v13 )
    return 2147483650i64;
  if( *(unsigned int *)(v12 + v6 + 1004) > a4 )
    return 2147483651i64;
LABEL_19:
  result = *(_QWORD *)(v6 + 448);
  if( result )
    return((unsigned int(__fastcall *)(_QWORD, _QWORD))result)(*(_QWORD *)(v6 + 488), v9);
  return result;
}

Referenced by:

PpmIdleSelectCoordinatedProcessorDependency