PopDiagTracePowerRequestChange

CHAR __fastcall PopDiagTracePowerRequestChange(
        INT64 a1,
        INT64 a2,
        EVENT_DESCRIPTOR *a3,
        INT64 a4,
        INT64 a5,
        INT64 a6,
        INT64 a7,
        INT64 a8,
        INT64 a9,
        INT64 a10,
        INT64 a11){
  void **v11; 
  UINT64 v13; 
  UINT64 UserDataCount; 
  EVENT_DATA_DESCRIPTOR UserData; 
  INT64 v17; 
  int v18; 
  int v19; 
  INT64 v20; 
  int v21; 
  int v22; 
  INT64 v23; 
  int v24; 
  int v25; 
  INT64 v26; 
  int v27; 
  int v28; 
  INT64 v29; 
  int v30; 
  int v31; 
  INT64 v32; 
  int v33; 
  int v34; 
  void *retaddr; 
  INT64 v36; 
  v11 = &retaddr;
  v36 = a1;
  if( PopDiagHandleRegistered )
  {
    v13 = PopDiagHandle;
    LOBYTE(v11) = EtwEventEnabled(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_CHANGE_POWER_REQUEST, a3);
    if( (_BYTE)v11 )
    {
      UserData.Reserved = 0;
      v19 = 0;
      v22 = 0;
      v25 = 0;
      v28 = 0;
      v31 = 0;
      v34 = 0;
      UserData.Ptr = (unsigned __int64)&v36;
      v17 = a1 + 36;
      v20 = a1 + 32;
      v23 = a1 + 40;
      v26 = a1 + 44;
      v29 = a1 + 48;
      v32 = a1 + 52;
      LODWORD(UserDataCount) = 7;
      v18 = 4;
      v21 = 4;
      v24 = 4;
      v27 = 4;
      v30 = 4;
      v33 = 4;
      UserData.Size = 8;
      LOBYTE(v11) = EtwWriteEx(
                      v13,
                      (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_CHANGE_POWER_REQUEST,
                      0i64,
                      0i64,
                      0i64,
                      0i64,
                      UserDataCount,
                      &UserData);
    }
  }
  return(char)v11;
}

Referenced by:

PoClearPowerRequestInternal
PoSetPowerRequestInternal
PopSetSpecialRequest