IopFreeWaitCompletionPacket

VOID __stdcall IopFreeWaitCompletionPacket(VOID *WaitCompletionPacket, VOID *IoCompletion){
  VOID *v2; 
  unsigned __int8 v5; 
  unsigned __int64 v6; 

  v2 = (VOID *)*((_QWORD *)WaitCompletionPacket + 10);
  v5 = KeAcquireSpinLockRaiseToDpc((UINT64 *)WaitCompletionPacket + 12);
  *((_QWORD *)WaitCompletionPacket + 11) = 0i64;
  v6 = v5;
  *((_BYTE *)WaitCompletionPacket + 104) = 0;
  KxReleaseSpinLock((UINT64 *)WaitCompletionPacket + 12);
  __writecr8(v6);
  ObfDereferenceObjectWithTag(v2, 0x746C6644ui64);
  ObfDereferenceObjectWithTag(IoCompletion, 0x746C6644ui64);
  ObfDereferenceObjectWithTag(WaitCompletionPacket, 0x746C6644ui64);
}

Referenced by:

IopDeleteIoCompletionInternal