PoGetPerfStateAndParkingInfo

CHAR __fastcall PoGetPerfStateAndParkingInfo(PROCESSOR_NUMBER *ProcNumber, INT64 a2, INT64 a3, UINT64 *a4){
  unsigned int ProcessorIndexFromNumber; 
  __int64 v9; 
  _DWORD *v10; 
  __int64 v11; 
  unsigned int v12; 
  unsigned int v13; 
  UINT64 v14; 
  unsigned __int8 CurrentIrql; 
  INT64 v16; 
  int ThroughputInfoCallback; 
  int v18; 
  int v20[4]; 
  int v21; 
  INT64 v22; 
  __int64 v23; 
  memset((INT64)&v23, 0i64);
  v20[0] = 0;
  *(_OWORD *)a2 = 0i64;
  *(_OWORD *)(a2 + 16) = 0i64;
  ProcessorIndexFromNumber = KeGetProcessorIndexFromNumber(ProcNumber);
  KeGetPrcb(ProcessorIndexFromNumber);
  v10 = *(_DWORD **)(v9 + 33128);
  v11 = v9;
  PpmPerfGetCurrentState(
    v9,
    (_DWORD *)(a2 + 4),
    (unsigned int *)v20,
    (_DWORD *)(a2 + 8),
    (_DWORD *)a2,
    (_DWORD *)(a2 + 24));
  if( v10 )
  {
    v12 = v10[79];
    *(_DWORD *)(a2 + 12) = v10[96];
    v13 = v10[94];
    if( v13 >= v10[95] )
      v13 = v10[95];
    *(_DWORD *)(a2 + 16) = v13;
    if( v10[80] != v10[82] )
      *(_BYTE *)(a2 + 28) = 1;
    if( v13 < 0x64 )
      *(_DWORD *)(a2 + 24) |= 1u;
    LODWORD(v14) = (unsigned int)(100 * v20[0]) / v10[79];
  }
  else
  {
    v12 = *(_DWORD *)(v11 + 68);
    LODWORD(v14) = 100;
  }
  *(_DWORD *)(a2 + 20) = v14;
  LOBYTE(v14) = *(_BYTE *)(v11 + 33212);
  *(_BYTE *)(a2 + 29) = v14;
  if( a4 )
  {
    v14 = *(_QWORD *)(v11 + 33216);
    *a4 = v14;
  }
  if( a3 )
  {
    CurrentIrql = KeGetCurrentIrql();
    __writecr8(2ui64);
    v16 = v12;
    ThroughputInfoCallback = PpmGetThroughputInfoCallback((struct _KPRCB *)v11, a3, v12);
    LOBYTE(v14) = CurrentIrql;
    __writecr8(CurrentIrql);
    if( ThroughputInfoCallback < 0 )
    {
      v21 = 1310721;
      memset((INT64)&v22, 0i64);
      v18 = KeGetProcessorIndexFromNumber(ProcNumber);
      KeAddProcessorAffinityEx(&v21, v18);
      LOBYTE(v14) = PopExecuteOnTargetProcessors((INT64)&v21, (INT64)PpmGetThroughputInfoCallback, a3, v16);
    }
  }
  return v14;
}

Referenced by:

ExpQueryProcessorInformationCounters
ExpQuerySystemInformation