VOID __stdcall PopFxUnregisterDeviceOrWait(_DEVICE_NODE *DevNode){
_POP_FX_DEVICE *v2;
_m_prefetchw((const void *)&DevNode->PowerFlags);
if( (_InterlockedOr(&DevNode->PowerFlags, 8u) & 8) != 0 )
{
KeWaitForSingleObject((UINT64)&DevNode->gap5C[4], 0, 0, 0, 0i64);
}
else
{
v2 = PopFxLockDevice(DevNode, 0);
if( v2 )
PopFxUnregisterDevice(v2);
else
KeSetEvent((PRKEVENT)&DevNode->gap5C[4], 0, 0);
}
}