PopFxQueryCurrentComponentPerfState

_BYTE *__fastcall PopFxQueryCurrentComponentPerfState(
        __int64 a1,
        __int64 a2,
        unsigned int a3,
        char a4,
        _QWORD *a5,
        _BYTE *a6){
  __int64 v6; 
  __int64 v8; 
  bool v9; 
  INT64 v10; 
  _BYTE *result; 
  INT64 v12[2]; 
  v6 = *(_QWORD *)(a2 + 424);
  *(_OWORD *)v12 = 0i64;
  v8 = *(_QWORD *)(v6 + 152) + 32i64 * a3;
  v9 = *(_BYTE *)(v6 + 73) == 0;
  LODWORD(v12[0]) = a3;
  if( v9 || !*(_QWORD *)(a1 + 64) )
  {
    *a5 = *(_QWORD *)(v8 + 8);
  }
  else
  {
    PopPluginQueryCurrentComponentPerfState(a1, *(unsigned int *)(a2 + 16), (INT64)v12);
    v10 = LODWORD(v12[1]);
    if( *(_DWORD *)(*(_QWORD *)v8 + 28i64) )
      v10 = v12[1];
    *a5 = v10;
    if( v10 != *(_QWORD *)(v8 + 8) )
    {
      *(_QWORD *)(v8 + 16) = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
      *(_BYTE *)(v8 + 24) = a4;
      *(_QWORD *)(v8 + 8) = *a5;
      result = a6;
      if( a6 )
        *a6 = 1;
      return result;
    }
  }
  result = a6;
  if( a6 )
    *a6 = 0;
  return result;
}

Referenced by:

PoFxQueryCurrentComponentPerfState
PopFxUpdateComponentPerfStateNominalChange