EtwTraceAdminlessAccessFailure
CHAR __fastcall EtwTraceAdminlessAccessFailure(INT64 a1, INT64 a2, INT64 a3, CHAR a4){
int v4;
__int64 v5;
unsigned __int16 *v6;
int v7;
unsigned __int16 *v8;
int v9;
__int16 *v10;
char *v11;
unsigned __int16 *v12;
int v13;
int v15;
int v16;
int v17;
int v18;
int v19;
int v20;
__int64 v21;
_LARGE_INTEGER CurrentTime;
__int64 v23;
const wchar_t *v24;
EVENT_DATA_DESCRIPTOR UserData;
int *v26;
__int64 v27;
struct _EVENT_DATA_DESCRIPTOR v28;
int *v29;
__int64 v30;
int *v31;
__int64 v32;
__int64 v33;
int v34[2];
int *v35;
__int64 v36;
int *v37;
__int64 v38;
char v39;
int *v40;
__int64 v41;
int *v42;
__int64 v43;
__int64 v44;
int v45[2];
int *v46;
__int64 v47;
char v48;
int *v49;
__int64 v50;
int *v51;
__int64 v52;
__int64 v53;
int v54[2];
__int64 *v55;
__int64 v56;
int v57;
v57 = a1;
CurrentTime.QuadPart = 0i64;
v24 = &word_1407CF120;
v4 = a3;
v23 = 0x20000i64;
v5 = *(_QWORD *)(*((_QWORD *)KeGetCurrentThread() + 23) + 1472i64);
if( !(_DWORD)a3 )
{
if( a4 )
{
if( (unsigned int)dword_140C02BB0 <= 5 )
goto LABEL_13;
LOBYTE(v5) = tlgKeywordOn((__int64)&dword_140C02BB0, 0x400000000000i64);
if( !(_BYTE)v5 )
goto LABEL_13;
v20 = v13;
v49 = &v20;
v10 = word_14002C9DA;
v50 = 4i64;
v51 = v54;
v53 = *((_QWORD *)v12 + 1);
v54[0] = *v12;
LODWORD(v21) = v57;
v55 = &v21;
v11 = &v48;
v52 = 2i64;
v54[1] = 0;
v56 = 4i64;
}
else
{
if( (unsigned int)dword_140C02BB0 <= 5 )
goto LABEL_13;
LOBYTE(v5) = tlgKeywordOn((__int64)&dword_140C02BB0, 0x400000000000i64);
if( !(_BYTE)v5 )
goto LABEL_13;
v18 = v9;
v40 = &v18;
v10 = word_14002CA22;
v41 = 4i64;
v42 = v45;
v44 = *((_QWORD *)v8 + 1);
v45[0] = *v8;
v19 = v57;
v46 = &v19;
v11 = &v39;
v43 = 2i64;
v45[1] = 0;
v47 = 4i64;
}
LOBYTE(v5) = tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140C02BB0,
(unsigned __int8 *)v10,
0i64,
0i64,
6u,
(PEVENT_DATA_DESCRIPTOR)v11);
goto LABEL_13;
}
if( (unsigned int)dword_140C02BB0 > 5 )
{
LOBYTE(v5) = tlgKeywordOn((__int64)&dword_140C02BB0, 0x400000000000i64);
if( (_BYTE)v5 )
{
v15 = v7;
v29 = &v15;
v30 = 4i64;
v31 = v34;
v33 = *((_QWORD *)v6 + 1);
v34[0] = *v6;
v16 = v57;
v35 = &v16;
v37 = &v17;
v32 = 2i64;
v34[1] = 0;
v36 = 4i64;
v17 = v4;
v38 = 4i64;
LOBYTE(v5) = tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140C02BB0,
(unsigned __int8 *)&word_14002C96E,
0i64,
0i64,
7u,
&v28);
}
}
LABEL_13:
if( EtwAdminlessProvRegHandle && SeAdminlessEnableEventLogging )
{
KeQuerySystemTimePrecise(&CurrentTime);
UserData.Ptr = (unsigned __int64)&CurrentTime;
*(_QWORD *)&UserData.Size = 8i64;
v26 = &v57;
v27 = 4i64;
LOBYTE(v5) = EtwWrite(EtwAdminlessProvRegHandle, (EVENT_DESCRIPTOR *)&LpacAccessFailureLog, 0i64, 2ui64, &UserData);
}
return v5;
}Referenced by:
NtQueryInformationToken