PopDiagTraceFxDevicePowerRequirement

VOID __stdcall PopDiagTraceFxDevicePowerRequirement(VOID *Token, UINT8 NotificationFromPep, UINT8 PowerRequired){
  int v3; 
  INT64 v4; 
  const _EVENT_DESCRIPTOR *v5; 
  CHAR v6; 
  REGHANDLE v7; 
  int v8; 
  VOID *v9; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  int *v11; 
  int v12; 
  int v13; 

  v3 = PowerRequired;
  v9 = Token;
  v4 = PowerRequired;
  if( NotificationFromPep == 1 )
  {
    v5 = &POP_ETW_EVENT_DEVICE_POWER_REQUIREMENT_FROM_PEP;
    v6 = 4;
  }
  else
  {
    v5 = (const _EVENT_DESCRIPTOR *)POP_ETW_EVENT_DEVICE_POWER_REQUIREMENT_TO_DEVICE;
    v6 = 5;
  }
  PopFxAddLogEntry((INT64)Token, 0, v6, v4);
  if( PopDiagHandleRegistered )
  {
    v7 = PopDiagHandle;
    if( EtwEventEnabled(PopDiagHandle, v5) )
    {
      UserData.Reserved = 0;
      v13 = 0;
      UserData.Ptr = (unsigned __int64)&v9;
      v8 = v3;
      v11 = &v8;
      UserData.Size = 8;
      v12 = 4;
      EtwWriteEx(v7, v5, 0i64, 1u, 0, 0, 2u, &UserData);
    }
  }
}

Referenced by:

PopFxDeliverDevicePowerRequired
PopFxIdleTimeoutDpcRoutine
PopFxProcessWork
PopFxUpdateDeviceIdleTimer