EtwpUpdateProcessorTraceEvents

NTSTATUS __stdcall EtwpUpdateProcessorTraceEvents(INT64 a1, INT64 a2, UINT64 a3){
  unsigned int v3; 
  _QWORD *v4; 
  __int64 i; 
  int v7[6]; 

  v3 = a3;
  if( (unsigned int)(a3 - 1) > 3 )
    return -1073741811;
  v4 = *(_QWORD **)(a1 + 1016);
  if( !v4 || !*v4 )
    return -1073741811;
  for( i = 0i64; ; i = (unsigned int)(i + 1) )
  {
    v7[0] = i;
    if( (unsigned int)i >= v3 )
      break;
    *(_WORD *)(*(_QWORD *)(a1 + 1016) + 2 * i + 28) = *(_WORD *)(a2 + 4 * i);
  }
  _InterlockedOr(v7, 0);
  *(_DWORD *)(*(_QWORD *)(a1 + 1016) + 24i64) = v3;
  return 0;
}

Referenced by:

EtwSetPerformanceTraceInformation