EtwpDisassociateConsumer

VOID __stdcall EtwpDisassociateConsumer(_WMI_LOGGER_CONTEXT *LoggerContext, VOID *Consumer){
  VOID **v3; 
  VOID **v4; 
  _KEVENT *v5; 

  v3 = *(VOID ***)Consumer;
  if( v3[1] != Consumer || (v4 = (VOID **)*((_QWORD *)Consumer + 1), *v4 != Consumer) )
    __fastfail(3u);
  *v4 = v3;
  v3[1] = v4;
  --LoggerContext->NumConsumers;
  v5 = (_KEVENT *)*((_QWORD *)Consumer + 6);
  *((_BYTE *)Consumer + 90) |= 4u;
  KeSetEvent(v5, 0, 0);
  HalPutDmaAdapter((PADAPTER_OBJECT)Consumer);
}

Referenced by:

EtwpRealtimeDeliverBuffer