PopDiagTraceZoneCriticalTripPointExceeded

VOID __fastcall PopDiagTraceZoneCriticalTripPointExceeded(
        _THERMAL_INFORMATION_EX *ThermalInfo,
        _DEVICE_OBJECT *DeviceObject){
  EVENT_DESCRIPTOR *v2; 
  UINT64 v5; 
  EVENT_DESCRIPTOR *v6; 
  DEVICE_OBJECT *DeviceAttachmentBaseRefWithTag; 
  DEVICE_OBJECT *v8; 
  __int64 v9; 
  EVENT_DESCRIPTOR *v10; 
  EVENT_DESCRIPTOR *v11; 
  if( PopDiagHandleRegistered )
  {
    v5 = PopDiagHandle;
    if( EtwEventEnabled(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_CRITICAL_TRIP_POINT_DIAGNOSTIC, v2)
      || EtwEventEnabled(v5, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_CRITICAL_TRIP_POINT_SYSTEM, v6) )
    {
      DeviceAttachmentBaseRefWithTag = IoGetDeviceAttachmentBaseRefWithTag(DeviceObject, 0x67446F50ui64);
      v8 = DeviceAttachmentBaseRefWithTag;
      if( DeviceAttachmentBaseRefWithTag )
        v9 = *(_QWORD *)(*((_QWORD *)DeviceAttachmentBaseRefWithTag + 39) + 40i64);
      else
        v9 = 0i64;
      if( v9 )
      {
        PopDiagTraceTripPointExceeded(
          *(_WORD *)(v9 + 128) >> 1,
          *(WCHAR **)(v9 + 136),
          ThermalInfo->CriticalTripPoint / 0xA,
          (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_CRITICAL_TRIP_POINT_DIAGNOSTIC,
          v10);
        PopDiagTraceTripPointExceeded(
          *(_WORD *)(v9 + 128) >> 1,
          *(WCHAR **)(v9 + 136),
          ThermalInfo->CriticalTripPoint / 0xA,
          (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_CRITICAL_TRIP_POINT_SYSTEM,
          v11);
      }
      if( v8 )
        ObfDereferenceObjectWithTag(v8, 0x67446F50ui64);
    }
  }
}

Referenced by:

PopCheckAndHandleThermalConditions