EtwpTraceImageUnload
VOID __fastcall EtwpTraceImageUnload(
INT64 a1,
INT64 rdx0,
INT64 a3,
INT64 a4,
INT64 arg20,
INT64 arg28,
CHAR a7,
CHAR a8,
INT64 a9,
INT64 a10){
unsigned __int16 v11;
__int64 v13;
int v14;
UINT64 a5;
INT64 a6;
__int64 v17[2];
int v18;
int v19;
int v20;
CHAR v21;
CHAR v22;
__int16 v23;
INT64 v24;
char v25[24];
EVENT_DATA_DESCRIPTOR a2;
__int64 v27;
int v28;
int v29;
__int64 *v30;
__int64 v31;
if( a1 )
{
memset(v25, 0, sizeof(v25));
v11 = *(_WORD *)a1;
if( v11 )
{
v13 = *(_QWORD *)(a1 + 8);
if( v13 )
{
if( rdx0 )
v14 = *(_DWORD *)(rdx0 + 1088);
else
v14 = 0;
v18 = v14;
v19 = arg20;
v20 = arg28;
v21 = a7;
v22 = a8;
v17[0] = a3;
v17[1] = a4;
v23 = 0;
v24 = a9;
*(_OWORD *)v25 = 0i64;
if( EtwpHostSiloState != -4516 && (*(_DWORD *)(EtwpHostSiloState + 4516) & 4) != 0 )
{
EtwpPsProvTraceImage((unsigned __int16 *)a1, (unsigned __int64)v17, 5122, a10);
v13 = *(_QWORD *)(a1 + 8);
v11 = *(_WORD *)a1;
}
*(_QWORD *)&a2.Size = 56i64;
a2.Ptr = (unsigned __int64)v17;
v28 = v11;
v30 = &EtwpNull;
v27 = v13;
v29 = 0;
v31 = 2i64;
if( rdx0 )
{
LODWORD(a6) = (_DWORD)a10 != 0 ? 20977923 : 4200707;
EtwTraceSiloKernelEvent(*(_QWORD *)(rdx0 + 2160), &a2, 3u, 4ui64, 5122, a6);
}
else
{
LODWORD(a5) = (_DWORD)a10 != 0 ? 20977923 : 4200707;
EtwTraceKernelEvent(&a2, 3ui64, 4ui64, 0x1402u, a5);
}
}
}
}
}Referenced by:
EtwpCancelTraceImageUnloadApc
EtwpEnumerateAddressSpace
EtwpTraceImageUnloadApc
PerfLogImageUnload