PpmEventThermalCapChange

char __fastcall PpmEventThermalCapChange(__int64 a1, int a2){
  bool v2; 
  EVENT_DESCRIPTOR *EventDescriptorAndProcessorId; 
  EVENT_DESCRIPTOR *v5; 
  EVENT_DESCRIPTOR *v6; 
  UINT64 v7; 
  LPCGUID ActivityId; 
  UINT64 UserDataCount; 
  INT64 v11; 
  int v12; 
  __int128 DataPtr; 
  EVENT_DATA_DESCRIPTOR EventData; 
  EVENT_DATA_DESCRIPTOR UserData; 
  int *v16; 
  int v17; 
  int v18; 
  LODWORD(v11) = 0;
  v2 = *(_BYTE *)(a1 + 60) == 0;
  v12 = a2;
  DataPtr = 0i64;
  if( !v2 )
  {
    *((_QWORD *)&DataPtr + 1) = *(_QWORD *)(a1 - 32928);
    LODWORD(DataPtr) = a2;
    if( (*(_WORD *)(&PerfGlobalGroupMask + 2) & 0x8000) != 0 )
    {
      EventData.Reserved = 0;
      EventData.Ptr = (unsigned __int64)&DataPtr;
      EventData.Size = 16;
      LODWORD(ActivityId) = 4200450;
      EtwTraceKernelEvent(&EventData, 1ui64, 0x80008000ui64, 0x1236u, (UINT64)ActivityId);
    }
    if( WmiThermalEventEnabled )
      PpmFireWmiEvent((VOID *)(a1 - 136), (GUID *)&PPM_THERMALCONSTRAINT_GUID, 0x10ui64, &DataPtr);
  }
  EventDescriptorAndProcessorId = (EVENT_DESCRIPTOR *)PpmEventGetEventDescriptorAndProcessorId(
                                                        a1,
                                                        (INT64)&PPM_ETW_THERMAL_CAP_CHANGE,
                                                        (INT64)&PPM_ETW_THERMAL_CAP_CHANGE_HV,
                                                        (INT64)&v11,
                                                        (INT64)&UserData);
  v6 = EventDescriptorAndProcessorId;
  if( PpmEtwRegistered )
  {
    v7 = PpmEtwHandle;
    LOBYTE(EventDescriptorAndProcessorId) = EtwEventEnabled(PpmEtwHandle, EventDescriptorAndProcessorId, v5);
    if( (_BYTE)EventDescriptorAndProcessorId )
    {
      v18 = 0;
      v16 = &v12;
      v17 = 4;
      LODWORD(UserDataCount) = 2;
      LOBYTE(EventDescriptorAndProcessorId) = EtwWriteEx(v7, v6, 0i64, 0i64, 0i64, 0i64, UserDataCount, &UserData);
    }
  }
  return(char)EventDescriptorAndProcessorId;
}

Referenced by:

PpmRegisterPerfCap