PopDereferenceWakeInfos

VOID *__fastcall PopDereferenceWakeInfos(unsigned int a1, __int64 *a2, INT64 a3){
  __int64 v3; 
  __int64 *v5; 
  _KLOCK_QUEUE_HANDLE LockHandle; 

  v3 = a1;
  memset(&LockHandle, 0, sizeof(LockHandle));
  KeAcquireInStackQueuedSpinLock((PKSPIN_LOCK)&stru_140C23628 + 355, &LockHandle);
  if( (_DWORD)v3 )
  {
    v5 = a2;
    do
    {
      PopWakeInfoDereference(*v5++);
      --v3;
    }
    while( v3 );
  }
  KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
  __writecr8(LockHandle.OldIrql);
  return ExFreePoolWithTag(a2, 0x206D654Du);
}

Referenced by:

PopGetWakeSource