EtwpUpdateLoggerGroupMasks

INT64 __fastcall EtwpUpdateLoggerGroupMasks(__int64 a1, __int64 a2){
  unsigned __int16 *FlagExtension; 
  __int64 v4; 
  unsigned __int16 v5; 
  int v7; 
  UINT8 dst[16]; 
  __int128 v9; 
  *(_OWORD *)dst = 0i64;
  v9 = 0i64;
  if( !a2 )
    return EtwpUpdateGroupMasks(a1, (INT64)dst);
  FlagExtension = EtwpGetFlagExtension(a2, 1);
  if( !FlagExtension )
  {
    v7 = *(_DWORD *)dst;
    if( *(int *)(v4 + 72) >= 0 )
      v7 = *(_DWORD *)(v4 + 72);
    *(_DWORD *)dst = v7;
    return EtwpUpdateGroupMasks(a1, (INT64)dst);
  }
  v5 = 4 * *FlagExtension - 4;
  if( v5 <= 0x20u )
  {
    memmove(dst, (UINT8 *)FlagExtension + 4, v5);
    return EtwpUpdateGroupMasks(a1, (INT64)dst);
  }
  return 3221225485i64;
}

Referenced by:

EtwpStartLogger
EtwpStopLoggerInstance
EtwpUpdateTrace