EtwpUpdateEnableMask

VOID __fastcall EtwpUpdateEnableMask(INT64 a1, CHAR a2, CHAR a3, CHAR a4, BYTE *a5){
  _DWORD *v5; 
  unsigned int i; 
  int v10; 
  _WMI_LOGGER_CONTEXT *v11; 
  _WMI_LOGGER_CONTEXT *v12; 
  int v13; 
  if( !a2 )
  {
    v5 = (_DWORD *)(a1 + 136);
    for( i = 0; i < 8; ++i )
    {
      if( *(v5 - 2) && (!a3 || (*v5 & 0x400) != 0) )
      {
        v10 = 0;
        v11 = EtwpAcquireLoggerContextByLoggerId(*(_ETW_SILODRIVERSTATE **)(a1 + 392), *((unsigned __int16 *)v5 - 1), 0);
        v12 = v11;
        if( v11 )
        {
          v13 = *((_DWORD *)v11 + 3);
          if( a4 )
          {
            if( (v13 & 0x80u) != 0 )
              v10 = EtwpCheckLoggerControlAccess(0x200ui64, v12);
          }
          else if( (v13 & 0x1000000) != 0 )
          {
            v10 = -1073741790;
          }
          EtwpReleaseLoggerContext((unsigned int *)v12, 0);
          if( !v10 )
            *a5 |= 1 << i;
        }
      }
      v5 += 8;
    }
  }
}

Referenced by:

EtwpRegisterProvider
EtwpRegisterUMGuid
NtTraceEvent