KiTraceLogNmiCallback
void __fastcall KiTraceLogNmiCallback(unsigned __int64 a1, __int64 a2, WCHAR a3){
__int64 v4;
int v5;
int v6;
int v7;
INT64 i;
unsigned __int64 v9;
int v10;
int v11;
int DestinationString;
_UNICODE_STRING DestinationString_8;
__int64 v14;
unsigned __int64 v15;
_EVENT_DATA_DESCRIPTOR v16;
int *v17;
int v18;
int v19;
wchar_t *Buffer;
int v21[2];
__int64 *v22;
int v23;
int v24;
int *v25;
int v26;
int v27;
int *v28;
int v29;
int v30;
int *p_DestinationString;
int v32;
int v33;
unsigned __int64 *v34;
int v35;
int v36;
_UNICODE_STRING *p_DestinationString_8;
int v38;
int v39;
DestinationString_8 = 0i64;
RtlInitUnicodeString(&DestinationString_8, (PCWSTR)&stru_1407D2340._Xmm13);
v4 = -1i64;
v5 = 0;
v6 = 0;
v7 = 0;
if( (a1 < PsNtosImageBase || a1 >= PsNtosImageEnd) && (a1 < (unsigned __int64)PsHalImageBase || a1 >= PsHalImageEnd) )
{
ExAcquireResourceSharedLite((UINT64)&PsLoadedModuleResource, 1);
for( i = PsLoadedModuleList; (INT64 *)i != &PsLoadedModuleList; i = *(_QWORD *)i )
{
v9 = *(_QWORD *)(i + 48);
if( a1 >= v9 && a1 < v9 + *(unsigned int *)(i + 64) )
{
v6 = *(_DWORD *)(i + 120);
v4 = *(_QWORD *)(i + 48);
v7 = *(_DWORD *)(i + 156);
v5 = *(_DWORD *)(i + 64);
DestinationString_8 = *(_UNICODE_STRING *)(i + 72);
break;
}
}
if( *(&stru_140C00F40 + 716) > 5u )
{
if( tlgKeywordOn((__int64)&stru_140C00F40 + 2864, 0x400000000000i64) )
{
v19 = 0;
v21[1] = 0;
v24 = 0;
v27 = 0;
v30 = 0;
v33 = 0;
v36 = 0;
v39 = 0;
v17 = v21;
Buffer = DestinationString_8.Buffer;
v21[0] = DestinationString_8.Length;
v22 = &v14;
v25 = &v10;
v28 = &v11;
p_DestinationString = &DestinationString;
v34 = &v15;
p_DestinationString_8 = &DestinationString_8;
v23 = 8;
v26 = 4;
v29 = 4;
v32 = 4;
v35 = 8;
v38 = 8;
v18 = 2;
v14 = v4;
v10 = v5;
v11 = v6;
DestinationString = v7;
v15 = a1;
*(_QWORD *)&DestinationString_8.Length = 0x1000000i64;
tlgWriteTransfer_EtwWriteTransfer(
(__int64)&stru_140C00F40 + 2864,
(unsigned __int8 *)&word_140024926,
0i64,
0i64,
0xAu,
&v16);
}
}
ExReleaseResourceLite(&PsLoadedModuleResource);
}
}Referenced by:
KeRegisterNmiCallback