EtwpAcquireLoggerContext

VOID __stdcall EtwpAcquireLoggerContext(
        INT64 a1,
        INT16 a2,
        INT64 a3,
        INT64 a4,
        _MEMORY_CACHING_TYPE_ORIG *a5,
        INT64 a6,
        INT64 a7){
  unsigned int v7; 
  __int64 v8; 
  UINT64 v11; 
  __int64 v12; 
  _UNICODE_STRING CapturedString; 

  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) )
  {
    CapturedString = 0i64;
    if( EtwpCaptureString((_UNICODE_STRING *)(v8 + 144), &CapturedString) >= 0 )
    {
      *(_QWORD *)a3 = EtwpAcquireLoggerContextByLoggerName((_ETW_SILODRIVERSTATE *)a1, &CapturedString, 1u);
      RtlFreeAnsiString(&CapturedString);
    }
  }
  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