EtwpCopySchematizedFilters

void **__fastcall EtwpCopySchematizedFilters(VOID *a1, __int64 a2, unsigned __int8 a3){
  void **result; 
  _DWORD *v4; 
  _DWORD *v5; 
  unsigned int v6; 
  __int64 v8; 
  _DWORD *v11; 
  void *retaddr; 

  result = &retaddr;
  v4 = 0i64;
  v5 = (_DWORD *)(a2 + 128);
  v6 = 0;
  v8 = 0i64;
  do
  {
    if( *v5 )
    {
      result = *(void ***)(a2 + 384);
      v11 = result[v8 + 11];
      if( v11 )
      {
        if( ((unsigned __int8)(1 << v6) & a3) != 0 )
        {
          memmove(a1, result[v8 + 11], v11[4]);
          v4 = a1;
          result = (void **)((v11[4] + 7) & 0xFFFFFFF8);
          *((_DWORD *)a1 + 5) = (_DWORD)result;
          a1 = (char *)a1 + (_QWORD)result;
        }
      }
    }
    ++v6;
    v5 += 8;
    v8 += 13i64;
  }
  while( v6 < 8 );
  if( v4 )
    v4[5] = 0;
  return result;
}

Referenced by:

EtwpAddRegEntryToGroup
EtwpBuildNotificationPacket
EtwpClearSessionAndUnreferenceEntry
EtwpRegisterProvider
EtwpRegisterUMGuid