PopDirectedDripsDiagTraceDfxPowerStateFailure

CHAR __fastcall PopDirectedDripsDiagTraceDfxPowerStateFailure(INT64 a1, INT64 a2, _EVENT_DESCRIPTOR *a3){
  void **v3; 
  UINT64 v5; 
  __int64 v6; 
  unsigned int v7; 
  __int64 v8; 
  int v9; 
  UINT64 UserDataCount; 
  unsigned int v12; 
  EVENT_DATA_DESCRIPTOR UserData; 
  INT64 v14; 
  int v15; 
  int v16; 
  int *v17; 
  int v18; 
  int v19; 
  __int64 v20; 
  int v21; 
  int v22; 
  void *retaddr; 
  INT64 v24; 
  v3 = &retaddr;
  v24 = a1;
  if( PopDiagHandleRegistered )
  {
    v5 = PopDiagHandle;
    LOBYTE(v3) = EtwEventEnabled(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_DIRECTED_FX_POWER_STATE_FAILURE, a3);
    if( (_BYTE)v3 )
    {
      v6 = *(_QWORD *)(a1 + 48);
      v7 = *(unsigned __int16 *)(v6 + 40);
      UserData.Reserved = 0;
      v16 = 0;
      v19 = 0;
      v12 = v7 >> 1;
      UserData.Ptr = (unsigned __int64)&v24;
      UserData.Size = 8;
      v15 = 8;
      v14 = a1 + 48;
      v17 = (int *)&v12;
      v18 = 4;
      v8 = *(_QWORD *)(v6 + 48);
      v9 = *(unsigned __int16 *)(v6 + 40);
      v22 = 0;
      v20 = v8;
      LODWORD(UserDataCount) = 4;
      v21 = v9;
      LOBYTE(v3) = EtwWriteEx(
                     v5,
                     (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_DIRECTED_FX_POWER_STATE_FAILURE,
                     0i64,
                     0i64,
                     0i64,
                     0i64,
                     UserDataCount,
                     &UserData);
    }
  }
  return(char)v3;
}

Referenced by:

PopFxEnforceDirectedPowerTransition