PopDiagTraceThermalZoneThrottleDurationPerfTrack

VOID __stdcall PopDiagTraceThermalZoneThrottleDurationPerfTrack(UINT64 Duration, _DEVICE_OBJECT *DeviceObject){
  _DEVICE_OBJECT *DeviceAttachmentBaseRefWithTag; 
  _DEVICE_OBJECT *v4; 
  _WORD *DeviceNode; 
  int v6; 
  __int16 v7; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  __int16 *v9; 
  __int64 v10; 
  __int64 v11; 
  int v12; 
  int v13; 
  int v14; 

  v14 = Duration;
  v7 = 0;
  if( PopDiagHandleRegistered && EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_THERMAL_DURATION_PERFTRACK) )
  {
    DeviceAttachmentBaseRefWithTag = IoGetDeviceAttachmentBaseRefWithTag(DeviceObject, 0x67446F50ui64);
    v4 = DeviceAttachmentBaseRefWithTag;
    if( DeviceAttachmentBaseRefWithTag )
      DeviceNode = DeviceAttachmentBaseRefWithTag->DeviceObjectExtension->DeviceNode;
    else
      DeviceNode = 0i64;
    if( DeviceNode )
    {
      v6 = DeviceNode[64] >> 1;
      UserData.Ptr = (unsigned __int64)&v14;
      v7 = v6;
      v9 = &v7;
      *(_QWORD *)&UserData.Size = 4i64;
      v10 = 2i64;
      v11 = *((_QWORD *)DeviceNode + 17);
      v12 = 2 * v6;
      v13 = 0;
      EtwWrite(PopDiagHandle, &POP_ETW_EVENT_THERMAL_DURATION_PERFTRACK, 0, 3u, &UserData);
    }
    if( v4 )
      ObfDereferenceObjectWithTag(v4, 0x67446F50ui64);
  }
}

Referenced by:

PopThermalWorker