PopDiagTraceCoolingExtension

void __fastcall PopDiagTraceCoolingExtension(__int64 a1, const _EVENT_DESCRIPTOR *a2){
  _DEVICE_OBJECT *DeviceAttachmentBaseRefWithTag; 
  _DEVICE_OBJECT *v5; 
  _WORD *DeviceNode; 
  bool v7; 
  _BOOL4 v8; 
  _BOOL4 v9; 
  int v10; 
  char v11; 
  __int16 v12; 
  _BOOL4 v13; 
  _BOOL4 v14; 
  _BOOL4 v15; 
  __int64 v16; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  int *v18; 
  __int64 v19; 
  char *v20; 
  __int64 v21; 
  _BOOL4 *v22; 
  __int64 v23; 
  __int64 *v24; 
  __int64 v25; 
  __int16 *v26; 
  __int64 v27; 
  __int64 v28; 
  int v29; 
  int v30; 

  v15 = 0;
  v14 = 0;
  v12 = 0;
  v13 = 0;
  v11 = 0;
  v16 = 0i64;
  if( PopDiagHandleRegistered && EtwEventEnabled(PopDiagHandle, a2) )
  {
    DeviceAttachmentBaseRefWithTag = IoGetDeviceAttachmentBaseRefWithTag(*(_DEVICE_OBJECT **)(a1 + 48), 0x67446F50ui64);
    v5 = DeviceAttachmentBaseRefWithTag;
    if( DeviceAttachmentBaseRefWithTag )
      DeviceNode = DeviceAttachmentBaseRefWithTag->DeviceObjectExtension->DeviceNode;
    else
      DeviceNode = 0i64;
    if( DeviceNode )
    {
      v7 = *(_QWORD *)(a1 + 128) == 0i64;
      v12 = DeviceNode[64] >> 1;
      v8 = !v7;
      v16 = a1;
      v7 = *(_QWORD *)(a1 + 136) == 0i64;
      v14 = v8;
      v9 = !v7;
      *(_QWORD *)&UserData.Size = 4i64;
      v7 = *(_BYTE *)(a1 + 65) == 0;
      v13 = v9;
      v19 = 4i64;
      v15 = !v7;
      v11 = *(_BYTE *)(a1 + 66);
      UserData.Ptr = (unsigned __int64)&v13;
      v18 = (int *)&v14;
      v20 = &v11;
      v22 = &v15;
      v24 = &v16;
      v26 = &v12;
      v21 = 1i64;
      v23 = 4i64;
      v25 = 8i64;
      v27 = 2i64;
      v10 = (unsigned __int16)DeviceNode[64];
      v28 = *((_QWORD *)DeviceNode + 17);
      v29 = v10;
      v30 = 0;
      EtwWrite(PopDiagHandle, a2, 0, 7u, &UserData);
    }
    if( v5 )
      ObfDereferenceObjectWithTag(v5, 0x67446F50ui64);
  }
}

Referenced by:

PopAssociateThermalRequest
PopCoolingExtensionPnpNotification
PopDeactiveThermalRequest
PopDisableCoolingExtension
PopRundownThermalRequests