PopDiagTraceProcessorThrottlePerfTrack

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

Referenced by:

PpmRegisterPerfCap
PpmRegisterPerfStates