PopTraceZoneCr3Tripped
VOID __stdcall PopTraceZoneCr3Tripped(UINT64 GenerationId, _POP_THERMAL_ZONE *ThermalZone){
int v3;
_DEVICE_OBJECT *DeviceAttachmentBaseRefWithTag;
_DEVICE_OBJECT *v5;
void *DeviceNode;
__int64 v7;
int v8;
char v9;
bool v10;
const WCHAR *v11;
const WCHAR *v12;
bool v13;
char v14;
bool v15;
int v16;
int v17;
int v18;
_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;
int *v35;
int v36;
int v37;
char v38[16];
char v39[16];
v3 = GenerationId;
DeviceAttachmentBaseRefWithTag = IoGetDeviceAttachmentBaseRefWithTag(
*((_DEVICE_OBJECT **)ThermalZone + 6),
0x67446F50ui64);
v5 = DeviceAttachmentBaseRefWithTag;
if( DeviceAttachmentBaseRefWithTag )
DeviceNode = DeviceAttachmentBaseRefWithTag->DeviceObjectExtension->DeviceNode;
else
DeviceNode = 0i64;
if( DeviceNode && *(&stru_140C00F40 + 1194) > 5u && tlgKeywordOn((__int64)&stru_140C00F40 + 4776, 0x400000000000i64) )
{
v9 = *((_BYTE *)ThermalZone + 65);
v22 = 0;
v10 = *((_BYTE *)ThermalZone + 228) == 0;
v20 = &v16;
v13 = !v10;
v23 = &v13;
v25 = 0;
v28 = 0;
v31 = 0;
v34 = 0;
v37 = 0;
v14 = v9 & 1;
v26 = &v14;
v29 = &v15;
v32 = &v17;
v18 = *((_DWORD *)ThermalZone + 34);
v24 = 1;
v27 = 1;
v15 = (v9 & 4) != 0;
v30 = 1;
v11 = *(const WCHAR **)(v7 + 136);
v35 = &v18;
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)&stru_140C00F40 + 4776,
(unsigned __int8 *)&byte_1400272E7,
0i64,
0i64,
0xAu,
&v19);
}
if( v5 )
ObfDereferenceObjectWithTag(v5, 0x67446F50ui64);
}Referenced by:
PopCheckAndHandleThermalConditions