PopDiagTraceCsDripsWatchdogPerfTrack

VOID __stdcall PopDiagTraceCsDripsWatchdogPerfTrack(
        UINT64 ResiliencyPhaseNoActivatorsNoDripsMs,
        UINT64 NonActivatedCpuTimeMs,
        UINT64 DurationThisPeriodMs,
        UINT64 OnAc,
        UINT64 EnergyDrain,
        UINT8 DeviceConstraINT,
        UINT8 ActionsTaken){
  int v7; 
  int v8; 
  int v9; 
  int v10; 
  __int16 v11; 
  int v12; 
  __int64 v13; 
  $AC492906E908F75CD234F2140A5AAD56 *v14; 
  int *v15; 
  UINT64 UserDataCount; 
  int v17[3]; 
  int v18; 
  EVENT_DATA_DESCRIPTOR UserData; 
  v18 = 0;
  v7 = OnAc;
  v8 = DurationThisPeriodMs;
  v9 = NonActivatedCpuTimeMs;
  v10 = ResiliencyPhaseNoActivatorsNoDripsMs;
  if( PopDiagHandleRegistered
    && EtwEventEnabled(
         PopDiagHandle,
         (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_CS_DRIPS_WATCHDOG_PERFTRACK,
         (EVENT_DESCRIPTOR *)DurationThisPeriodMs) )
  {
    v17[0] = v10;
    v17[1] = v9;
    v17[2] = v8;
    if( DeviceConstraINT )
      v11 = (v7 != 0) | 0x200;
    else
      v11 = v7 != 0;
    v12 = 0xFFFF;
    v13 = 4i64;
    if( (unsigned int)EnergyDrain <= 0xFFFF )
      v12 = EnergyDrain;
    v14 = &UserData.12;
    v18 = v11 & 0x201 | (2 * ActionsTaken) & 0x3FF | (4 * (ActionsTaken & 0x100 | (v12 << 14)));
    v15 = v17;
    do
    {
      v14->Reserved = 0;
      *(_QWORD *)&v14[-3].Reserved = v15++;
      v14[-1].Reserved = 4;
      v14 += 4;
      --v13;
    }
    while( v13 );
    LODWORD(UserDataCount) = 4;
    EtwWriteEx(
      PopDiagHandle,
      (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_CS_DRIPS_WATCHDOG_PERFTRACK,
      0i64,
      0i64,
      0i64,
      0i64,
      UserDataCount,
      &UserData);
  }
}

Referenced by:

PopDripsWatchdogTakeAction