PopDiagTraceProcessorThrottleDurationPerfTrack

VOID __stdcall PopDiagTraceProcessorThrottleDurationPerfTrack(UINT64 Duration, UINT64 ProcessorIndex){
  EVENT_DESCRIPTOR *v2; 
  ULONG v3; 
  int v4; 
  ULONG UserDataCounta; 
  UINT64 UserDataCount; 
  __int16 v7; 
  size_t pcchRemaining; 
  EVENT_DATA_DESCRIPTOR UserData; 
  __int16 *v10; 
  int v11; 
  int v12; 
  wchar_t *v13; 
  int v14; 
  int v15; 
  wchar_t pszDest[24]; 
  int v17; 
  v17 = Duration;
  pcchRemaining = 0i64;
  v3 = ProcessorIndex;
  wcscpy(pszDest, L"Processor 9999999999");
  if( PopDiagHandleRegistered
    && EtwEventEnabled(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_THERMAL_DURATION_PERFTRACK, v2) )
  {
    UserDataCounta = v3;
    RtlStringCchPrintfExW(
      pszDest,
      0x15ui64,
      0i64,
      &pcchRemaining,
      0i64,
      (const WCHAR *)&RelatedActivityId,
      UserDataCounta);
    if( v4 >= 0 )
    {
      UserData.Reserved = 0;
      v12 = 0;
      v15 = 0;
      UserData.Ptr = (unsigned __int64)&v17;
      v7 = 21 - pcchRemaining;
      v10 = &v7;
      v14 = 2 * (unsigned __int16)(21 - pcchRemaining);
      LODWORD(UserDataCount) = 3;
      v13 = pszDest;
      UserData.Size = 4;
      v11 = 2;
      EtwWriteEx(
        PopDiagHandle,
        (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_THERMAL_DURATION_PERFTRACK,
        0i64,
        0i64,
        0i64,
        0i64,
        UserDataCount,
        &UserData);
    }
  }
}

Referenced by:

PpmRegisterPerfCap