EtwpAddDataSource

VOID **__fastcall EtwpAddDataSource(__int64 a1){
  VOID **result; 
  VOID **v3; 
  VOID **v4; 
  signed __int64 v5; 

  result = *(VOID ***)(a1 + 1424);
  if( !result )
  {
    result = ExAllocatePoolWithTag(0x200ui64, 0x28ui64, 1400337477i64);
    v3 = result;
    if( result )
    {
      *result = 0i64;
      result[1] = 0i64;
      result[4] = 0i64;
      v4 = result + 3;
      v4[1] = v4;
      *v4 = v4;
      v3[2] = 0i64;
      v5 = _InterlockedCompareExchange64((volatile signed __int64 *)(a1 + 1424), (signed __int64)v3, 0i64);
      if( v5 )
      {
        ExFreePoolWithTag(v3, 0);
        return(VOID **)v5;
      }
      return v3;
    }
  }
  return result;
}

Referenced by:

EtwpAddNotificationEvent
EtwpQueueNotification