PopFxUpdateComponentPerfStateNominalChange

char __fastcall PopFxUpdateComponentPerfStateNominalChange(__int64 a1, unsigned int a2, unsigned __int8 a3, int a4){
  unsigned int v7; 
  __int64 v8; 
  unsigned int v9; 
  __int64 v10; 
  __int64 v11; 
  __int64 v12; 
  __int64 v14; 
  __int64 v15; 
  char v16; 
  v15 = 0i64;
  v16 = 0;
  v7 = 0;
  v8 = *(_QWORD *)(a1 + 832);
  v9 = 0;
  v10 = *(_QWORD *)(v8 + 8i64 * a2);
  v11 = *(_QWORD *)(v10 + 424);
  v12 = *(_QWORD *)(v11 + 48);
  if( *(_DWORD *)(v11 + 144) )
  {
    do
    {
      LOBYTE(v8) = (unsigned __int8)PopFxQueryCurrentComponentPerfState(a1, v10, v9, 1, &v15, &v16);
      if( v16 )
      {
        LOBYTE(v8) = v15;
        ++v7;
        *(_QWORD *)(v12 + 8) = v15;
        *(_DWORD *)v12 = v9;
        v12 += 16i64;
      }
      ++v9;
    }
    while( v9 < *(_DWORD *)(v11 + 144) );
    if( v7 )
    {
      *(_DWORD *)(v11 + 56) = v7;
      *(_QWORD *)(v11 + 64) = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
      v14 = *(_QWORD *)(v11 + 48);
      *(_BYTE *)(v11 + 72) = 1;
      LOBYTE(v8) = PopDiagTraceFxPerfNominalChange((__int64 *)v11, a3, (EVENT_DESCRIPTOR *)(unsigned int)a4, v7, v14);
    }
  }
  return v8;
}

Referenced by:

PopPepCompleteComponentIdleStateChangeActivity
PopPepDeviceDState