EtwpAcquireLoggerContext
VOID __fastcall EtwpAcquireLoggerContext(INT64 a1, INT16 a2, INT64 a3, INT64 a4, INT64 a5, INT64 a6, INT64 a7){
unsigned int v7;
__int64 v8;
UINT64 v11;
__int64 v12;
struct _UNICODE_STRING UnicodeString;
v7 = *(unsigned __int8 *)(a1 + 4208);
v8 = a2;
*(_QWORD *)a3 = 0i64;
v11 = 0xFFFFFFFFi64;
v12 = *(_QWORD *)(v8 + 24) - *(_QWORD *)&SystemTraceControlGuid.Data1;
if( !v12 )
v12 = *(_QWORD *)(v8 + 32) - *(_QWORD *)SystemTraceControlGuid.Data4;
if( !v12 )
v11 = v7;
if( (_DWORD)v11 != v7 && *(_WORD *)(v8 + 144) )
{
UnicodeString = 0i64;
if( (int)EtwpCaptureString((_UNICODE_STRING *)(v8 + 144), &UnicodeString) >= 0 )
{
*(_QWORD *)a3 = EtwpAcquireLoggerContextByLoggerName(a1, &UnicodeString, 1);
RtlFreeAnsiString(&UnicodeString);
}
}
else
{
if( (_DWORD)v11 != -1 )
goto LABEL_11;
v11 = v7;
if( *(_WORD *)(v8 + 8) != 0xFFFF )
v11 = *(unsigned __int16 *)(v8 + 8);
if( (unsigned int)v11 < *(_DWORD *)(a1 + 16) )
LABEL_11:
*(_QWORD *)a3 = EtwpAcquireLoggerContextByLoggerId((_ETW_SILODRIVERSTATE *)a1, v11, 1u);
}
}Referenced by:
EtwpFlushTrace
EtwpStopTrace
EtwpUpdateTrace