EtwpUpdateLoggerGroupMasks

VOID __stdcall EtwpUpdateLoggerGroupMasks(_KTRAP_FRAME *TrapFrame, PVOID Context){
  _TRACE_ENABLE_FLAG_EXT_ITEM *FlagExtension; 
  __int64 v4; 
  unsigned __int16 v5; 
  PERFINFO_GROUPMASK v6; 
  PERFINFO_GROUPMASK GroupMasks[4]; 
  __int128 v8; 

  *(_OWORD *)GroupMasks = 0i64;
  v8 = 0i64;
  if( !Context )
    goto LABEL_5;
  FlagExtension = EtwpGetFlagExtension((_WMI_LOGGER_INFORMATION *)Context, 1u);
  if( !FlagExtension )
  {
    v6 = GroupMasks[0];
    if( *(int *)(v4 + 72) >= 0 )
      v6 = *(_DWORD *)(v4 + 72);
    GroupMasks[0] = v6;
    goto LABEL_5;
  }
  v5 = 4 * FlagExtension->Offset - 4;
  if( v5 <= 0x20u )
  {
    memmove(GroupMasks, &FlagExtension[1], v5);
LABEL_5:
    EtwpUpdateGroupMasks((_WMI_LOGGER_CONTEXT *)TrapFrame, GroupMasks);
  }
}

Referenced by:

EtwpStartLogger
EtwpStopLoggerInstance
EtwpUpdateTrace