PopThermalTraceRundownEvents

VOID __stdcall PopThermalTraceRundownEvents(){
  __int64 *i; 
  char v1; 
  _DEVICE_OBJECT *v2; 
  unsigned __int8 v3; 
  char v4; 
  _DEVICE_OBJECT *DeviceAttachmentBaseRefWithTag; 
  _DEVICE_OBJECT *v6; 
  _WORD *DeviceNode; 
  int v8; 
  int v9; 
  __int16 v10; 
  __int16 v11; 
  int v12; 
  __int16 v13; 
  int v14; 
  int v15; 
  int v16; 
  __int64 v17; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  __int64 v19; 
  int v20; 
  int v21; 
  __int16 *v22; 
  __int64 v23; 
  int *v24; 
  __int64 v25; 
  int *v26; 
  __int64 v27; 
  int *v28; 
  __int64 v29; 
  int *v30; 
  __int64 v31; 
  __int64 *v32; 
  __int64 v33; 
  __int16 *v34; 
  __int64 v35; 
  __int64 v36; 
  int v37; 
  int v38; 

  PopAcquireRwLockShared((UINT64)&PopPolicyDeviceLock);
  for( i = (__int64 *)*(&stru_140C23628 + 181); i != (__int64 *)((char *)&stru_140C23628 + 1448); i = (__int64 *)*i )
  {
    v1 = *((_BYTE *)i + 65);
    if( (v1 & 2) != 0 )
    {
      v2 = (_DEVICE_OBJECT *)i[6];
      v3 = v1 & 1;
      LODWORD(v17) = *((unsigned __int8 *)i + 73);
      v4 = v1 & 4;
      v16 = *((unsigned __int8 *)i + 72);
      v15 = *((_DWORD *)i + 20);
      v14 = *((unsigned __int8 *)i + 69);
      v11 = 0;
      v13 = 0;
      v10 = 0;
      LOWORD(v12) = 0;
      if( PopDiagHandleRegistered )
      {
        if( EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_THERMAL_ZONE_RUNDOWN) )
        {
          DeviceAttachmentBaseRefWithTag = IoGetDeviceAttachmentBaseRefWithTag(v2, 0x67446F50ui64);
          v6 = DeviceAttachmentBaseRefWithTag;
          if( DeviceAttachmentBaseRefWithTag )
            DeviceNode = DeviceAttachmentBaseRefWithTag->DeviceObjectExtension->DeviceNode;
          else
            DeviceNode = 0i64;
          if( DeviceNode )
          {
            v8 = DeviceNode[64] >> 1;
            UserData.Ptr = (unsigned __int64)&v10;
            v10 = v8;
            *(_QWORD *)&UserData.Size = 2i64;
            v19 = *((_QWORD *)DeviceNode + 17);
            v20 = 2 * v8;
            v9 = *((unsigned __int16 *)i + 520);
            v11 = v4 != 0;
            v37 = v9;
            v22 = &v11;
            v24 = &v14;
            LOWORD(v12) = v3;
            v26 = &v12;
            v28 = &v15;
            v30 = &v16;
            v32 = &v17;
            v13 = (unsigned __int16)v9 >> 1;
            v34 = &v13;
            v36 = i[131];
            v21 = 0;
            v23 = 2i64;
            v25 = 4i64;
            v27 = 2i64;
            v29 = 4i64;
            v31 = 4i64;
            v33 = 4i64;
            v35 = 2i64;
            v38 = 0;
            EtwWriteEx(PopDiagHandle, &POP_ETW_EVENT_THERMAL_ZONE_RUNDOWN, 0i64, 0, 0, 0, 0xAu, &UserData);
          }
          if( v6 )
            ObfDereferenceObjectWithTag(v6, 0x67446F50ui64);
        }
      }
    }
  }
  PopReleaseRwLock((_POP_RW_LOCK *)&PopPolicyDeviceLock);
}

Referenced by:

PopDiagTraceControlCallback