PopTraceZoneCr3Tripped

VOID __fastcall PopTraceZoneCr3Tripped(UINT64 GenerationId, _POP_THERMAL_ZONE *ThermalZone){
  int v3; 
  DEVICE_OBJECT *DeviceAttachmentBaseRefWithTag; 
  DEVICE_OBJECT *v5; 
  __int64 v6; 
  __int64 v7; 
  int v8; 
  unsigned __int8 Flags; 
  bool v10; 
  const WCHAR *v11; 
  const WCHAR *v12; 
  bool v13; 
  char v14; 
  bool v15; 
  int v16; 
  int v17; 
  unsigned int ThermalStandbyTripPoint; 
  struct _EVENT_DATA_DESCRIPTOR v19; 
  int *v20; 
  int v21; 
  int v22; 
  bool *v23; 
  int v24; 
  int v25; 
  char *v26; 
  int v27; 
  int v28; 
  bool *v29; 
  int v30; 
  int v31; 
  int *v32; 
  int v33; 
  int v34; 
  unsigned int *p_ThermalStandbyTripPoint; 
  int v36; 
  int v37; 
  char v38[16]; 
  char v39[16]; 
  v3 = GenerationId;
  DeviceAttachmentBaseRefWithTag = IoGetDeviceAttachmentBaseRefWithTag(ThermalZone->PolicyDevice.Device, 0x67446F50ui64);
  v5 = DeviceAttachmentBaseRefWithTag;
  if( DeviceAttachmentBaseRefWithTag )
    v6 = *(_QWORD *)(*((_QWORD *)DeviceAttachmentBaseRefWithTag + 39) + 40i64);
  else
    v6 = 0i64;
  if( v6 && (unsigned int)dword_140C021E8 > 5 && tlgKeywordOn((__int64)&dword_140C021E8, 0x400000000000i64) )
  {
    Flags = ThermalZone->Flags;
    v22 = 0;
    v10 = ThermalZone->PolicyDriver == 0;
    v20 = &v16;
    v13 = !v10;
    v23 = &v13;
    v25 = 0;
    v28 = 0;
    v31 = 0;
    v34 = 0;
    v37 = 0;
    v14 = Flags & 1;
    v26 = &v14;
    v29 = &v15;
    v32 = &v17;
    ThermalStandbyTripPoint = ThermalZone->Info.ThermalStandbyTripPoint;
    v24 = 1;
    v27 = 1;
    v15 = (Flags & 4) != 0;
    v30 = 1;
    v11 = *(const WCHAR **)(v7 + 136);
    p_ThermalStandbyTripPoint = &ThermalStandbyTripPoint;
    v16 = v3;
    v21 = 4;
    v17 = v8;
    v33 = 4;
    v36 = 4;
    tlgCreate1Sz_wchar_t((__int64)v38, v11);
    tlgCreate1Sz_wchar_t((__int64)v39, v12);
    tlgWriteTransfer_EtwWriteTransfer(
      (__int64)&dword_140C021E8,
      (unsigned __int8 *)&byte_1400272E7,
      0i64,
      0i64,
      0xAu,
      &v19);
  }
  if( v5 )
    ObfDereferenceObjectWithTag(v5, 0x67446F50ui64);
}

Referenced by:

PopCheckAndHandleThermalConditions