EtwpTimLogMitigationForProcess
VOID __fastcall EtwpTimLogMitigationForProcess(INT64 a1, INT64 a2, const EVENT_DESCRIPTOR *r8_0, INT64 a4){
__int64 *v4;
__int64 *v5;
int v6;
int v8;
const wchar_t *v10;
int v11;
unsigned __int16 v12;
int v13;
const wchar_t *v14;
__int16 v15;
int v16;
int v17;
int v18;
PVOID v19;
__int16 v20[2];
__int16 v21;
int v22;
int v23;
UINT64 a3;
PVOID P[2];
UINT64 v26;
struct _EVENT_DATA_DESCRIPTOR v27;
int *v28;
__int64 v29;
int *v30;
__int64 v31;
int *v32;
__int64 v33;
__int64 v34;
int v35[2];
int *v36;
__int64 v37;
PVOID v38;
int v39[2];
UINT64 *v40;
__int64 v41;
EVENT_DATA_DESCRIPTOR UserData;
const wchar_t *v43;
int v44;
int v45;
__int16 *v46;
__int64 v47;
const wchar_t *v48;
int v49;
int v50;
__int64 v51[16];
v4 = *(__int64 **)(a4 + 1472);
v5 = &EmptyUnicodeString;
v6 = a2;
a3 = 0i64;
v8 = a1;
if( v4 )
v5 = v4;
v10 = L"(null)";
*(_OWORD *)P = 0i64;
v11 = 12;
v12 = *(_WORD *)v5;
*(_QWORD *)&UserData.Size = 2i64;
if( v12 )
{
v20[0] = v12 >> 1;
UserData.Ptr = (unsigned __int64)v20;
v13 = *(unsigned __int16 *)v5;
v10 = (const wchar_t *)v5[1];
}
else
{
v20[0] = 6;
UserData.Ptr = (unsigned __int64)v20;
v13 = 12;
}
v43 = v10;
v45 = 0;
v44 = v13;
EtwpQueryProcessCommandLine((_EPROCESS *)a4, (_UNICODE_STRING *)P);
v47 = 2i64;
v46 = &v21;
if( LOWORD(P[0]) )
{
v14 = (const wchar_t *)P[1];
v11 = LOWORD(P[0]);
v15 = LOWORD(P[0]) >> 1;
}
else
{
v14 = L"(null)";
v15 = 6;
}
v21 = v15;
v50 = 0;
v48 = v14;
v49 = v11;
v16 = EtwpTiFillProcessIdentity(v51, a4, &a3);
v17 = EtwpTiFillThreadIdentity((INT64)(&UserData + (unsigned int)(v16 + 4)), (INT64)KeGetCurrentThread());
EtwWrite(EtwSecurityMitigationsRegHandle, (EVENT_DESCRIPTOR *)r8_0, 0i64, (unsigned int)(v17 + v18), &UserData);
v19 = P[1];
if( (unsigned int)dword_140C02BB0 > 5 && tlgKeywordOn((__int64)&dword_140C02BB0, 0x200000000000i64) )
{
v22 = v8;
v28 = &v22;
v29 = 4i64;
v30 = &v23;
v23 = v6;
v32 = v35;
v34 = v5[1];
v35[0] = *(unsigned __int16 *)v5;
v36 = v39;
v39[0] = LOWORD(P[0]);
v26 = a3;
v40 = &v26;
v31 = 4i64;
v33 = 2i64;
v35[1] = 0;
v37 = 2i64;
v38 = v19;
v39[1] = 0;
v41 = 8i64;
tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140C02BB0,
(unsigned __int8 *)word_14002C73A,
0i64,
0i64,
9u,
&v27);
}
if( v19 )
ExFreePoolWithTag(v19, 0);
}Referenced by:
EtwTimLogProhibitDynamicCode
EtwTimLogProhibitWin32kSystemCalls
MiAllowImageMap