void __fastcall IopCancelPendingEject(__int64 a1, void *a2, void *a3, void *a4){
if( *(_QWORD *)(a1 + 72) && !_InterlockedExchange((volatile __int32 *)(a1 + 80), 1) )
{
IoCancelIrp(*(KDPC **)(a1 + 72), a2, a3, a4);
if( _InterlockedExchange((volatile __int32 *)(a1 + 80), 2) == 3 )
IoFreeIrp(*(IRP **)(a1 + 72));
}
}