VOID __fastcall PopWakeInfoDereference(INT64 a1){
WORK_QUEUE_ITEM *v2;
if( _InterlockedExchangeAdd((volatile signed __int32 *)(a1 + 16), 0xFFFFFFFF) == 1 )
{
v2 = (WORK_QUEUE_ITEM *)(a1 + 48);
v2->Parameter = (void *)a1;
v2->List.Flink = 0i64;
v2->WorkerRoutine = (void(__fastcall *)(void *))PopFreeWakeInfo;
ExQueueWorkItem(v2, DelayedWorkQueue);
}
}