PopDiagTraceFxPerfRequest

char __fastcall PopDiagTraceFxPerfRequest(__int64 *a1, unsigned int a2, __int64 a3){
  void **v3; 
  UINT64 v7; 
  __int64 v8; 
  __int64 v9; 
  UINT64 UserDataCount; 
  EVENT_DATA_DESCRIPTOR UserData; 
  __int64 v13; 
  int v14; 
  int v15; 
  unsigned int *v16; 
  int v17; 
  int v18; 
  __int64 v19; 
  unsigned int v20; 
  int v21; 
  void *retaddr; 
  unsigned int v23; 
  v3 = &retaddr;
  v23 = a2;
  if( PopDiagHandleRegistered )
  {
    v7 = PopDiagHandle;
    LOBYTE(v3) = EtwEventEnabled(
                   PopDiagHandle,
                   (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_COMPONENT_PERFORMANCE_STATE_INITIATING,
                   (EVENT_DESCRIPTOR *)a3);
    if( (_BYTE)v3 )
    {
      v8 = *a1;
      v9 = *(_QWORD *)(*a1 + 80);
      UserData.Reserved = 0;
      v15 = 0;
      v18 = 0;
      UserData.Ptr = v9 + 48;
      v13 = v8 + 16;
      UserData.Size = 8;
      v16 = &v23;
      v3 = (void **)(16i64 * a2);
      v14 = 4;
      v17 = 4;
      if( (unsigned __int64)v3 <= 0xFFFFFFFF )
      {
        v21 = 0;
        v20 = 16 * a2;
        v19 = a3;
        LODWORD(UserDataCount) = 4;
        LOBYTE(v3) = EtwWriteEx(
                       v7,
                       (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_COMPONENT_PERFORMANCE_STATE_INITIATING,
                       0i64,
                       0i64,
                       0i64,
                       0i64,
                       UserDataCount,
                       &UserData);
      }
    }
  }
  return(char)v3;
}

Referenced by:

PopFxIssueComponentPerfStateChanges