	.file	"413571.c"
	.intel_syntax noprefix
	.text
	.globl	s
	.bss
	.align 4
	.type	s, @object
	.size	s, 4
s:
	.zero	4
	.globl	UNLOADED
	.align 4
	.type	UNLOADED, @object
	.size	UNLOADED, 4
UNLOADED:
	.zero	4
	.globl	NP
	.align 4
	.type	NP, @object
	.size	NP, 4
NP:
	.zero	4
	.globl	DC
	.align 4
	.type	DC, @object
	.size	DC, 4
DC:
	.zero	4
	.globl	SKIP1
	.align 4
	.type	SKIP1, @object
	.size	SKIP1, 4
SKIP1:
	.zero	4
	.globl	SKIP2
	.align 4
	.type	SKIP2, @object
	.size	SKIP2, 4
SKIP2:
	.zero	4
	.globl	MPR1
	.align 4
	.type	MPR1, @object
	.size	MPR1, 4
MPR1:
	.zero	4
	.globl	MPR3
	.align 4
	.type	MPR3, @object
	.size	MPR3, 4
MPR3:
	.zero	4
	.globl	IPC
	.align 4
	.type	IPC, @object
	.size	IPC, 4
IPC:
	.zero	4
	.globl	pended
	.align 4
	.type	pended, @object
	.size	pended, 4
pended:
	.zero	4
	.globl	compFptr
	.align 4
	.type	compFptr, @object
	.size	compFptr, 4
compFptr:
	.zero	4
	.globl	compRegistered
	.align 4
	.type	compRegistered, @object
	.size	compRegistered, 4
compRegistered:
	.zero	4
	.globl	lowerDriverReturn
	.align 4
	.type	lowerDriverReturn, @object
	.size	lowerDriverReturn, 4
lowerDriverReturn:
	.zero	4
	.globl	setEventCalled
	.align 4
	.type	setEventCalled, @object
	.size	setEventCalled, 4
setEventCalled:
	.zero	4
	.globl	customIrp
	.align 4
	.type	customIrp, @object
	.size	customIrp, 4
customIrp:
	.zero	4
	.globl	routine
	.align 4
	.type	routine, @object
	.size	routine, 4
routine:
	.zero	4
	.globl	myStatus
	.align 4
	.type	myStatus, @object
	.size	myStatus, 4
myStatus:
	.zero	4
	.globl	pirp
	.align 4
	.type	pirp, @object
	.size	pirp, 4
pirp:
	.zero	4
	.globl	Executive
	.align 4
	.type	Executive, @object
	.size	Executive, 4
Executive:
	.zero	4
	.globl	Suspended
	.align 4
	.type	Suspended, @object
	.size	Suspended, 4
Suspended:
	.zero	4
	.globl	KernelMode
	.align 4
	.type	KernelMode, @object
	.size	KernelMode, 4
KernelMode:
	.zero	4
	.globl	DeviceUsageTypePaging
	.align 4
	.type	DeviceUsageTypePaging, @object
	.size	DeviceUsageTypePaging, 4
DeviceUsageTypePaging:
	.zero	4
	.globl	safety
	.align 4
	.type	safety, @object
	.size	safety, 4
safety:
	.zero	4
	.text
	.globl	_BLAST_init
	.type	_BLAST_init, @function
_BLAST_init:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR UNLOADED[rip], 0
	mov	DWORD PTR NP[rip], 1
	mov	DWORD PTR DC[rip], 2
	mov	DWORD PTR SKIP1[rip], 3
	mov	DWORD PTR SKIP2[rip], 4
	mov	DWORD PTR MPR1[rip], 5
	mov	DWORD PTR MPR3[rip], 6
	mov	DWORD PTR IPC[rip], 7
	mov	eax, DWORD PTR UNLOADED[rip]
	mov	DWORD PTR s[rip], eax
	mov	DWORD PTR pended[rip], 0
	mov	DWORD PTR compFptr[rip], 0
	mov	DWORD PTR compRegistered[rip], 0
	mov	DWORD PTR lowerDriverReturn[rip], 0
	mov	DWORD PTR setEventCalled[rip], 0
	mov	DWORD PTR customIrp[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	_BLAST_init, .-_BLAST_init
	.globl	SendSrbSynchronous
	.type	SendSrbSynchronous, @function
SendSrbSynchronous:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -68[rbp], edi
	mov	DWORD PTR -72[rbp], esi
	mov	DWORD PTR -76[rbp], edx
	mov	DWORD PTR -80[rbp], ecx
	mov	DWORD PTR -52[rbp], 0
	cmp	DWORD PTR -76[rbp], 0
	jg	.L4
	cmp	DWORD PTR -76[rbp], 0
	jns	.L5
.L4:
	mov	DWORD PTR -28[rbp], 4116
	mov	DWORD PTR -24[rbp], 49152
	mov	DWORD PTR -20[rbp], 262144
	mov	DWORD PTR -16[rbp], 311296
	mov	DWORD PTR -32[rbp], 315412
	jmp	.L6
.L5:
	mov	DWORD PTR -48[rbp], 4100
	mov	DWORD PTR -44[rbp], 49152
	mov	DWORD PTR -40[rbp], 262144
	mov	DWORD PTR -36[rbp], 311296
	mov	DWORD PTR -32[rbp], 315396
.L6:
	cmp	DWORD PTR -52[rbp], 0
	js	.L7
	cmp	DWORD PTR -52[rbp], 0
	jg	.L7
	mov	DWORD PTR -56[rbp], -1073741670
	jmp	.L8
.L7:
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 258
	jle	.L9
	cmp	DWORD PTR -12[rbp], 259
	jg	.L9
	mov	edx, DWORD PTR KernelMode[rip]
	mov	esi, DWORD PTR Executive[rip]
	mov	eax, DWORD PTR -8[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	edi, eax
	call	KeWaitForSingleObject
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -60[rbp], eax
.L9:
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -56[rbp], eax
.L8:
	mov	eax, DWORD PTR -56[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	SendSrbSynchronous, .-SendSrbSynchronous
	.globl	CdAudioSignalCompletion
	.type	CdAudioSignalCompletion, @function
CdAudioSignalCompletion:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	mov	eax, DWORD PTR -28[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	KeSetEvent
	mov	DWORD PTR -4[rbp], -1073741802
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	CdAudioSignalCompletion, .-CdAudioSignalCompletion
	.globl	CdAudioStartDevice
	.type	CdAudioStartDevice, @function
CdAudioStartDevice:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	mov	DWORD PTR -28[rbp], 0
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioForwardIrpSynchronous
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jns	.L14
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L15
.L14:
	cmp	DWORD PTR -40[rbp], 254
	jle	.L16
	cmp	DWORD PTR -40[rbp], 255
	jg	.L16
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	cmp	DWORD PTR -16[rbp], 0
	js	.L17
	cmp	DWORD PTR -16[rbp], 0
	jg	.L17
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -28[rbp], 1
	jmp	.L16
.L17:
	mov	DWORD PTR -36[rbp], -1073741823
	cmp	DWORD PTR -36[rbp], 0
	jns	.L18
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -28[rbp], 1
	jmp	.L16
.L18:
	mov	DWORD PTR -40[rbp], 0
.L16:
	cmp	DWORD PTR -28[rbp], 0
	jg	.L15
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jns	.L19
	mov	DWORD PTR -32[rbp], 0
	jmp	.L15
.L19:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	ZwClose
	mov	DWORD PTR -32[rbp], 0
.L15:
	mov	eax, DWORD PTR -32[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	CdAudioStartDevice, .-CdAudioStartDevice
	.globl	CdAudioPnp
	.type	CdAudioPnp, @function
CdAudioPnp:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -68[rbp], edi
	mov	DWORD PTR -72[rbp], esi
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	DWORD PTR -36[rbp], -1073741637
	mov	DWORD PTR -48[rbp], 0
	cmp	DWORD PTR -32[rbp], 0
	js	.L22
	cmp	DWORD PTR -32[rbp], 0
	jg	.L22
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioStartDevice
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -72[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -48[rbp], eax
	jmp	.L23
.L22:
	cmp	DWORD PTR -32[rbp], 21
	jle	.L24
	cmp	DWORD PTR -32[rbp], 22
	jg	.L24
	mov	eax, DWORD PTR DeviceUsageTypePaging[rip]
	cmp	DWORD PTR -24[rbp], eax
	jg	.L25
	mov	eax, DWORD PTR DeviceUsageTypePaging[rip]
	cmp	DWORD PTR -24[rbp], eax
	jge	.L26
.L25:
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioSendToNextDriver
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -48[rbp], eax
	jmp	.L23
.L26:
	mov	edx, DWORD PTR KernelMode[rip]
	mov	esi, DWORD PTR Executive[rip]
	mov	eax, DWORD PTR -20[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	edi, eax
	call	KeWaitForSingleObject
	mov	DWORD PTR -36[rbp], eax
	mov	DWORD PTR -52[rbp], 0
	cmp	DWORD PTR -16[rbp], 0
	jg	.L28
	cmp	DWORD PTR -16[rbp], 0
	jns	.L29
.L28:
	cmp	DWORD PTR -12[rbp], 1
	jg	.L30
	cmp	DWORD PTR -12[rbp], 0
	jg	.L35
.L30:
	mov	DWORD PTR -52[rbp], 1
	jmp	.L35
.L29:
	mov	DWORD PTR -52[rbp], 1
	jmp	.L32
.L35:
	nop
.L32:
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioForwardIrpSynchronous
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jns	.L33
	cmp	DWORD PTR -52[rbp], 0
	jle	.L33
	cmp	DWORD PTR -52[rbp], 1
	jg	.L33
	mov	DWORD PTR -52[rbp], 0
.L33:
	mov	eax, DWORD PTR -20[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	KeSetEvent
	mov	eax, DWORD PTR -72[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -48[rbp], eax
	jmp	.L23
.L24:
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioSendToNextDriver
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -48[rbp], eax
.L23:
	mov	eax, DWORD PTR -48[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	CdAudioPnp, .-CdAudioPnp
	.globl	CdAudioDeviceControl
	.type	CdAudioDeviceControl, @function
CdAudioDeviceControl:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jle	.L37
	cmp	DWORD PTR -4[rbp], 2
	jg	.L37
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudio535DeviceControl
	mov	DWORD PTR -8[rbp], eax
	jmp	.L38
.L37:
	cmp	DWORD PTR -4[rbp], 2
	jle	.L39
	cmp	DWORD PTR -4[rbp], 3
	jg	.L39
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudio435DeviceControl
	mov	DWORD PTR -8[rbp], eax
	jmp	.L38
.L39:
	cmp	DWORD PTR -4[rbp], 0
	jle	.L40
	cmp	DWORD PTR -4[rbp], 1
	jg	.L40
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioAtapiDeviceControl
	mov	DWORD PTR -8[rbp], eax
	jmp	.L38
.L40:
	cmp	DWORD PTR -4[rbp], 6
	jle	.L41
	cmp	DWORD PTR -4[rbp], 7
	jg	.L41
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioHPCdrDeviceControl
	mov	DWORD PTR -8[rbp], eax
	jmp	.L38
.L41:
	mov	DWORD PTR -4[rbp], 0
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioSendToNextDriver
	mov	DWORD PTR -8[rbp], eax
.L38:
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	CdAudioDeviceControl, .-CdAudioDeviceControl
	.globl	CdAudioSendToNextDriver
	.type	CdAudioSendToNextDriver, @function
CdAudioSendToNextDriver:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR NP[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	mov	eax, DWORD PTR SKIP1[rip]
	mov	DWORD PTR s[rip], eax
	add	DWORD PTR -16[rbp], 1
	add	DWORD PTR -12[rbp], 1
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	IofCallDriver
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	CdAudioSendToNextDriver, .-CdAudioSendToNextDriver
	.globl	CdAudioIsPlayActive
	.type	CdAudioIsPlayActive, @function
CdAudioIsPlayActive:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	cmp	DWORD PTR -28[rbp], 0
	js	.L46
	cmp	DWORD PTR -28[rbp], 0
	jg	.L46
	mov	DWORD PTR -32[rbp], 0
	jmp	.L47
.L46:
	cmp	DWORD PTR -24[rbp], 0
	js	.L48
	cmp	DWORD PTR -24[rbp], 0
	jg	.L48
	mov	DWORD PTR -32[rbp], 0
	jmp	.L47
.L48:
	cmp	DWORD PTR -20[rbp], 0
	js	.L49
	cmp	DWORD PTR -20[rbp], 0
	jg	.L49
	mov	DWORD PTR -32[rbp], 0
	jmp	.L47
.L49:
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 258
	jle	.L50
	cmp	DWORD PTR -16[rbp], 259
	jg	.L50
	mov	edx, DWORD PTR KernelMode[rip]
	mov	esi, DWORD PTR Suspended[rip]
	mov	eax, DWORD PTR -12[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	edi, eax
	call	KeWaitForSingleObject
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -40[rbp], eax
.L50:
	cmp	DWORD PTR -40[rbp], 0
	jns	.L51
	mov	DWORD PTR -32[rbp], 0
	jmp	.L47
.L51:
	cmp	DWORD PTR -4[rbp], 16
	jle	.L52
	cmp	DWORD PTR -4[rbp], 17
	jg	.L52
	mov	DWORD PTR -36[rbp], 1
	jmp	.L53
.L52:
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -28[rbp], 0
.L53:
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -32[rbp], eax
.L47:
	mov	eax, DWORD PTR -32[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	CdAudioIsPlayActive, .-CdAudioIsPlayActive
	.globl	CdAudio535DeviceControl
	.type	CdAudio535DeviceControl, @function
CdAudio535DeviceControl:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 432
	mov	DWORD PTR -420[rbp], edi
	mov	DWORD PTR -424[rbp], esi
	mov	DWORD PTR -396[rbp], 0
	mov	eax, DWORD PTR -392[rbp]
	mov	DWORD PTR -388[rbp], eax
	mov	eax, DWORD PTR -384[rbp]
	mov	DWORD PTR -380[rbp], eax
	mov	eax, DWORD PTR -376[rbp]
	mov	DWORD PTR -372[rbp], eax
	mov	eax, DWORD PTR -368[rbp]
	mov	DWORD PTR -364[rbp], eax
	mov	DWORD PTR -360[rbp], 56
	mov	DWORD PTR -356[rbp], 16384
	mov	DWORD PTR -352[rbp], 131072
	mov	DWORD PTR -348[rbp], 147456
	mov	DWORD PTR -344[rbp], 147512
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -344[rbp]
	jl	.L56
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -344[rbp]
	jg	.L56
	mov	eax, DWORD PTR -420[rbp]
	mov	edi, eax
	call	CdAudioIsPlayActive
	mov	DWORD PTR -336[rbp], eax
	cmp	DWORD PTR -336[rbp], 0
	jg	.L57
	cmp	DWORD PTR -336[rbp], 0
	jns	.L58
.L57:
	mov	DWORD PTR -404[rbp], -2147483631
	mov	DWORD PTR -324[rbp], 0
	jmp	.L59
.L58:
	cmp	DWORD PTR -332[rbp], 0
	jg	.L60
	cmp	DWORD PTR -332[rbp], 0
	jns	.L61
.L60:
	mov	DWORD PTR -404[rbp], -1073741789
	mov	DWORD PTR -324[rbp], 0
	jmp	.L59
.L61:
	cmp	DWORD PTR -328[rbp], 0
	js	.L62
	cmp	DWORD PTR -328[rbp], 0
	jg	.L62
	mov	DWORD PTR -404[rbp], -1073741670
	mov	DWORD PTR -324[rbp], 0
	mov	edx, DWORD PTR -320[rbp]
	mov	ecx, DWORD PTR -424[rbp]
	mov	eax, DWORD PTR -404[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	AG_SetStatusAndReturn
	mov	DWORD PTR -316[rbp], eax
	mov	eax, DWORD PTR -316[rbp]
	mov	DWORD PTR -400[rbp], eax
	mov	DWORD PTR -396[rbp], 1
	jmp	.L59
.L62:
	mov	DWORD PTR -312[rbp], 10
	mov	DWORD PTR -308[rbp], 38
	mov	DWORD PTR -304[rbp], 10
	mov	ecx, DWORD PTR -296[rbp]
	mov	edx, DWORD PTR -328[rbp]
	mov	esi, DWORD PTR -300[rbp]
	mov	eax, DWORD PTR -380[rbp]
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -404[rbp], eax
	cmp	DWORD PTR -404[rbp], 0
	jns	.L63
	mov	DWORD PTR -324[rbp], 0
	mov	edx, DWORD PTR -320[rbp]
	mov	ecx, DWORD PTR -424[rbp]
	mov	eax, DWORD PTR -404[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	AG_SetStatusAndReturn
	mov	DWORD PTR -292[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	mov	DWORD PTR -400[rbp], eax
	mov	DWORD PTR -396[rbp], 1
	jmp	.L64
.L63:
	mov	DWORD PTR -404[rbp], 0
.L64:
	cmp	DWORD PTR -396[rbp], 0
	jg	.L103
	mov	eax, DWORD PTR -288[rbp]
	mov	DWORD PTR -324[rbp], eax
	cmp	DWORD PTR -284[rbp], 0
	js	.L65
	cmp	DWORD PTR -284[rbp], 0
	jle	.L59
.L65:
	mov	DWORD PTR -280[rbp], 1
	mov	DWORD PTR -276[rbp], 2
	jmp	.L103
.L59:
	jmp	.L103
.L56:
	mov	DWORD PTR -272[rbp], 16384
	mov	DWORD PTR -268[rbp], 131072
	mov	DWORD PTR -264[rbp], 147456
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -264[rbp]
	jl	.L67
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -264[rbp]
	jg	.L67
	cmp	DWORD PTR -332[rbp], 0
	jg	.L68
	cmp	DWORD PTR -332[rbp], 0
	jns	.L69
.L68:
	mov	DWORD PTR -404[rbp], -1073741789
	mov	DWORD PTR -324[rbp], 0
	jmp	.L70
.L69:
	mov	eax, DWORD PTR -420[rbp]
	mov	edi, eax
	call	CdAudioIsPlayActive
	mov	DWORD PTR -260[rbp], eax
	cmp	DWORD PTR -260[rbp], 0
	jg	.L71
	cmp	DWORD PTR -260[rbp], 0
	jns	.L72
.L71:
	mov	DWORD PTR -404[rbp], -2147483631
	mov	DWORD PTR -324[rbp], 0
	jmp	.L70
.L72:
	cmp	DWORD PTR -256[rbp], 0
	js	.L73
	cmp	DWORD PTR -256[rbp], 0
	jg	.L73
	mov	DWORD PTR -404[rbp], -1073741670
	mov	DWORD PTR -324[rbp], 0
	mov	edx, DWORD PTR -320[rbp]
	mov	ecx, DWORD PTR -424[rbp]
	mov	eax, DWORD PTR -404[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	AG_SetStatusAndReturn
	mov	DWORD PTR -252[rbp], eax
	mov	eax, DWORD PTR -252[rbp]
	mov	DWORD PTR -400[rbp], eax
	mov	DWORD PTR -396[rbp], 1
	jmp	.L70
.L73:
	mov	DWORD PTR -304[rbp], 10
	mov	DWORD PTR -312[rbp], 10
	mov	ecx, DWORD PTR -248[rbp]
	mov	edx, DWORD PTR -256[rbp]
	mov	esi, DWORD PTR -300[rbp]
	mov	eax, DWORD PTR -380[rbp]
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -404[rbp], eax
	cmp	DWORD PTR -404[rbp], 0
	js	.L74
	mov	eax, DWORD PTR -404[rbp]
	mov	DWORD PTR -236[rbp], eax
	cmp	DWORD PTR -236[rbp], -1073741763
	jge	.L75
	cmp	DWORD PTR -236[rbp], -1073741764
	jge	.L76
.L75:
	mov	DWORD PTR -404[rbp], 0
	jmp	.L79
.L76:
	mov	eax, DWORD PTR -404[rbp]
	mov	DWORD PTR -244[rbp], eax
	cmp	DWORD PTR -244[rbp], -1073741763
	jge	.L78
	cmp	DWORD PTR -244[rbp], -1073741764
	jge	.L79
.L78:
	mov	DWORD PTR -324[rbp], 0
	mov	edx, DWORD PTR -320[rbp]
	mov	ecx, DWORD PTR -424[rbp]
	mov	eax, DWORD PTR -404[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	AG_SetStatusAndReturn
	mov	DWORD PTR -240[rbp], eax
	mov	eax, DWORD PTR -240[rbp]
	mov	DWORD PTR -400[rbp], eax
	mov	DWORD PTR -396[rbp], 1
	jmp	.L79
.L74:
	mov	eax, DWORD PTR -404[rbp]
	mov	DWORD PTR -244[rbp], eax
	cmp	DWORD PTR -244[rbp], -1073741763
	jge	.L80
	cmp	DWORD PTR -244[rbp], -1073741764
	jge	.L79
.L80:
	mov	DWORD PTR -324[rbp], 0
	mov	edx, DWORD PTR -320[rbp]
	mov	ecx, DWORD PTR -424[rbp]
	mov	eax, DWORD PTR -404[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	AG_SetStatusAndReturn
	mov	DWORD PTR -240[rbp], eax
	mov	eax, DWORD PTR -240[rbp]
	mov	DWORD PTR -400[rbp], eax
	mov	DWORD PTR -396[rbp], 1
.L79:
	cmp	DWORD PTR -396[rbp], 0
	jg	.L104
	mov	eax, DWORD PTR -276[rbp]
	sub	eax, DWORD PTR -280[rbp]
	mov	DWORD PTR -232[rbp], eax
	mov	eax, DWORD PTR -232[rbp]
	add	eax, 1
	mov	DWORD PTR -228[rbp], eax
	mov	eax, DWORD PTR -332[rbp]
	mov	DWORD PTR -224[rbp], eax
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -228[rbp]
	jge	.L81
	mov	eax, DWORD PTR -224[rbp]
	mov	DWORD PTR -220[rbp], eax
	jmp	.L82
.L81:
	mov	eax, DWORD PTR -228[rbp]
	mov	DWORD PTR -220[rbp], eax
.L82:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -228[rbp]
	jle	.L104
	add	DWORD PTR -216[rbp], 1
	jmp	.L104
.L70:
	jmp	.L104
.L67:
	mov	DWORD PTR -212[rbp], 44
	mov	DWORD PTR -208[rbp], 16384
	mov	DWORD PTR -204[rbp], 131072
	mov	DWORD PTR -200[rbp], 147456
	mov	DWORD PTR -196[rbp], 147500
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -196[rbp]
	jl	.L83
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -196[rbp]
	jg	.L83
	mov	eax, DWORD PTR -376[rbp]
	mov	DWORD PTR -192[rbp], eax
	mov	eax, DWORD PTR -332[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jge	.L84
	mov	DWORD PTR -404[rbp], -1073741789
	mov	DWORD PTR -324[rbp], 0
	jmp	.L66
.L84:
	cmp	DWORD PTR -184[rbp], 0
	js	.L86
	cmp	DWORD PTR -184[rbp], 0
	jg	.L86
	mov	DWORD PTR -404[rbp], -1073741670
	mov	DWORD PTR -324[rbp], 0
	mov	edx, DWORD PTR -320[rbp]
	mov	ecx, DWORD PTR -424[rbp]
	mov	eax, DWORD PTR -404[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	AG_SetStatusAndReturn
	mov	DWORD PTR -180[rbp], eax
	mov	eax, DWORD PTR -180[rbp]
	mov	DWORD PTR -400[rbp], eax
	mov	DWORD PTR -396[rbp], 1
	jmp	.L85
.L86:
	cmp	DWORD PTR -176[rbp], 1
	jg	.L87
	cmp	DWORD PTR -176[rbp], 0
	jg	.L88
.L87:
	mov	DWORD PTR -404[rbp], -1073741823
	mov	DWORD PTR -324[rbp], 0
	mov	edx, DWORD PTR -320[rbp]
	mov	ecx, DWORD PTR -424[rbp]
	mov	eax, DWORD PTR -404[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	AG_SetStatusAndReturn
	mov	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -172[rbp]
	mov	DWORD PTR -400[rbp], eax
	mov	DWORD PTR -396[rbp], 1
	jmp	.L85
.L88:
	mov	DWORD PTR -312[rbp], 10
	mov	DWORD PTR -304[rbp], 10
	mov	ecx, DWORD PTR -188[rbp]
	mov	edx, DWORD PTR -184[rbp]
	mov	esi, DWORD PTR -300[rbp]
	mov	eax, DWORD PTR -380[rbp]
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -404[rbp], eax
	cmp	DWORD PTR -404[rbp], 0
	js	.L89
	mov	eax, DWORD PTR -188[rbp]
	mov	DWORD PTR -324[rbp], eax
	jmp	.L66
.L89:
	mov	DWORD PTR -324[rbp], 0
	jmp	.L66
.L85:
	jmp	.L66
.L83:
	mov	DWORD PTR -168[rbp], 24
	mov	DWORD PTR -164[rbp], 16384
	mov	DWORD PTR -160[rbp], 131072
	mov	DWORD PTR -156[rbp], 147456
	mov	DWORD PTR -152[rbp], 147480
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jl	.L90
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jg	.L90
	mov	eax, DWORD PTR -376[rbp]
	mov	DWORD PTR -148[rbp], eax
	mov	DWORD PTR -324[rbp], 0
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -140[rbp]
	jge	.L91
	mov	DWORD PTR -404[rbp], -1073741820
	jmp	.L66
.L91:
	mov	DWORD PTR -312[rbp], 10
	mov	DWORD PTR -304[rbp], 10
	mov	esi, DWORD PTR -300[rbp]
	mov	eax, DWORD PTR -380[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -404[rbp], eax
	jmp	.L66
.L90:
	mov	DWORD PTR -136[rbp], 4
	mov	DWORD PTR -132[rbp], 16384
	mov	DWORD PTR -128[rbp], 131072
	mov	DWORD PTR -124[rbp], 147456
	mov	DWORD PTR -120[rbp], 147460
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -120[rbp]
	jl	.L93
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -120[rbp]
	jg	.L93
	mov	eax, DWORD PTR -376[rbp]
	mov	DWORD PTR -116[rbp], eax
	mov	DWORD PTR -324[rbp], 0
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	jge	.L94
	mov	DWORD PTR -404[rbp], -1073741820
	jmp	.L66
.L94:
	mov	DWORD PTR -312[rbp], 10
	mov	DWORD PTR -304[rbp], 10
	mov	esi, DWORD PTR -300[rbp]
	mov	eax, DWORD PTR -380[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -404[rbp], eax
	jmp	.L66
.L93:
	mov	DWORD PTR -108[rbp], 2056
	mov	DWORD PTR -104[rbp], 16384
	mov	DWORD PTR -100[rbp], 131072
	mov	DWORD PTR -96[rbp], 147456
	mov	DWORD PTR -92[rbp], 149512
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -92[rbp]
	jl	.L96
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -92[rbp]
	jg	.L96
	mov	DWORD PTR -324[rbp], 0
	mov	DWORD PTR -312[rbp], 10
	mov	DWORD PTR -304[rbp], 10
	mov	esi, DWORD PTR -300[rbp]
	mov	eax, DWORD PTR -380[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -404[rbp], eax
	jmp	.L66
.L96:
	mov	DWORD PTR -88[rbp], 52
	mov	DWORD PTR -84[rbp], 16384
	mov	DWORD PTR -80[rbp], 131072
	mov	DWORD PTR -76[rbp], 147456
	mov	DWORD PTR -72[rbp], 147508
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jl	.L97
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jg	.L97
	mov	DWORD PTR -324[rbp], 0
	mov	DWORD PTR -404[rbp], -1073741808
	jmp	.L66
.L97:
	mov	DWORD PTR -68[rbp], 20
	mov	DWORD PTR -64[rbp], 16384
	mov	DWORD PTR -60[rbp], 131072
	mov	DWORD PTR -56[rbp], 147456
	mov	DWORD PTR -52[rbp], 147476
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jl	.L98
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jg	.L98
	mov	DWORD PTR -324[rbp], 0
	mov	DWORD PTR -404[rbp], -1073741808
	jmp	.L66
.L98:
	mov	DWORD PTR -48[rbp], 40
	mov	DWORD PTR -44[rbp], 16384
	mov	DWORD PTR -40[rbp], 131072
	mov	DWORD PTR -36[rbp], 147456
	mov	DWORD PTR -32[rbp], 147496
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jl	.L99
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jg	.L99
	mov	DWORD PTR -324[rbp], 0
	mov	DWORD PTR -404[rbp], -1073741808
	jmp	.L66
.L99:
	mov	DWORD PTR -28[rbp], 2048
	mov	DWORD PTR -24[rbp], 16384
	mov	DWORD PTR -20[rbp], 131072
	mov	DWORD PTR -16[rbp], 147456
	mov	DWORD PTR -12[rbp], 149504
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jl	.L100
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jg	.L100
	mov	eax, DWORD PTR -420[rbp]
	mov	edi, eax
	call	CdAudioIsPlayActive
	jmp	.L66
.L100:
	mov	edx, DWORD PTR -424[rbp]
	mov	eax, DWORD PTR -420[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioSendToNextDriver
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -400[rbp], eax
	mov	DWORD PTR -396[rbp], 1
	jmp	.L66
.L103:
	nop
	jmp	.L66
.L104:
	nop
.L66:
	cmp	DWORD PTR -396[rbp], 0
	jg	.L101
	mov	edx, DWORD PTR -320[rbp]
	mov	ecx, DWORD PTR -424[rbp]
	mov	eax, DWORD PTR -404[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	AG_SetStatusAndReturn
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -400[rbp], eax
.L101:
	mov	eax, DWORD PTR -400[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	CdAudio535DeviceControl, .-CdAudio535DeviceControl
	.globl	AG_SetStatusAndReturn
	.type	AG_SetStatusAndReturn, @function
AG_SetStatusAndReturn:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	AG_SetStatusAndReturn, .-AG_SetStatusAndReturn
	.globl	CdAudio435DeviceControl
	.type	CdAudio435DeviceControl, @function
CdAudio435DeviceControl:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 480
	mov	DWORD PTR -468[rbp], edi
	mov	DWORD PTR -472[rbp], esi
	mov	DWORD PTR -444[rbp], 0
	mov	DWORD PTR -440[rbp], 16384
	mov	DWORD PTR -436[rbp], 131072
	mov	DWORD PTR -432[rbp], 147456
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -432[rbp]
	jl	.L108
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -432[rbp]
	jg	.L108
	mov	eax, DWORD PTR -424[rbp]
	cmp	eax, DWORD PTR -420[rbp]
	jge	.L109
	mov	DWORD PTR -452[rbp], -1073741789
	mov	DWORD PTR -408[rbp], 0
	jmp	.L176
.L109:
	mov	eax, DWORD PTR -468[rbp]
	mov	edi, eax
	call	CdAudioIsPlayActive
	mov	DWORD PTR -416[rbp], eax
	cmp	DWORD PTR -416[rbp], 0
	jg	.L111
	cmp	DWORD PTR -416[rbp], 0
	jns	.L112
.L111:
	mov	DWORD PTR -452[rbp], -2147483631
	mov	DWORD PTR -408[rbp], 0
	jmp	.L110
.L112:
	cmp	DWORD PTR -412[rbp], 0
	js	.L113
	cmp	DWORD PTR -412[rbp], 0
	jg	.L113
	mov	DWORD PTR -452[rbp], -1073741670
	mov	DWORD PTR -408[rbp], 0
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -404[rbp], eax
	cmp	DWORD PTR -404[rbp], -2147483626
	jl	.L114
	cmp	DWORD PTR -404[rbp], -2147483625
	jge	.L114
	mov	DWORD PTR -408[rbp], 0
.L114:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L110
.L113:
	mov	DWORD PTR -400[rbp], 10
	mov	DWORD PTR -396[rbp], 10
	mov	ecx, DWORD PTR -384[rbp]
	mov	edx, DWORD PTR -412[rbp]
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	cmp	DWORD PTR -452[rbp], 0
	jns	.L115
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -380[rbp], eax
	cmp	DWORD PTR -380[rbp], -1073741763
	jge	.L116
	cmp	DWORD PTR -380[rbp], -1073741764
	jge	.L117
.L116:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -376[rbp], eax
	cmp	DWORD PTR -376[rbp], -1073741763
	jge	.L118
	cmp	DWORD PTR -376[rbp], -1073741764
	jge	.L175
.L118:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -372[rbp], eax
	cmp	DWORD PTR -372[rbp], -2147483626
	jl	.L120
	cmp	DWORD PTR -372[rbp], -2147483625
	jge	.L120
	mov	DWORD PTR -408[rbp], 0
.L120:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L175
.L117:
	mov	DWORD PTR -452[rbp], 0
	jmp	.L122
.L115:
	mov	DWORD PTR -452[rbp], 0
	jmp	.L122
.L175:
	nop
.L122:
	cmp	DWORD PTR -444[rbp], 0
	jg	.L176
	mov	eax, DWORD PTR -424[rbp]
	cmp	eax, DWORD PTR -384[rbp]
	jle	.L123
	mov	eax, DWORD PTR -384[rbp]
	mov	DWORD PTR -368[rbp], eax
	jmp	.L124
.L123:
	mov	eax, DWORD PTR -424[rbp]
	mov	DWORD PTR -368[rbp], eax
.L124:
	mov	eax, DWORD PTR -364[rbp]
	sub	eax, DWORD PTR -360[rbp]
	mov	DWORD PTR -356[rbp], eax
	mov	eax, DWORD PTR -356[rbp]
	add	eax, 1
	mov	DWORD PTR -352[rbp], eax
	mov	eax, DWORD PTR -424[rbp]
	sub	eax, DWORD PTR -420[rbp]
	mov	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -348[rbp]
	cmp	eax, DWORD PTR -352[rbp]
	jge	.L125
	mov	eax, DWORD PTR -348[rbp]
	mov	DWORD PTR -344[rbp], eax
	jmp	.L126
.L125:
	mov	eax, DWORD PTR -352[rbp]
	mov	DWORD PTR -344[rbp], eax
.L126:
	mov	eax, DWORD PTR -348[rbp]
	cmp	eax, DWORD PTR -352[rbp]
	jle	.L176
	add	DWORD PTR -340[rbp], 1
	jmp	.L176
.L110:
	jmp	.L176
.L108:
	mov	DWORD PTR -336[rbp], 24
	mov	DWORD PTR -332[rbp], 16384
	mov	DWORD PTR -328[rbp], 131072
	mov	DWORD PTR -324[rbp], 147456
	mov	DWORD PTR -320[rbp], 147480
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -320[rbp]
	jl	.L128
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -320[rbp]
	jg	.L128
	mov	DWORD PTR -408[rbp], 0
	mov	DWORD PTR -396[rbp], 10
	mov	DWORD PTR -400[rbp], 10
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	mov	DWORD PTR -316[rbp], 8
	mov	DWORD PTR -312[rbp], 16384
	mov	DWORD PTR -308[rbp], 131072
	mov	DWORD PTR -304[rbp], 147456
	mov	DWORD PTR -300[rbp], 147464
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -300[rbp]
	jl	.L129
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -300[rbp]
	jg	.L129
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -296[rbp], eax
	cmp	DWORD PTR -296[rbp], -2147483626
	jl	.L130
	cmp	DWORD PTR -296[rbp], -2147483625
	jge	.L130
	mov	DWORD PTR -408[rbp], 0
.L130:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L127
.L129:
	mov	eax, DWORD PTR -292[rbp]
	cmp	eax, DWORD PTR -288[rbp]
	jge	.L132
	mov	DWORD PTR -452[rbp], -1073741820
	jmp	.L127
.L132:
	mov	DWORD PTR -396[rbp], 10
	mov	DWORD PTR -400[rbp], 10
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	jmp	.L127
.L128:
	mov	DWORD PTR -284[rbp], 8
	mov	DWORD PTR -280[rbp], 16384
	mov	DWORD PTR -276[rbp], 131072
	mov	DWORD PTR -272[rbp], 147456
	mov	DWORD PTR -268[rbp], 147464
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -268[rbp]
	jl	.L133
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -268[rbp]
	jg	.L133
	mov	DWORD PTR -408[rbp], 0
	mov	DWORD PTR -396[rbp], 10
	mov	DWORD PTR -400[rbp], 10
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	mov	DWORD PTR -316[rbp], 8
	mov	DWORD PTR -312[rbp], 16384
	mov	DWORD PTR -308[rbp], 131072
	mov	DWORD PTR -304[rbp], 147456
	mov	DWORD PTR -300[rbp], 147464
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -300[rbp]
	jl	.L134
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -300[rbp]
	jg	.L134
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -296[rbp], eax
	cmp	DWORD PTR -296[rbp], -2147483626
	jl	.L135
	cmp	DWORD PTR -296[rbp], -2147483625
	jge	.L135
	mov	DWORD PTR -408[rbp], 0
.L135:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L127
.L134:
	mov	eax, DWORD PTR -292[rbp]
	cmp	eax, DWORD PTR -288[rbp]
	jge	.L137
	mov	DWORD PTR -452[rbp], -1073741820
	jmp	.L127
.L137:
	mov	DWORD PTR -396[rbp], 10
	mov	DWORD PTR -400[rbp], 10
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	jmp	.L127
.L133:
	mov	DWORD PTR -264[rbp], 4
	mov	DWORD PTR -260[rbp], 16384
	mov	DWORD PTR -256[rbp], 131072
	mov	DWORD PTR -252[rbp], 147456
	mov	DWORD PTR -248[rbp], 147460
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -248[rbp]
	jl	.L138
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -248[rbp]
	jg	.L138
	mov	DWORD PTR -408[rbp], 0
	mov	eax, DWORD PTR -292[rbp]
	cmp	eax, DWORD PTR -244[rbp]
	jge	.L139
	mov	DWORD PTR -452[rbp], -1073741820
	jmp	.L177
.L139:
	mov	DWORD PTR -396[rbp], 10
	mov	DWORD PTR -400[rbp], 10
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	cmp	DWORD PTR -452[rbp], 0
	jns	.L177
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -240[rbp], eax
	cmp	DWORD PTR -240[rbp], -1073741808
	jl	.L177
	cmp	DWORD PTR -240[rbp], -1073741807
	jge	.L177
	mov	DWORD PTR -452[rbp], -1073741803
	jmp	.L177
.L138:
	mov	DWORD PTR -236[rbp], 12
	mov	DWORD PTR -232[rbp], 16384
	mov	DWORD PTR -228[rbp], 131072
	mov	DWORD PTR -224[rbp], 147456
	mov	DWORD PTR -220[rbp], 147468
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -220[rbp]
	jl	.L141
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -220[rbp]
	jg	.L141
	mov	DWORD PTR -408[rbp], 0
	cmp	DWORD PTR -216[rbp], 0
	js	.L142
	cmp	DWORD PTR -216[rbp], 0
	jg	.L142
	mov	DWORD PTR -452[rbp], -1073741670
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -212[rbp], -2147483626
	jl	.L143
	cmp	DWORD PTR -212[rbp], -2147483625
	jge	.L143
	mov	DWORD PTR -408[rbp], 0
.L143:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L144
.L142:
	cmp	DWORD PTR -208[rbp], 0
	jle	.L145
	cmp	DWORD PTR -208[rbp], 1
	jg	.L145
	mov	DWORD PTR -452[rbp], 0
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -204[rbp], eax
	cmp	DWORD PTR -204[rbp], -2147483626
	jl	.L146
	cmp	DWORD PTR -204[rbp], -2147483625
	jge	.L146
	mov	DWORD PTR -408[rbp], 0
.L146:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L144
.L145:
	mov	DWORD PTR -396[rbp], 10
	mov	DWORD PTR -400[rbp], 10
	mov	ecx, DWORD PTR -200[rbp]
	mov	edx, DWORD PTR -216[rbp]
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	cmp	DWORD PTR -452[rbp], 0
	jns	.L147
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -192[rbp], eax
	cmp	DWORD PTR -192[rbp], -2147483626
	jl	.L148
	cmp	DWORD PTR -192[rbp], -2147483625
	jge	.L148
	mov	DWORD PTR -408[rbp], 0
.L148:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L178
.L147:
	mov	DWORD PTR -396[rbp], 10
	mov	DWORD PTR -400[rbp], 10
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	cmp	DWORD PTR -452[rbp], 0
	jns	.L178
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -196[rbp], eax
	cmp	DWORD PTR -196[rbp], -2147483626
	jl	.L149
	cmp	DWORD PTR -196[rbp], -2147483625
	jge	.L149
	mov	DWORD PTR -408[rbp], 0
.L149:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L178
.L144:
	jmp	.L178
.L141:
	mov	DWORD PTR -188[rbp], 16
	mov	DWORD PTR -184[rbp], 16384
	mov	DWORD PTR -180[rbp], 131072
	mov	DWORD PTR -176[rbp], 147456
	mov	DWORD PTR -172[rbp], 147472
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jl	.L150
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jg	.L150
	mov	DWORD PTR -408[rbp], 0
	cmp	DWORD PTR -208[rbp], 0
	js	.L151
	cmp	DWORD PTR -208[rbp], 0
	jg	.L151
	mov	DWORD PTR -452[rbp], -1073741823
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -168[rbp], eax
	cmp	DWORD PTR -168[rbp], -2147483626
	jl	.L152
	cmp	DWORD PTR -168[rbp], -2147483625
	jge	.L152
	mov	DWORD PTR -408[rbp], 0
.L152:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L179
.L151:
	mov	DWORD PTR -396[rbp], 10
	mov	DWORD PTR -400[rbp], 10
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	cmp	DWORD PTR -452[rbp], 0
	js	.L179
	mov	DWORD PTR -164[rbp], 1
	mov	DWORD PTR -208[rbp], 0
	jmp	.L179
.L150:
	mov	DWORD PTR -160[rbp], 44
	mov	DWORD PTR -156[rbp], 16384
	mov	DWORD PTR -152[rbp], 131072
	mov	DWORD PTR -148[rbp], 147456
	mov	DWORD PTR -144[rbp], 147500
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -144[rbp]
	jl	.L154
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -144[rbp]
	jg	.L154
	mov	eax, DWORD PTR -424[rbp]
	cmp	eax, DWORD PTR -140[rbp]
	jge	.L155
	mov	DWORD PTR -452[rbp], -1073741789
	mov	DWORD PTR -408[rbp], 0
	jmp	.L127
.L155:
	cmp	DWORD PTR -136[rbp], 0
	js	.L157
	cmp	DWORD PTR -136[rbp], 0
	jg	.L157
	mov	DWORD PTR -452[rbp], -1073741670
	mov	DWORD PTR -408[rbp], 0
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -132[rbp], -2147483626
	jl	.L158
	cmp	DWORD PTR -132[rbp], -2147483625
	jge	.L158
	mov	DWORD PTR -408[rbp], 0
.L158:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L156
.L157:
	cmp	DWORD PTR -128[rbp], 1
	jg	.L159
	cmp	DWORD PTR -128[rbp], 0
	jg	.L160
.L159:
	mov	DWORD PTR -452[rbp], -1073741823
	mov	DWORD PTR -408[rbp], 0
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -124[rbp], eax
	cmp	DWORD PTR -124[rbp], -2147483626
	jl	.L161
	cmp	DWORD PTR -124[rbp], -2147483625
	jge	.L161
	mov	DWORD PTR -408[rbp], 0
.L161:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L156
.L160:
	mov	DWORD PTR -396[rbp], 10
	mov	DWORD PTR -400[rbp], 10
	mov	ecx, DWORD PTR -200[rbp]
	mov	edx, DWORD PTR -136[rbp]
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	cmp	DWORD PTR -452[rbp], 0
	js	.L162
	cmp	DWORD PTR -208[rbp], 0
	jle	.L163
	cmp	DWORD PTR -208[rbp], 1
	jg	.L163
	mov	DWORD PTR -164[rbp], 0
.L163:
	mov	eax, DWORD PTR -140[rbp]
	mov	DWORD PTR -408[rbp], eax
	jmp	.L127
.L162:
	mov	DWORD PTR -408[rbp], 0
	jmp	.L127
.L156:
	jmp	.L127
.L154:
	mov	DWORD PTR -120[rbp], 2056
	mov	DWORD PTR -116[rbp], 16384
	mov	DWORD PTR -112[rbp], 131072
	mov	DWORD PTR -108[rbp], 147456
	mov	DWORD PTR -104[rbp], 149512
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -104[rbp]
	jl	.L164
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -104[rbp]
	jg	.L164
	mov	DWORD PTR -408[rbp], 0
	mov	DWORD PTR -396[rbp], 10
	mov	DWORD PTR -400[rbp], 10
	mov	esi, DWORD PTR -388[rbp]
	mov	eax, DWORD PTR -392[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -452[rbp], eax
	jmp	.L127
.L164:
	mov	DWORD PTR -100[rbp], 52
	mov	DWORD PTR -96[rbp], 16384
	mov	DWORD PTR -92[rbp], 131072
	mov	DWORD PTR -88[rbp], 147456
	mov	DWORD PTR -84[rbp], 147508
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -84[rbp]
	jl	.L165
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -84[rbp]
	jg	.L165
	mov	DWORD PTR -408[rbp], 0
	mov	DWORD PTR -452[rbp], -1073741808
	jmp	.L127
.L165:
	mov	DWORD PTR -80[rbp], 20
	mov	DWORD PTR -76[rbp], 16384
	mov	DWORD PTR -72[rbp], 131072
	mov	DWORD PTR -68[rbp], 147456
	mov	DWORD PTR -64[rbp], 147476
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jl	.L166
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jg	.L166
	mov	DWORD PTR -408[rbp], 0
	mov	DWORD PTR -452[rbp], -1073741808
	jmp	.L127
.L166:
	mov	DWORD PTR -60[rbp], 40
	mov	DWORD PTR -56[rbp], 16384
	mov	DWORD PTR -52[rbp], 131072
	mov	DWORD PTR -48[rbp], 147456
	mov	DWORD PTR -44[rbp], 147496
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jl	.L167
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jg	.L167
	mov	DWORD PTR -408[rbp], 0
	mov	DWORD PTR -452[rbp], -1073741808
	jmp	.L127
.L167:
	mov	DWORD PTR -40[rbp], 2048
	mov	DWORD PTR -36[rbp], 16384
	mov	DWORD PTR -32[rbp], 131072
	mov	DWORD PTR -28[rbp], 147456
	mov	DWORD PTR -24[rbp], 149504
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L168
	mov	eax, DWORD PTR -428[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jg	.L168
	mov	eax, DWORD PTR -468[rbp]
	mov	edi, eax
	call	CdAudioIsPlayActive
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jle	.L169
	cmp	DWORD PTR -20[rbp], 1
	jg	.L169
	mov	DWORD PTR -164[rbp], 1
	mov	DWORD PTR -452[rbp], 0
	mov	DWORD PTR -408[rbp], 0
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], -2147483626
	jl	.L170
	cmp	DWORD PTR -16[rbp], -2147483625
	jge	.L170
	mov	DWORD PTR -408[rbp], 0
.L170:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L127
.L169:
	mov	DWORD PTR -164[rbp], 0
	mov	edx, DWORD PTR -472[rbp]
	mov	eax, DWORD PTR -468[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioSendToNextDriver
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L127
.L168:
	mov	edx, DWORD PTR -472[rbp]
	mov	eax, DWORD PTR -468[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioSendToNextDriver
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	DWORD PTR -444[rbp], 1
	jmp	.L127
.L176:
	nop
	jmp	.L127
.L177:
	nop
	jmp	.L127
.L178:
	nop
	jmp	.L127
.L179:
	nop
.L127:
	cmp	DWORD PTR -444[rbp], 0
	jg	.L172
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -2147483626
	jl	.L173
	cmp	DWORD PTR -4[rbp], -2147483625
	jge	.L173
	mov	DWORD PTR -408[rbp], 0
.L173:
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -472[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -452[rbp]
	mov	DWORD PTR -448[rbp], eax
.L172:
	mov	eax, DWORD PTR -448[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	CdAudio435DeviceControl, .-CdAudio435DeviceControl
	.globl	CdAudioAtapiDeviceControl
	.type	CdAudioAtapiDeviceControl, @function
CdAudioAtapiDeviceControl:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	DWORD PTR -88[rbp], esi
	mov	DWORD PTR -60[rbp], 0
	mov	DWORD PTR -56[rbp], 8
	mov	DWORD PTR -52[rbp], 16384
	mov	DWORD PTR -48[rbp], 131072
	mov	DWORD PTR -44[rbp], 147456
	mov	DWORD PTR -40[rbp], 147464
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jl	.L181
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jg	.L181
	mov	DWORD PTR -32[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 12
	mov	DWORD PTR -20[rbp], 10
	mov	esi, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -16[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	SendSrbSynchronous
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jns	.L183
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -88[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	DWORD PTR -60[rbp], 1
	jmp	.L183
.L181:
	mov	edx, DWORD PTR -88[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioSendToNextDriver
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	DWORD PTR -60[rbp], 1
.L183:
	cmp	DWORD PTR -60[rbp], 0
	jg	.L184
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	eax, DWORD PTR -88[rbp]
	mov	esi, 0
	mov	edi, eax
	call	IofCompleteRequest
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
.L184:
	mov	eax, DWORD PTR -64[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	CdAudioAtapiDeviceControl, .-CdAudioAtapiDeviceControl
	.globl	HpCdrProcessLastSession
	.type	HpCdrProcessLastSession, @function
HpCdrProcessLastSession:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -4[rbp], 0
	jg	.L187
	cmp	DWORD PTR -4[rbp], 0
	jns	.L190
.L187:
	sub	DWORD PTR -4[rbp], 1
	nop
.L190:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	HpCdrProcessLastSession, .-HpCdrProcessLastSession
	.globl	HPCdrCompletion
	.type	HPCdrCompletion, @function
HPCdrCompletion:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	cmp	DWORD PTR -8[rbp], 0
	jg	.L192
	cmp	DWORD PTR -8[rbp], 0
	jns	.L193
.L192:
	mov	edx, DWORD PTR safety[rip]
	mov	eax, DWORD PTR pended[rip]
	add	eax, edx
	mov	DWORD PTR safety[rip], eax
	mov	DWORD PTR pended[rip], 1
.L193:
	mov	eax, DWORD PTR myStatus[rip]
	test	eax, eax
	js	.L194
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	HpCdrProcessLastSession
.L194:
	mov	eax, DWORD PTR myStatus[rip]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	HPCdrCompletion, .-HPCdrCompletion
	.globl	CdAudioHPCdrDeviceControl
	.type	CdAudioHPCdrDeviceControl, @function
CdAudioHPCdrDeviceControl:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	mov	DWORD PTR -40[rbp], 56
	mov	DWORD PTR -36[rbp], 16384
	mov	DWORD PTR -32[rbp], 131072
	mov	DWORD PTR -28[rbp], 147456
	mov	DWORD PTR -24[rbp], 147512
	mov	DWORD PTR -44[rbp], -1073741823
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L197
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jg	.L197
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR NP[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	mov	edx, DWORD PTR safety[rip]
	mov	eax, DWORD PTR compRegistered[rip]
	add	eax, edx
	mov	DWORD PTR safety[rip], eax
	mov	DWORD PTR compRegistered[rip], 1
	mov	DWORD PTR routine[rip], 0
	mov	DWORD PTR -16[rbp], 224
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	edi, eax
	call	IofCallDriver
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -44[rbp], eax
	jmp	.L198
.L197:
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioSendToNextDriver
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -44[rbp], eax
.L198:
	mov	eax, DWORD PTR -44[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	CdAudioHPCdrDeviceControl, .-CdAudioHPCdrDeviceControl
	.globl	CdAudioForwardIrpSynchronous
	.type	CdAudioForwardIrpSynchronous, @function
CdAudioForwardIrpSynchronous:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR NP[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	mov	edx, DWORD PTR safety[rip]
	mov	eax, DWORD PTR compRegistered[rip]
	add	eax, edx
	mov	DWORD PTR safety[rip], eax
	mov	DWORD PTR compRegistered[rip], 1
	mov	DWORD PTR routine[rip], 1
	mov	DWORD PTR -12[rbp], 224
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	IofCallDriver
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -16[rbp], 259
	cmp	DWORD PTR -16[rbp], 0
	jg	.L201
	cmp	DWORD PTR -16[rbp], 0
	jns	.L202
.L201:
	mov	edx, DWORD PTR KernelMode[rip]
	mov	esi, DWORD PTR Executive[rip]
	mov	eax, DWORD PTR -4[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	edi, eax
	call	KeWaitForSingleObject
	mov	eax, DWORD PTR myStatus[rip]
	mov	DWORD PTR -16[rbp], eax
.L202:
	mov	eax, DWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	CdAudioForwardIrpSynchronous, .-CdAudioForwardIrpSynchronous
	.globl	CdAudioUnload
	.type	CdAudioUnload, @function
CdAudioUnload:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	CdAudioUnload, .-CdAudioUnload
	.globl	CdAudioPower
	.type	CdAudioPower, @function
CdAudioPower:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR NP[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	mov	eax, DWORD PTR SKIP1[rip]
	mov	DWORD PTR s[rip], eax
	add	DWORD PTR -16[rbp], 1
	add	DWORD PTR -12[rbp], 1
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	PoCallDriver
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	CdAudioPower, .-CdAudioPower
	.globl	stub_driver_init
	.type	stub_driver_init, @function
stub_driver_init:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	DWORD PTR customIrp[rip], 0
	mov	eax, DWORD PTR customIrp[rip]
	mov	DWORD PTR setEventCalled[rip], eax
	mov	eax, DWORD PTR setEventCalled[rip]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	mov	eax, DWORD PTR lowerDriverReturn[rip]
	mov	DWORD PTR compRegistered[rip], eax
	mov	eax, DWORD PTR compRegistered[rip]
	mov	DWORD PTR compFptr[rip], eax
	mov	eax, DWORD PTR compFptr[rip]
	mov	DWORD PTR pended[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	stub_driver_init, .-stub_driver_init
	.globl	main
	.type	main, @function
main:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR safety[rip], 0
	mov	DWORD PTR s[rip], 0
	mov	DWORD PTR UNLOADED[rip], 0
	mov	DWORD PTR NP[rip], 0
	mov	DWORD PTR DC[rip], 0
	mov	DWORD PTR SKIP1[rip], 0
	mov	DWORD PTR SKIP2[rip], 0
	mov	DWORD PTR MPR1[rip], 0
	mov	DWORD PTR MPR3[rip], 0
	mov	DWORD PTR IPC[rip], 0
	mov	DWORD PTR pended[rip], 0
	mov	DWORD PTR compFptr[rip], 0
	mov	DWORD PTR compRegistered[rip], 0
	mov	DWORD PTR lowerDriverReturn[rip], 0
	mov	DWORD PTR setEventCalled[rip], 0
	mov	DWORD PTR customIrp[rip], 0
	mov	DWORD PTR routine[rip], 0
	mov	DWORD PTR myStatus[rip], 0
	mov	DWORD PTR pirp[rip], 0
	mov	DWORD PTR Executive[rip], 0
	mov	DWORD PTR Suspended[rip], 5
	mov	DWORD PTR KernelMode[rip], 0
	mov	DWORD PTR DeviceUsageTypePaging[rip], 1
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR pirp[rip], eax
	call	_BLAST_init
	cmp	DWORD PTR -48[rbp], 0
	js	.L211
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	DWORD PTR customIrp[rip], 0
	mov	eax, DWORD PTR customIrp[rip]
	mov	DWORD PTR setEventCalled[rip], eax
	mov	eax, DWORD PTR setEventCalled[rip]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	mov	eax, DWORD PTR lowerDriverReturn[rip]
	mov	DWORD PTR compRegistered[rip], eax
	mov	eax, DWORD PTR compRegistered[rip]
	mov	DWORD PTR compFptr[rip], eax
	mov	eax, DWORD PTR compFptr[rip]
	mov	DWORD PTR pended[rip], eax
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR myStatus[rip], 0
	cmp	DWORD PTR -32[rbp], 0
	js	.L212
	cmp	DWORD PTR -32[rbp], 0
	jg	.L212
	mov	DWORD PTR -36[rbp], -1073741637
	mov	DWORD PTR myStatus[rip], -1073741637
.L212:
	call	stub_driver_init
	cmp	DWORD PTR -48[rbp], 0
	jns	.L213
	mov	DWORD PTR -12[rbp], -1
	mov	DWORD PTR -44[rbp], 1
	jmp	.L211
.L213:
	mov	eax, 0
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 1
	jle	.L214
	cmp	DWORD PTR -28[rbp], 2
	jg	.L214
	mov	edx, DWORD PTR pirp[rip]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioDeviceControl
	mov	DWORD PTR -48[rbp], eax
	jmp	.L215
.L214:
	mov	eax, 0
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 2
	jle	.L216
	cmp	DWORD PTR -20[rbp], 3
	jg	.L216
	mov	edx, DWORD PTR pirp[rip]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioPnp
	mov	DWORD PTR -48[rbp], eax
	jmp	.L215
.L216:
	mov	eax, 0
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 3
	jle	.L217
	cmp	DWORD PTR -16[rbp], 4
	jg	.L217
	mov	edx, DWORD PTR pirp[rip]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	CdAudioPower
	mov	DWORD PTR -48[rbp], eax
	jmp	.L215
.L217:
	mov	DWORD PTR -12[rbp], -1
	mov	DWORD PTR -44[rbp], 1
.L215:
	cmp	DWORD PTR -44[rbp], 0
	jg	.L211
	cmp	DWORD PTR -8[rbp], 0
	jg	.L218
	cmp	DWORD PTR -8[rbp], 0
	jns	.L211
.L218:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	CdAudioUnload
.L211:
	cmp	DWORD PTR -44[rbp], 0
	jg	.L219
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jle	.L220
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L220
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jl	.L221
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jg	.L221
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	jmp	.L222
.L221:
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jle	.L223
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L223
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR3[rip]
	cmp	edx, eax
	jl	.L224
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR3[rip]
	cmp	edx, eax
	jg	.L224
	mov	eax, DWORD PTR MPR3[rip]
	mov	DWORD PTR s[rip], eax
	jmp	.L225
.L224:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR UNLOADED[rip]
	cmp	edx, eax
	jg	.L226
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR UNLOADED[rip]
	cmp	edx, eax
	jge	.L277
.L226:
	cmp	DWORD PTR -48[rbp], 0
	jns	.L227
	cmp	DWORD PTR -48[rbp], -1
	jge	.L277
.L227:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP2[rip]
	cmp	edx, eax
	jg	.L228
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP2[rip]
	cmp	edx, eax
	jge	.L229
.L228:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR IPC[rip]
	cmp	edx, eax
	jg	.L230
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR IPC[rip]
	cmp	edx, eax
	jge	.L231
.L230:
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR DC[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
.L231:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L232
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jg	.L278
.L232:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jg	.L234
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jge	.L278
.L234:
	mov	edx, DWORD PTR lowerDriverReturn[rip]
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	jmp	.L278
.L229:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L235
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jg	.L277
.L235:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jg	.L236
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jge	.L277
.L236:
	mov	edx, DWORD PTR lowerDriverReturn[rip]
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	jmp	.L277
.L278:
	nop
.L225:
	jmp	.L277
.L223:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR UNLOADED[rip]
	cmp	edx, eax
	jg	.L237
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR UNLOADED[rip]
	cmp	edx, eax
	jge	.L279
.L237:
	cmp	DWORD PTR -48[rbp], 0
	jns	.L238
	cmp	DWORD PTR -48[rbp], -1
	jge	.L279
.L238:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP2[rip]
	cmp	edx, eax
	jg	.L239
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP2[rip]
	cmp	edx, eax
	jge	.L240
.L239:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR IPC[rip]
	cmp	edx, eax
	jg	.L241
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR IPC[rip]
	cmp	edx, eax
	jge	.L242
.L241:
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR DC[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
.L242:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L243
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jg	.L280
.L243:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jg	.L245
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jge	.L280
.L245:
	mov	edx, DWORD PTR lowerDriverReturn[rip]
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	jmp	.L280
.L240:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L246
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jg	.L279
.L246:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jg	.L247
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jge	.L279
.L247:
	mov	edx, DWORD PTR lowerDriverReturn[rip]
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	jmp	.L279
.L277:
	nop
	jmp	.L279
.L280:
	nop
.L222:
	jmp	.L279
.L220:
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jle	.L249
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L249
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR3[rip]
	cmp	edx, eax
	jl	.L250
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR3[rip]
	cmp	edx, eax
	jg	.L250
	mov	eax, DWORD PTR MPR3[rip]
	mov	DWORD PTR s[rip], eax
	jmp	.L251
.L250:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR UNLOADED[rip]
	cmp	edx, eax
	jg	.L252
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR UNLOADED[rip]
	cmp	edx, eax
	jge	.L281
.L252:
	cmp	DWORD PTR -48[rbp], 0
	jns	.L253
	cmp	DWORD PTR -48[rbp], -1
	jge	.L281
.L253:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP2[rip]
	cmp	edx, eax
	jg	.L254
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP2[rip]
	cmp	edx, eax
	jge	.L255
.L254:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR IPC[rip]
	cmp	edx, eax
	jg	.L256
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR IPC[rip]
	cmp	edx, eax
	jge	.L257
.L256:
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR DC[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
.L257:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L258
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jg	.L282
.L258:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jg	.L260
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jge	.L282
.L260:
	mov	edx, DWORD PTR lowerDriverReturn[rip]
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	jmp	.L282
.L255:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L261
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jg	.L281
.L261:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jg	.L262
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jge	.L281
.L262:
	mov	edx, DWORD PTR lowerDriverReturn[rip]
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	jmp	.L281
.L282:
	nop
.L251:
	jmp	.L281
.L249:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR UNLOADED[rip]
	cmp	edx, eax
	jg	.L263
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR UNLOADED[rip]
	cmp	edx, eax
	jge	.L248
.L263:
	cmp	DWORD PTR -48[rbp], 0
	jns	.L264
	cmp	DWORD PTR -48[rbp], -1
	jge	.L248
.L264:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP2[rip]
	cmp	edx, eax
	jg	.L265
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP2[rip]
	cmp	edx, eax
	jge	.L266
.L265:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR IPC[rip]
	cmp	edx, eax
	jg	.L267
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR IPC[rip]
	cmp	edx, eax
	jge	.L268
.L267:
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR DC[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
.L268:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L269
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jg	.L283
.L269:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jg	.L271
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jge	.L283
.L271:
	mov	edx, DWORD PTR lowerDriverReturn[rip]
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	jmp	.L283
.L266:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jg	.L272
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jg	.L248
.L272:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jg	.L273
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jge	.L248
.L273:
	mov	edx, DWORD PTR lowerDriverReturn[rip]
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	jmp	.L248
.L279:
	nop
	jmp	.L248
.L281:
	nop
	jmp	.L248
.L283:
	nop
.L248:
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -12[rbp], eax
.L219:
	mov	eax, DWORD PTR safety[rip]
	test	eax, eax
	je	.L284
	nop
	jmp	.L210
.L275:
.L284:
	nop
.L210:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	main, .-main
	.globl	stubMoreProcessingRequired
	.type	stubMoreProcessingRequired, @function
stubMoreProcessingRequired:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR NP[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	mov	eax, DWORD PTR MPR1[rip]
	mov	DWORD PTR s[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	stubMoreProcessingRequired, .-stubMoreProcessingRequired
	.globl	IofCallDriver
	.type	IofCallDriver, @function
IofCallDriver:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	eax, DWORD PTR compRegistered[rip]
	test	eax, eax
	jg	.L288
	mov	eax, DWORD PTR compRegistered[rip]
	test	eax, eax
	jns	.L289
.L288:
	mov	eax, DWORD PTR routine[rip]
	test	eax, eax
	js	.L290
	mov	eax, DWORD PTR routine[rip]
	test	eax, eax
	jg	.L290
	mov	edx, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	HPCdrCompletion
	mov	DWORD PTR -24[rbp], eax
	jmp	.L291
.L290:
	mov	eax, DWORD PTR routine[rip]
	test	eax, eax
	jle	.L291
	mov	eax, DWORD PTR routine[rip]
	cmp	eax, 1
	jg	.L291
	mov	edx, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	CdAudioSignalCompletion
	mov	DWORD PTR -24[rbp], eax
.L291:
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], -1073741802
	jl	.L289
	cmp	DWORD PTR -16[rbp], -1073741801
	jge	.L289
	call	stubMoreProcessingRequired
.L289:
	cmp	DWORD PTR -12[rbp], 0
	jg	.L292
	cmp	DWORD PTR -12[rbp], 0
	jns	.L293
.L292:
	mov	DWORD PTR -28[rbp], 259
	jmp	.L294
.L293:
	mov	eax, 0
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	js	.L295
	cmp	DWORD PTR -8[rbp], 0
	jg	.L295
	mov	DWORD PTR -28[rbp], 0
	jmp	.L294
.L295:
	mov	eax, 0
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jle	.L296
	cmp	DWORD PTR -4[rbp], 1
	jg	.L296
	mov	DWORD PTR -28[rbp], -1073741823
	jmp	.L294
.L296:
	mov	DWORD PTR -28[rbp], 259
.L294:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jl	.L297
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jg	.L297
	mov	eax, DWORD PTR IPC[rip]
	mov	DWORD PTR s[rip], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L298
.L297:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR1[rip]
	cmp	edx, eax
	jl	.L299
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR1[rip]
	cmp	edx, eax
	jg	.L299
	cmp	DWORD PTR -28[rbp], 258
	jle	.L300
	cmp	DWORD PTR -28[rbp], 259
	jg	.L300
	mov	eax, DWORD PTR MPR3[rip]
	mov	DWORD PTR s[rip], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L298
.L300:
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L298
.L299:
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR SKIP1[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	mov	eax, DWORD PTR SKIP2[rip]
	mov	DWORD PTR s[rip], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
.L298:
	mov	eax, DWORD PTR -28[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	IofCallDriver, .-IofCallDriver
	.globl	IofCompleteRequest
	.type	IofCompleteRequest, @function
IofCompleteRequest:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR NP[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	mov	eax, DWORD PTR DC[rip]
	mov	DWORD PTR s[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	IofCompleteRequest, .-IofCompleteRequest
	.globl	KeSetEvent
	.type	KeSetEvent, @function
KeSetEvent:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	mov	DWORD PTR setEventCalled[rip], 1
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	KeSetEvent, .-KeSetEvent
	.globl	KeWaitForSingleObject
	.type	KeWaitForSingleObject, @function
KeWaitForSingleObject:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	mov	DWORD PTR -32[rbp], ecx
	mov	DWORD PTR -36[rbp], r8d
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR3[rip]
	cmp	edx, eax
	jl	.L308
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR3[rip]
	cmp	edx, eax
	jg	.L308
	mov	eax, DWORD PTR setEventCalled[rip]
	test	eax, eax
	jle	.L309
	mov	eax, DWORD PTR setEventCalled[rip]
	cmp	eax, 1
	jg	.L309
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	DWORD PTR setEventCalled[rip], 0
	jmp	.L315
.L309:
	mov	eax, DWORD PTR customIrp[rip]
	test	eax, eax
	jle	.L315
	mov	eax, DWORD PTR customIrp[rip]
	cmp	eax, 1
	jg	.L315
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	DWORD PTR customIrp[rip], 0
	jmp	.L315
.L308:
	mov	eax, DWORD PTR customIrp[rip]
	test	eax, eax
	jle	.L311
	mov	eax, DWORD PTR customIrp[rip]
	cmp	eax, 1
	jg	.L311
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	DWORD PTR customIrp[rip], 0
	jmp	.L311
.L315:
	nop
.L311:
	mov	eax, 0
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L312
	cmp	DWORD PTR -4[rbp], 0
	jg	.L312
	mov	DWORD PTR -8[rbp], 0
	jmp	.L313
.L312:
	mov	DWORD PTR -8[rbp], -1073741823
.L313:
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	KeWaitForSingleObject, .-KeWaitForSingleObject
	.globl	PoCallDriver
	.type	PoCallDriver, @function
PoCallDriver:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	eax, DWORD PTR compRegistered[rip]
	test	eax, eax
	jg	.L317
	mov	eax, DWORD PTR compRegistered[rip]
	test	eax, eax
	jns	.L318
.L317:
	mov	eax, DWORD PTR routine[rip]
	test	eax, eax
	js	.L319
	mov	eax, DWORD PTR routine[rip]
	test	eax, eax
	jg	.L319
	mov	edx, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	HPCdrCompletion
	mov	DWORD PTR -28[rbp], eax
	jmp	.L320
.L319:
	mov	eax, DWORD PTR routine[rip]
	test	eax, eax
	jle	.L320
	mov	eax, DWORD PTR routine[rip]
	cmp	eax, 1
	jg	.L320
	mov	edx, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	CdAudioSignalCompletion
	mov	DWORD PTR -28[rbp], eax
.L320:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], -1073741802
	jl	.L318
	cmp	DWORD PTR -16[rbp], -1073741801
	jge	.L318
	call	stubMoreProcessingRequired
.L318:
	mov	eax, 0
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	js	.L321
	cmp	DWORD PTR -12[rbp], 0
	jg	.L321
	mov	DWORD PTR -24[rbp], 0
	jmp	.L322
.L321:
	mov	eax, 0
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	jle	.L323
	cmp	DWORD PTR -8[rbp], 1
	jg	.L323
	mov	DWORD PTR -24[rbp], -1073741823
	jmp	.L322
.L323:
	mov	DWORD PTR -24[rbp], 259
.L322:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jl	.L324
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jg	.L324
	mov	eax, DWORD PTR IPC[rip]
	mov	DWORD PTR s[rip], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L325
.L324:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR1[rip]
	cmp	edx, eax
	jl	.L326
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR1[rip]
	cmp	edx, eax
	jg	.L326
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 258
	jle	.L327
	cmp	DWORD PTR -4[rbp], 259
	jg	.L327
	mov	eax, DWORD PTR MPR3[rip]
	mov	DWORD PTR s[rip], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L325
.L327:
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L325
.L326:
	mov	eax, DWORD PTR s[rip]
	mov	edx, DWORD PTR SKIP1[rip]
	sub	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR safety[rip]
	add	eax, ecx
	mov	DWORD PTR safety[rip], eax
	mov	eax, DWORD PTR SKIP2[rip]
	mov	DWORD PTR s[rip], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
.L325:
	mov	eax, DWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	PoCallDriver, .-PoCallDriver
	.globl	ZwClose
	.type	ZwClose, @function
ZwClose:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, 0
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L331
	cmp	DWORD PTR -4[rbp], 0
	jg	.L331
	mov	DWORD PTR -8[rbp], 0
	jmp	.L332
.L331:
	mov	DWORD PTR -8[rbp], -1073741823
.L332:
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	ZwClose, .-ZwClose
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"413571.c"
	.text
	.comm	s,4,4
	.comm	UNLOADED,4,4
	.comm	NP,4,4
	.comm	DC,4,4
	.comm	SKIP1,4,4
	.comm	SKIP2,4,4
	.comm	MPR1,4,4
	.comm	MPR3,4,4
	.comm	IPC,4,4
	.comm	pended,4,4
	.comm	compFptr,4,4
	.comm	compRegistered,4,4
	.comm	lowerDriverReturn,4,4
	.comm	setEventCalled,4,4
	.comm	customIrp,4,4
	.comm	routine,4,4
	.comm	myStatus,4,4
	.comm	pirp,4,4
	.comm	Executive,4,4
	.comm	Suspended,4,4
	.comm	KernelMode,4,4
	.comm	DeviceUsageTypePaging,4,4
	.comm	safety,4,4
	.align	2
	.global	_BLAST_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	_BLAST_init, %function
_BLAST_init:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+4
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L3+8
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L3+12
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L3+16
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L3+20
	mov	r2, #5
	str	r2, [r3]
	ldr	r3, .L3+24
	mov	r2, #6
	str	r2, [r3]
	ldr	r3, .L3+28
	mov	r2, #7
	str	r2, [r3]
	ldr	r3, .L3
	ldr	r3, [r3]
	ldr	r2, .L3+32
	str	r3, [r2]
	ldr	r3, .L3+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+48
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+52
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+56
	mov	r2, #0
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L4:
	.align	2
.L3:
	.word	UNLOADED
	.word	NP
	.word	DC
	.word	SKIP1
	.word	SKIP2
	.word	MPR1
	.word	MPR3
	.word	IPC
	.word	s
	.word	pended
	.word	compFptr
	.word	compRegistered
	.word	lowerDriverReturn
	.word	setEventCalled
	.word	customIrp
	.size	_BLAST_init, .-_BLAST_init
	.align	2
	.global	SendSrbSynchronous
	.syntax unified
	.arm
	.fpu softvfp
	.type	SendSrbSynchronous, %function
SendSrbSynchronous:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bgt	.L6
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bge	.L7
.L6:
	ldr	r3, .L13
	str	r3, [fp, #-32]
	mov	r3, #49152
	str	r3, [fp, #-28]
	mov	r3, #262144
	str	r3, [fp, #-24]
	mov	r3, #311296
	str	r3, [fp, #-20]
	ldr	r3, .L13+4
	str	r3, [fp, #-36]
	b	.L8
.L7:
	ldr	r3, .L13+8
	str	r3, [fp, #-52]
	mov	r3, #49152
	str	r3, [fp, #-48]
	mov	r3, #262144
	str	r3, [fp, #-44]
	mov	r3, #311296
	str	r3, [fp, #-40]
	ldr	r3, .L13+12
	str	r3, [fp, #-36]
.L8:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	blt	.L9
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bgt	.L9
	ldr	r3, .L13+16
	str	r3, [fp, #-60]
	b	.L10
.L9:
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, .L13+20
	cmp	r3, r2
	ble	.L11
	ldr	r3, [fp, #-16]
	cmp	r3, #260
	bge	.L11
	ldr	r3, .L13+24
	ldr	r1, [r3]
	ldr	r3, .L13+28
	ldr	r2, [r3]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-12]
	bl	KeWaitForSingleObject
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-64]
.L11:
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-60]
.L10:
	ldr	r3, [fp, #-60]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L14:
	.align	2
.L13:
	.word	4116
	.word	315412
	.word	4100
	.word	315396
	.word	-1073741670
	.word	258
	.word	Executive
	.word	KernelMode
	.size	SendSrbSynchronous, .-SendSrbSynchronous
	.align	2
	.global	CdAudioSignalCompletion
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioSignalCompletion, %function
CdAudioSignalCompletion:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	KeSetEvent
	mov	r3, #-1073741802
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CdAudioSignalCompletion, .-CdAudioSignalCompletion
	.align	2
	.global	CdAudioStartDevice
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioStartDevice, %function
CdAudioStartDevice:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	CdAudioForwardIrpSynchronous
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bge	.L18
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	b	.L19
.L18:
	ldr	r3, [fp, #-44]
	cmp	r3, #254
	ble	.L20
	ldr	r3, [fp, #-44]
	cmp	r3, #255
	bgt	.L20
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L21
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L21
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L20
.L21:
	mov	r3, #-1073741823
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bge	.L22
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L20
.L22:
	mov	r3, #0
	str	r3, [fp, #-44]
.L20:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bgt	.L19
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bge	.L23
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L19
.L23:
	ldr	r0, [fp, #-8]
	bl	ZwClose
	mov	r3, #0
	str	r3, [fp, #-36]
.L19:
	ldr	r3, [fp, #-36]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CdAudioStartDevice, .-CdAudioStartDevice
	.align	2
	.global	CdAudioPnp
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioPnp, %function
CdAudioPnp:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	ldr	r3, .L40
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	blt	.L26
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bgt	.L26
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	CdAudioStartDevice
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-32]
	ldr	r2, .L40+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-68]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-52]
	b	.L27
.L26:
	ldr	r3, [fp, #-36]
	cmp	r3, #21
	ble	.L28
	ldr	r3, [fp, #-36]
	cmp	r3, #22
	bgt	.L28
	ldr	r3, .L40+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bgt	.L29
	ldr	r3, .L40+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bge	.L30
.L29:
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-52]
	b	.L27
.L30:
	ldr	r3, .L40+12
	ldr	r1, [r3]
	ldr	r3, .L40+16
	ldr	r2, [r3]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-24]
	bl	KeWaitForSingleObject
	str	r0, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L32
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L33
.L32:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bgt	.L34
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L39
.L34:
	mov	r3, #1
	str	r3, [fp, #-56]
	b	.L39
.L33:
	mov	r3, #1
	str	r3, [fp, #-56]
	b	.L36
.L39:
	nop
.L36:
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	CdAudioForwardIrpSynchronous
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bge	.L37
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	ble	.L37
	ldr	r3, [fp, #-56]
	cmp	r3, #1
	bgt	.L37
	mov	r3, #0
	str	r3, [fp, #-56]
.L37:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	KeSetEvent
	mov	r1, #0
	ldr	r0, [fp, #-68]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-52]
	b	.L27
.L28:
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-52]
.L27:
	ldr	r3, [fp, #-52]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L41:
	.align	2
.L40:
	.word	-1073741637
	.word	myStatus
	.word	DeviceUsageTypePaging
	.word	Executive
	.word	KernelMode
	.size	CdAudioPnp, .-CdAudioPnp
	.align	2
	.global	CdAudioDeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioDeviceControl, %function
CdAudioDeviceControl:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	ble	.L43
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bgt	.L43
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudio535DeviceControl
	str	r0, [fp, #-12]
	b	.L44
.L43:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	ble	.L45
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bgt	.L45
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudio435DeviceControl
	str	r0, [fp, #-12]
	b	.L44
.L45:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L46
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bgt	.L46
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudioAtapiDeviceControl
	str	r0, [fp, #-12]
	b	.L44
.L46:
	ldr	r3, [fp, #-8]
	cmp	r3, #6
	ble	.L47
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	bgt	.L47
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudioHPCdrDeviceControl
	str	r0, [fp, #-12]
	b	.L44
.L47:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-12]
.L44:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CdAudioDeviceControl, .-CdAudioDeviceControl
	.align	2
	.global	CdAudioSendToNextDriver
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioSendToNextDriver, %function
CdAudioSendToNextDriver:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L51
	ldr	r2, [r3]
	ldr	r3, .L51+4
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L51+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L51+8
	str	r3, [r2]
	ldr	r3, .L51+12
	ldr	r3, [r3]
	ldr	r2, .L51
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-12]
	bl	IofCallDriver
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L52:
	.align	2
.L51:
	.word	s
	.word	NP
	.word	safety
	.word	SKIP1
	.size	CdAudioSendToNextDriver, .-CdAudioSendToNextDriver
	.align	2
	.global	CdAudioIsPlayActive
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioIsPlayActive, %function
CdAudioIsPlayActive:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	blt	.L54
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bgt	.L54
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L55
.L54:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L56
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bgt	.L56
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L55
.L56:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L57
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bgt	.L57
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L55
.L57:
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, .L63
	cmp	r3, r2
	ble	.L58
	ldr	r3, [fp, #-20]
	cmp	r3, #260
	bge	.L58
	ldr	r3, .L63+4
	ldr	r1, [r3]
	ldr	r3, .L63+8
	ldr	r2, [r3]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-16]
	bl	KeWaitForSingleObject
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-44]
.L58:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bge	.L59
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L55
.L59:
	ldr	r3, [fp, #-8]
	cmp	r3, #16
	ble	.L60
	ldr	r3, [fp, #-8]
	cmp	r3, #17
	bgt	.L60
	mov	r3, #1
	str	r3, [fp, #-40]
	b	.L61
.L60:
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-32]
.L61:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
.L55:
	ldr	r3, [fp, #-36]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L64:
	.align	2
.L63:
	.word	258
	.word	Suspended
	.word	KernelMode
	.size	CdAudioIsPlayActive, .-CdAudioIsPlayActive
	.align	2
	.global	CdAudio535DeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudio535DeviceControl, %function
CdAudio535DeviceControl:
	@ args = 0, pretend = 0, frame = 416
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #416
	str	r0, [fp, #-416]
	str	r1, [fp, #-420]
	mov	r3, #0
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-396]
	str	r3, [fp, #-392]
	ldr	r3, [fp, #-388]
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-380]
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-372]
	str	r3, [fp, #-368]
	mov	r3, #56
	str	r3, [fp, #-364]
	mov	r3, #16384
	str	r3, [fp, #-360]
	mov	r3, #131072
	str	r3, [fp, #-356]
	mov	r3, #147456
	str	r3, [fp, #-352]
	ldr	r3, .L115
	str	r3, [fp, #-348]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-348]
	cmp	r2, r3
	blt	.L66
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-348]
	cmp	r2, r3
	bgt	.L66
	ldr	r0, [fp, #-416]
	bl	CdAudioIsPlayActive
	str	r0, [fp, #-340]
	ldr	r3, [fp, #-340]
	cmp	r3, #0
	bgt	.L67
	ldr	r3, [fp, #-340]
	cmp	r3, #0
	bge	.L68
.L67:
	mov	r3, #-2147483631
	str	r3, [fp, #-408]
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L69
.L68:
	ldr	r3, [fp, #-336]
	cmp	r3, #0
	bgt	.L70
	ldr	r3, [fp, #-336]
	cmp	r3, #0
	bge	.L71
.L70:
	mov	r3, #-1073741789
	str	r3, [fp, #-408]
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L69
.L71:
	ldr	r3, [fp, #-332]
	cmp	r3, #0
	blt	.L72
	ldr	r3, [fp, #-332]
	cmp	r3, #0
	bgt	.L72
	ldr	r3, .L115+4
	str	r3, [fp, #-408]
	mov	r3, #0
	str	r3, [fp, #-328]
	ldr	r2, [fp, #-324]
	ldr	r1, [fp, #-420]
	ldr	r0, [fp, #-408]
	bl	AG_SetStatusAndReturn
	str	r0, [fp, #-320]
	ldr	r3, [fp, #-320]
	str	r3, [fp, #-404]
	mov	r3, #1
	str	r3, [fp, #-400]
	b	.L69
.L72:
	mov	r3, #10
	str	r3, [fp, #-316]
	mov	r3, #38
	str	r3, [fp, #-312]
	mov	r3, #10
	str	r3, [fp, #-308]
	ldr	r3, [fp, #-300]
	ldr	r2, [fp, #-332]
	ldr	r1, [fp, #-304]
	ldr	r0, [fp, #-384]
	bl	SendSrbSynchronous
	str	r0, [fp, #-408]
	ldr	r3, [fp, #-408]
	cmp	r3, #0
	bge	.L73
	mov	r3, #0
	str	r3, [fp, #-328]
	ldr	r2, [fp, #-324]
	ldr	r1, [fp, #-420]
	ldr	r0, [fp, #-408]
	bl	AG_SetStatusAndReturn
	str	r0, [fp, #-296]
	ldr	r3, [fp, #-296]
	str	r3, [fp, #-404]
	mov	r3, #1
	str	r3, [fp, #-400]
	b	.L74
.L73:
	mov	r3, #0
	str	r3, [fp, #-408]
.L74:
	ldr	r3, [fp, #-400]
	cmp	r3, #0
	bgt	.L113
	ldr	r3, [fp, #-292]
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-288]
	cmp	r3, #0
	blt	.L75
	ldr	r3, [fp, #-288]
	cmp	r3, #0
	ble	.L69
.L75:
	mov	r3, #1
	str	r3, [fp, #-284]
	mov	r3, #2
	str	r3, [fp, #-280]
	b	.L113
.L69:
	b	.L113
.L66:
	mov	r3, #16384
	str	r3, [fp, #-276]
	mov	r3, #131072
	str	r3, [fp, #-272]
	mov	r3, #147456
	str	r3, [fp, #-268]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-268]
	cmp	r2, r3
	blt	.L77
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-268]
	cmp	r2, r3
	bgt	.L77
	ldr	r3, [fp, #-336]
	cmp	r3, #0
	bgt	.L78
	ldr	r3, [fp, #-336]
	cmp	r3, #0
	bge	.L79
.L78:
	mov	r3, #-1073741789
	str	r3, [fp, #-408]
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L80
.L79:
	ldr	r0, [fp, #-416]
	bl	CdAudioIsPlayActive
	str	r0, [fp, #-264]
	ldr	r3, [fp, #-264]
	cmp	r3, #0
	bgt	.L81
	ldr	r3, [fp, #-264]
	cmp	r3, #0
	bge	.L82
.L81:
	mov	r3, #-2147483631
	str	r3, [fp, #-408]
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L80
.L82:
	ldr	r3, [fp, #-260]
	cmp	r3, #0
	blt	.L83
	ldr	r3, [fp, #-260]
	cmp	r3, #0
	bgt	.L83
	ldr	r3, .L115+4
	str	r3, [fp, #-408]
	mov	r3, #0
	str	r3, [fp, #-328]
	ldr	r2, [fp, #-324]
	ldr	r1, [fp, #-420]
	ldr	r0, [fp, #-408]
	bl	AG_SetStatusAndReturn
	str	r0, [fp, #-256]
	ldr	r3, [fp, #-256]
	str	r3, [fp, #-404]
	mov	r3, #1
	str	r3, [fp, #-400]
	b	.L80
.L83:
	mov	r3, #10
	str	r3, [fp, #-308]
	mov	r3, #10
	str	r3, [fp, #-316]
	ldr	r3, [fp, #-252]
	ldr	r2, [fp, #-260]
	ldr	r1, [fp, #-304]
	ldr	r0, [fp, #-384]
	bl	SendSrbSynchronous
	str	r0, [fp, #-408]
	ldr	r3, [fp, #-408]
	cmp	r3, #0
	blt	.L84
	ldr	r3, [fp, #-408]
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-240]
	cmp	r3, #-1073741763
	bge	.L85
	ldr	r3, [fp, #-240]
	cmp	r3, #-1073741764
	bge	.L86
.L85:
	mov	r3, #0
	str	r3, [fp, #-408]
	b	.L89
.L86:
	ldr	r3, [fp, #-408]
	str	r3, [fp, #-248]
	ldr	r3, [fp, #-248]
	cmp	r3, #-1073741763
	bge	.L88
	ldr	r3, [fp, #-248]
	cmp	r3, #-1073741764
	bge	.L89
.L88:
	mov	r3, #0
	str	r3, [fp, #-328]
	ldr	r2, [fp, #-324]
	ldr	r1, [fp, #-420]
	ldr	r0, [fp, #-408]
	bl	AG_SetStatusAndReturn
	str	r0, [fp, #-244]
	ldr	r3, [fp, #-244]
	str	r3, [fp, #-404]
	mov	r3, #1
	str	r3, [fp, #-400]
	b	.L89
.L84:
	ldr	r3, [fp, #-408]
	str	r3, [fp, #-248]
	ldr	r3, [fp, #-248]
	cmp	r3, #-1073741763
	bge	.L90
	ldr	r3, [fp, #-248]
	cmp	r3, #-1073741764
	bge	.L89
.L90:
	mov	r3, #0
	str	r3, [fp, #-328]
	ldr	r2, [fp, #-324]
	ldr	r1, [fp, #-420]
	ldr	r0, [fp, #-408]
	bl	AG_SetStatusAndReturn
	str	r0, [fp, #-244]
	ldr	r3, [fp, #-244]
	str	r3, [fp, #-404]
	mov	r3, #1
	str	r3, [fp, #-400]
.L89:
	ldr	r3, [fp, #-400]
	cmp	r3, #0
	bgt	.L114
	ldr	r2, [fp, #-280]
	ldr	r3, [fp, #-284]
	sub	r3, r2, r3
	str	r3, [fp, #-236]
	ldr	r3, [fp, #-236]
	add	r3, r3, #1
	str	r3, [fp, #-232]
	ldr	r3, [fp, #-336]
	str	r3, [fp, #-228]
	ldr	r2, [fp, #-228]
	ldr	r3, [fp, #-232]
	cmp	r2, r3
	bge	.L91
	ldr	r3, [fp, #-228]
	str	r3, [fp, #-224]
	b	.L92
.L91:
	ldr	r3, [fp, #-232]
	str	r3, [fp, #-224]
.L92:
	ldr	r2, [fp, #-228]
	ldr	r3, [fp, #-232]
	cmp	r2, r3
	ble	.L114
	ldr	r3, [fp, #-220]
	add	r3, r3, #1
	str	r3, [fp, #-220]
	b	.L114
.L80:
	b	.L114
.L77:
	mov	r3, #44
	str	r3, [fp, #-216]
	mov	r3, #16384
	str	r3, [fp, #-212]
	mov	r3, #131072
	str	r3, [fp, #-208]
	mov	r3, #147456
	str	r3, [fp, #-204]
	ldr	r3, .L115+8
	str	r3, [fp, #-200]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	blt	.L93
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	bgt	.L93
	ldr	r3, [fp, #-380]
	str	r3, [fp, #-196]
	ldr	r2, [fp, #-336]
	ldr	r3, [fp, #-192]
	cmp	r2, r3
	bge	.L94
	mov	r3, #-1073741789
	str	r3, [fp, #-408]
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L76
.L94:
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	blt	.L96
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	bgt	.L96
	ldr	r3, .L115+4
	str	r3, [fp, #-408]
	mov	r3, #0
	str	r3, [fp, #-328]
	ldr	r2, [fp, #-324]
	ldr	r1, [fp, #-420]
	ldr	r0, [fp, #-408]
	bl	AG_SetStatusAndReturn
	str	r0, [fp, #-184]
	ldr	r3, [fp, #-184]
	str	r3, [fp, #-404]
	mov	r3, #1
	str	r3, [fp, #-400]
	b	.L95
.L96:
	ldr	r3, [fp, #-180]
	cmp	r3, #1
	bgt	.L97
	ldr	r3, [fp, #-180]
	cmp	r3, #0
	bgt	.L98
.L97:
	mov	r3, #-1073741823
	str	r3, [fp, #-408]
	mov	r3, #0
	str	r3, [fp, #-328]
	ldr	r2, [fp, #-324]
	ldr	r1, [fp, #-420]
	ldr	r0, [fp, #-408]
	bl	AG_SetStatusAndReturn
	str	r0, [fp, #-176]
	ldr	r3, [fp, #-176]
	str	r3, [fp, #-404]
	mov	r3, #1
	str	r3, [fp, #-400]
	b	.L95
.L98:
	mov	r3, #10
	str	r3, [fp, #-316]
	mov	r3, #10
	str	r3, [fp, #-308]
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-188]
	ldr	r1, [fp, #-304]
	ldr	r0, [fp, #-384]
	bl	SendSrbSynchronous
	str	r0, [fp, #-408]
	ldr	r3, [fp, #-408]
	cmp	r3, #0
	blt	.L99
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-328]
	b	.L76
.L99:
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L76
.L95:
	b	.L76
.L93:
	mov	r3, #24
	str	r3, [fp, #-172]
	mov	r3, #16384
	str	r3, [fp, #-168]
	mov	r3, #131072
	str	r3, [fp, #-164]
	mov	r3, #147456
	str	r3, [fp, #-160]
	ldr	r3, .L115+12
	str	r3, [fp, #-156]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	blt	.L100
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	bgt	.L100
	ldr	r3, [fp, #-380]
	str	r3, [fp, #-152]
	mov	r3, #0
	str	r3, [fp, #-328]
	ldr	r2, [fp, #-148]
	ldr	r3, [fp, #-144]
	cmp	r2, r3
	bge	.L101
	mov	r3, #-1073741820
	str	r3, [fp, #-408]
	b	.L76
.L101:
	mov	r3, #10
	str	r3, [fp, #-316]
	mov	r3, #10
	str	r3, [fp, #-308]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-304]
	ldr	r0, [fp, #-384]
	bl	SendSrbSynchronous
	str	r0, [fp, #-408]
	b	.L76
.L100:
	mov	r3, #4
	str	r3, [fp, #-140]
	mov	r3, #16384
	str	r3, [fp, #-136]
	mov	r3, #131072
	str	r3, [fp, #-132]
	mov	r3, #147456
	str	r3, [fp, #-128]
	ldr	r3, .L115+16
	str	r3, [fp, #-124]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-124]
	cmp	r2, r3
	blt	.L103
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-124]
	cmp	r2, r3
	bgt	.L103
	ldr	r3, [fp, #-380]
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-328]
	ldr	r2, [fp, #-148]
	ldr	r3, [fp, #-116]
	cmp	r2, r3
	bge	.L104
	mov	r3, #-1073741820
	str	r3, [fp, #-408]
	b	.L76
.L104:
	mov	r3, #10
	str	r3, [fp, #-316]
	mov	r3, #10
	str	r3, [fp, #-308]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-304]
	ldr	r0, [fp, #-384]
	bl	SendSrbSynchronous
	str	r0, [fp, #-408]
	b	.L76
.L103:
	ldr	r3, .L115+20
	str	r3, [fp, #-112]
	mov	r3, #16384
	str	r3, [fp, #-108]
	mov	r3, #131072
	str	r3, [fp, #-104]
	mov	r3, #147456
	str	r3, [fp, #-100]
	ldr	r3, .L115+24
	str	r3, [fp, #-96]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L106
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	bgt	.L106
	mov	r3, #0
	str	r3, [fp, #-328]
	mov	r3, #10
	str	r3, [fp, #-316]
	mov	r3, #10
	str	r3, [fp, #-308]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-304]
	ldr	r0, [fp, #-384]
	bl	SendSrbSynchronous
	str	r0, [fp, #-408]
	b	.L76
.L106:
	mov	r3, #52
	str	r3, [fp, #-92]
	mov	r3, #16384
	str	r3, [fp, #-88]
	mov	r3, #131072
	str	r3, [fp, #-84]
	mov	r3, #147456
	str	r3, [fp, #-80]
	ldr	r3, .L115+28
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	blt	.L107
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bgt	.L107
	mov	r3, #0
	str	r3, [fp, #-328]
	mov	r3, #-1073741808
	str	r3, [fp, #-408]
	b	.L76
.L107:
	mov	r3, #20
	str	r3, [fp, #-72]
	mov	r3, #16384
	str	r3, [fp, #-68]
	mov	r3, #131072
	str	r3, [fp, #-64]
	mov	r3, #147456
	str	r3, [fp, #-60]
	ldr	r3, .L115+32
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L108
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	bgt	.L108
	mov	r3, #0
	str	r3, [fp, #-328]
	mov	r3, #-1073741808
	str	r3, [fp, #-408]
	b	.L76
.L108:
	mov	r3, #40
	str	r3, [fp, #-52]
	mov	r3, #16384
	str	r3, [fp, #-48]
	mov	r3, #131072
	str	r3, [fp, #-44]
	mov	r3, #147456
	str	r3, [fp, #-40]
	ldr	r3, .L115+36
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L109
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bgt	.L109
	mov	r3, #0
	str	r3, [fp, #-328]
	mov	r3, #-1073741808
	str	r3, [fp, #-408]
	b	.L76
.L109:
	mov	r3, #2048
	str	r3, [fp, #-32]
	mov	r3, #16384
	str	r3, [fp, #-28]
	mov	r3, #131072
	str	r3, [fp, #-24]
	mov	r3, #147456
	str	r3, [fp, #-20]
	mov	r3, #149504
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L110
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bgt	.L110
	ldr	r0, [fp, #-416]
	bl	CdAudioIsPlayActive
	b	.L76
.L110:
	ldr	r1, [fp, #-420]
	ldr	r0, [fp, #-416]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-404]
	mov	r3, #1
	str	r3, [fp, #-400]
	b	.L76
.L113:
	nop
	b	.L76
.L114:
	nop
.L76:
	ldr	r3, [fp, #-400]
	cmp	r3, #0
	bgt	.L111
	ldr	r2, [fp, #-324]
	ldr	r1, [fp, #-420]
	ldr	r0, [fp, #-408]
	bl	AG_SetStatusAndReturn
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-404]
.L111:
	ldr	r3, [fp, #-404]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L116:
	.align	2
.L115:
	.word	147512
	.word	-1073741670
	.word	147500
	.word	147480
	.word	147460
	.word	2056
	.word	149512
	.word	147508
	.word	147476
	.word	147496
	.size	CdAudio535DeviceControl, .-CdAudio535DeviceControl
	.align	2
	.global	AG_SetStatusAndReturn
	.syntax unified
	.arm
	.fpu softvfp
	.type	AG_SetStatusAndReturn, %function
AG_SetStatusAndReturn:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r2, .L119
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-20]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L120:
	.align	2
.L119:
	.word	myStatus
	.size	AG_SetStatusAndReturn, .-AG_SetStatusAndReturn
	.align	2
	.global	CdAudio435DeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudio435DeviceControl, %function
CdAudio435DeviceControl:
	@ args = 0, pretend = 0, frame = 464
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #464
	str	r0, [fp, #-464]
	str	r1, [fp, #-468]
	mov	r3, #0
	str	r3, [fp, #-448]
	mov	r3, #16384
	str	r3, [fp, #-444]
	mov	r3, #131072
	str	r3, [fp, #-440]
	mov	r3, #147456
	str	r3, [fp, #-436]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-436]
	cmp	r2, r3
	blt	.L122
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-436]
	cmp	r2, r3
	bgt	.L122
	ldr	r2, [fp, #-428]
	ldr	r3, [fp, #-424]
	cmp	r2, r3
	bge	.L123
	mov	r3, #-1073741789
	str	r3, [fp, #-456]
	mov	r3, #0
	str	r3, [fp, #-412]
	b	.L190
.L123:
	ldr	r0, [fp, #-464]
	bl	CdAudioIsPlayActive
	str	r0, [fp, #-420]
	ldr	r3, [fp, #-420]
	cmp	r3, #0
	bgt	.L125
	ldr	r3, [fp, #-420]
	cmp	r3, #0
	bge	.L126
.L125:
	mov	r3, #-2147483631
	str	r3, [fp, #-456]
	mov	r3, #0
	str	r3, [fp, #-412]
	b	.L124
.L126:
	ldr	r3, [fp, #-416]
	cmp	r3, #0
	blt	.L127
	ldr	r3, [fp, #-416]
	cmp	r3, #0
	bgt	.L127
	ldr	r3, .L194
	str	r3, [fp, #-456]
	mov	r3, #0
	str	r3, [fp, #-412]
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-408]
	ldr	r3, [fp, #-408]
	cmp	r3, #-2147483626
	blt	.L128
	ldr	r3, [fp, #-408]
	cmp	r3, #-2147483625
	bge	.L128
	mov	r3, #0
	str	r3, [fp, #-412]
.L128:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L124
.L127:
	mov	r3, #10
	str	r3, [fp, #-404]
	mov	r3, #10
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-388]
	ldr	r2, [fp, #-416]
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	ldr	r3, [fp, #-456]
	cmp	r3, #0
	bge	.L129
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-384]
	cmp	r3, #-1073741763
	bge	.L130
	ldr	r3, [fp, #-384]
	cmp	r3, #-1073741764
	bge	.L131
.L130:
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	cmp	r3, #-1073741763
	bge	.L132
	ldr	r3, [fp, #-380]
	cmp	r3, #-1073741764
	bge	.L189
.L132:
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-376]
	cmp	r3, #-2147483626
	blt	.L134
	ldr	r3, [fp, #-376]
	cmp	r3, #-2147483625
	bge	.L134
	mov	r3, #0
	str	r3, [fp, #-412]
.L134:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L189
.L131:
	mov	r3, #0
	str	r3, [fp, #-456]
	b	.L136
.L129:
	mov	r3, #0
	str	r3, [fp, #-456]
	b	.L136
.L189:
	nop
.L136:
	ldr	r3, [fp, #-448]
	cmp	r3, #0
	bgt	.L190
	ldr	r2, [fp, #-428]
	ldr	r3, [fp, #-388]
	cmp	r2, r3
	ble	.L137
	ldr	r3, [fp, #-388]
	str	r3, [fp, #-372]
	b	.L138
.L137:
	ldr	r3, [fp, #-428]
	str	r3, [fp, #-372]
.L138:
	ldr	r2, [fp, #-368]
	ldr	r3, [fp, #-364]
	sub	r3, r2, r3
	str	r3, [fp, #-360]
	ldr	r3, [fp, #-360]
	add	r3, r3, #1
	str	r3, [fp, #-356]
	ldr	r2, [fp, #-428]
	ldr	r3, [fp, #-424]
	sub	r3, r2, r3
	str	r3, [fp, #-352]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-356]
	cmp	r2, r3
	bge	.L139
	ldr	r3, [fp, #-352]
	str	r3, [fp, #-348]
	b	.L140
.L139:
	ldr	r3, [fp, #-356]
	str	r3, [fp, #-348]
.L140:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-356]
	cmp	r2, r3
	ble	.L190
	ldr	r3, [fp, #-344]
	add	r3, r3, #1
	str	r3, [fp, #-344]
	b	.L190
.L124:
	b	.L190
.L122:
	mov	r3, #24
	str	r3, [fp, #-340]
	mov	r3, #16384
	str	r3, [fp, #-336]
	mov	r3, #131072
	str	r3, [fp, #-332]
	mov	r3, #147456
	str	r3, [fp, #-328]
	ldr	r3, .L194+8
	str	r3, [fp, #-324]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-324]
	cmp	r2, r3
	blt	.L142
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-324]
	cmp	r2, r3
	bgt	.L142
	mov	r3, #0
	str	r3, [fp, #-412]
	mov	r3, #10
	str	r3, [fp, #-400]
	mov	r3, #10
	str	r3, [fp, #-404]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	mov	r3, #8
	str	r3, [fp, #-320]
	mov	r3, #16384
	str	r3, [fp, #-316]
	mov	r3, #131072
	str	r3, [fp, #-312]
	mov	r3, #147456
	str	r3, [fp, #-308]
	ldr	r3, .L194+12
	str	r3, [fp, #-304]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-304]
	cmp	r2, r3
	blt	.L143
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-304]
	cmp	r2, r3
	bgt	.L143
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-300]
	cmp	r3, #-2147483626
	blt	.L144
	ldr	r3, [fp, #-300]
	cmp	r3, #-2147483625
	bge	.L144
	mov	r3, #0
	str	r3, [fp, #-412]
.L144:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L141
.L143:
	ldr	r2, [fp, #-296]
	ldr	r3, [fp, #-292]
	cmp	r2, r3
	bge	.L146
	mov	r3, #-1073741820
	str	r3, [fp, #-456]
	b	.L141
.L146:
	mov	r3, #10
	str	r3, [fp, #-400]
	mov	r3, #10
	str	r3, [fp, #-404]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	b	.L141
.L142:
	mov	r3, #8
	str	r3, [fp, #-288]
	mov	r3, #16384
	str	r3, [fp, #-284]
	mov	r3, #131072
	str	r3, [fp, #-280]
	mov	r3, #147456
	str	r3, [fp, #-276]
	ldr	r3, .L194+12
	str	r3, [fp, #-272]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-272]
	cmp	r2, r3
	blt	.L147
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-272]
	cmp	r2, r3
	bgt	.L147
	mov	r3, #0
	str	r3, [fp, #-412]
	mov	r3, #10
	str	r3, [fp, #-400]
	mov	r3, #10
	str	r3, [fp, #-404]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	mov	r3, #8
	str	r3, [fp, #-320]
	mov	r3, #16384
	str	r3, [fp, #-316]
	mov	r3, #131072
	str	r3, [fp, #-312]
	mov	r3, #147456
	str	r3, [fp, #-308]
	ldr	r3, .L194+12
	str	r3, [fp, #-304]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-304]
	cmp	r2, r3
	blt	.L148
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-304]
	cmp	r2, r3
	bgt	.L148
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-300]
	cmp	r3, #-2147483626
	blt	.L149
	ldr	r3, [fp, #-300]
	cmp	r3, #-2147483625
	bge	.L149
	mov	r3, #0
	str	r3, [fp, #-412]
.L149:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L141
.L148:
	ldr	r2, [fp, #-296]
	ldr	r3, [fp, #-292]
	cmp	r2, r3
	bge	.L151
	mov	r3, #-1073741820
	str	r3, [fp, #-456]
	b	.L141
.L151:
	mov	r3, #10
	str	r3, [fp, #-400]
	mov	r3, #10
	str	r3, [fp, #-404]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	b	.L141
.L147:
	mov	r3, #4
	str	r3, [fp, #-268]
	mov	r3, #16384
	str	r3, [fp, #-264]
	mov	r3, #131072
	str	r3, [fp, #-260]
	mov	r3, #147456
	str	r3, [fp, #-256]
	ldr	r3, .L194+16
	str	r3, [fp, #-252]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	blt	.L152
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bgt	.L152
	mov	r3, #0
	str	r3, [fp, #-412]
	ldr	r2, [fp, #-296]
	ldr	r3, [fp, #-248]
	cmp	r2, r3
	bge	.L153
	mov	r3, #-1073741820
	str	r3, [fp, #-456]
	b	.L191
.L153:
	mov	r3, #10
	str	r3, [fp, #-400]
	mov	r3, #10
	str	r3, [fp, #-404]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	ldr	r3, [fp, #-456]
	cmp	r3, #0
	bge	.L191
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-244]
	cmp	r3, #-1073741808
	blt	.L191
	ldr	r3, [fp, #-244]
	cmp	r3, #-1073741807
	bge	.L191
	mov	r3, #-1073741803
	str	r3, [fp, #-456]
	b	.L191
.L152:
	mov	r3, #12
	str	r3, [fp, #-240]
	mov	r3, #16384
	str	r3, [fp, #-236]
	mov	r3, #131072
	str	r3, [fp, #-232]
	mov	r3, #147456
	str	r3, [fp, #-228]
	ldr	r3, .L194+20
	str	r3, [fp, #-224]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-224]
	cmp	r2, r3
	blt	.L155
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-224]
	cmp	r2, r3
	bgt	.L155
	mov	r3, #0
	str	r3, [fp, #-412]
	ldr	r3, [fp, #-220]
	cmp	r3, #0
	blt	.L156
	ldr	r3, [fp, #-220]
	cmp	r3, #0
	bgt	.L156
	ldr	r3, .L194
	str	r3, [fp, #-456]
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-216]
	ldr	r3, [fp, #-216]
	cmp	r3, #-2147483626
	blt	.L157
	ldr	r3, [fp, #-216]
	cmp	r3, #-2147483625
	bge	.L157
	mov	r3, #0
	str	r3, [fp, #-412]
.L157:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L158
.L156:
	ldr	r3, [fp, #-212]
	cmp	r3, #0
	ble	.L159
	ldr	r3, [fp, #-212]
	cmp	r3, #1
	bgt	.L159
	mov	r3, #0
	str	r3, [fp, #-456]
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-208]
	cmp	r3, #-2147483626
	blt	.L160
	ldr	r3, [fp, #-208]
	cmp	r3, #-2147483625
	bge	.L160
	mov	r3, #0
	str	r3, [fp, #-412]
.L160:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L158
.L159:
	mov	r3, #10
	str	r3, [fp, #-400]
	mov	r3, #10
	str	r3, [fp, #-404]
	ldr	r3, [fp, #-204]
	ldr	r2, [fp, #-220]
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	ldr	r3, [fp, #-456]
	cmp	r3, #0
	bge	.L161
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-196]
	cmp	r3, #-2147483626
	blt	.L162
	ldr	r3, [fp, #-196]
	cmp	r3, #-2147483625
	bge	.L162
	mov	r3, #0
	str	r3, [fp, #-412]
.L162:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L192
.L161:
	mov	r3, #10
	str	r3, [fp, #-400]
	mov	r3, #10
	str	r3, [fp, #-404]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	ldr	r3, [fp, #-456]
	cmp	r3, #0
	bge	.L192
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-200]
	cmp	r3, #-2147483626
	blt	.L163
	ldr	r3, [fp, #-200]
	cmp	r3, #-2147483625
	bge	.L163
	mov	r3, #0
	str	r3, [fp, #-412]
.L163:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L192
.L158:
	b	.L192
.L155:
	mov	r3, #16
	str	r3, [fp, #-192]
	mov	r3, #16384
	str	r3, [fp, #-188]
	mov	r3, #131072
	str	r3, [fp, #-184]
	mov	r3, #147456
	str	r3, [fp, #-180]
	ldr	r3, .L194+24
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-176]
	cmp	r2, r3
	blt	.L164
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-176]
	cmp	r2, r3
	bgt	.L164
	mov	r3, #0
	str	r3, [fp, #-412]
	ldr	r3, [fp, #-212]
	cmp	r3, #0
	blt	.L165
	ldr	r3, [fp, #-212]
	cmp	r3, #0
	bgt	.L165
	mov	r3, #-1073741823
	str	r3, [fp, #-456]
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-172]
	cmp	r3, #-2147483626
	blt	.L166
	ldr	r3, [fp, #-172]
	cmp	r3, #-2147483625
	bge	.L166
	mov	r3, #0
	str	r3, [fp, #-412]
.L166:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L193
.L165:
	mov	r3, #10
	str	r3, [fp, #-400]
	mov	r3, #10
	str	r3, [fp, #-404]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	ldr	r3, [fp, #-456]
	cmp	r3, #0
	blt	.L193
	mov	r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-212]
	b	.L193
.L164:
	mov	r3, #44
	str	r3, [fp, #-164]
	mov	r3, #16384
	str	r3, [fp, #-160]
	mov	r3, #131072
	str	r3, [fp, #-156]
	mov	r3, #147456
	str	r3, [fp, #-152]
	ldr	r3, .L194+28
	str	r3, [fp, #-148]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-148]
	cmp	r2, r3
	blt	.L168
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-148]
	cmp	r2, r3
	bgt	.L168
	ldr	r2, [fp, #-428]
	ldr	r3, [fp, #-144]
	cmp	r2, r3
	bge	.L169
	mov	r3, #-1073741789
	str	r3, [fp, #-456]
	mov	r3, #0
	str	r3, [fp, #-412]
	b	.L141
.L169:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	blt	.L171
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	bgt	.L171
	ldr	r3, .L194
	str	r3, [fp, #-456]
	mov	r3, #0
	str	r3, [fp, #-412]
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #-2147483626
	blt	.L172
	ldr	r3, [fp, #-136]
	cmp	r3, #-2147483625
	bge	.L172
	mov	r3, #0
	str	r3, [fp, #-412]
.L172:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L170
.L171:
	ldr	r3, [fp, #-132]
	cmp	r3, #1
	bgt	.L173
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	bgt	.L174
.L173:
	mov	r3, #-1073741823
	str	r3, [fp, #-456]
	mov	r3, #0
	str	r3, [fp, #-412]
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-128]
	cmp	r3, #-2147483626
	blt	.L175
	ldr	r3, [fp, #-128]
	cmp	r3, #-2147483625
	bge	.L175
	mov	r3, #0
	str	r3, [fp, #-412]
.L175:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L170
.L174:
	mov	r3, #10
	str	r3, [fp, #-400]
	mov	r3, #10
	str	r3, [fp, #-404]
	ldr	r3, [fp, #-204]
	ldr	r2, [fp, #-140]
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	ldr	r3, [fp, #-456]
	cmp	r3, #0
	blt	.L176
	ldr	r3, [fp, #-212]
	cmp	r3, #0
	ble	.L177
	ldr	r3, [fp, #-212]
	cmp	r3, #1
	bgt	.L177
	mov	r3, #0
	str	r3, [fp, #-168]
.L177:
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-412]
	b	.L141
.L176:
	mov	r3, #0
	str	r3, [fp, #-412]
	b	.L141
.L170:
	b	.L141
.L168:
	ldr	r3, .L194+32
	str	r3, [fp, #-124]
	mov	r3, #16384
	str	r3, [fp, #-120]
	mov	r3, #131072
	str	r3, [fp, #-116]
	mov	r3, #147456
	str	r3, [fp, #-112]
	ldr	r3, .L194+36
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-108]
	cmp	r2, r3
	blt	.L178
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-108]
	cmp	r2, r3
	bgt	.L178
	mov	r3, #0
	str	r3, [fp, #-412]
	mov	r3, #10
	str	r3, [fp, #-400]
	mov	r3, #10
	str	r3, [fp, #-404]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-396]
	bl	SendSrbSynchronous
	str	r0, [fp, #-456]
	b	.L141
.L178:
	mov	r3, #52
	str	r3, [fp, #-104]
	mov	r3, #16384
	str	r3, [fp, #-100]
	mov	r3, #131072
	str	r3, [fp, #-96]
	mov	r3, #147456
	str	r3, [fp, #-92]
	ldr	r3, .L194+40
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-88]
	cmp	r2, r3
	blt	.L179
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-88]
	cmp	r2, r3
	bgt	.L179
	mov	r3, #0
	str	r3, [fp, #-412]
	mov	r3, #-1073741808
	str	r3, [fp, #-456]
	b	.L141
.L179:
	mov	r3, #20
	str	r3, [fp, #-84]
	mov	r3, #16384
	str	r3, [fp, #-80]
	mov	r3, #131072
	str	r3, [fp, #-76]
	mov	r3, #147456
	str	r3, [fp, #-72]
	ldr	r3, .L194+44
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	blt	.L180
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bgt	.L180
	mov	r3, #0
	str	r3, [fp, #-412]
	mov	r3, #-1073741808
	str	r3, [fp, #-456]
	b	.L141
.L180:
	mov	r3, #40
	str	r3, [fp, #-64]
	mov	r3, #16384
	str	r3, [fp, #-60]
	mov	r3, #131072
	str	r3, [fp, #-56]
	mov	r3, #147456
	str	r3, [fp, #-52]
	ldr	r3, .L194+48
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	blt	.L181
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bgt	.L181
	mov	r3, #0
	str	r3, [fp, #-412]
	mov	r3, #-1073741808
	str	r3, [fp, #-456]
	b	.L141
.L181:
	mov	r3, #2048
	str	r3, [fp, #-44]
	mov	r3, #16384
	str	r3, [fp, #-40]
	mov	r3, #131072
	str	r3, [fp, #-36]
	mov	r3, #147456
	str	r3, [fp, #-32]
	mov	r3, #149504
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L182
	ldr	r2, [fp, #-432]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bgt	.L182
	ldr	r0, [fp, #-464]
	bl	CdAudioIsPlayActive
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L183
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bgt	.L183
	mov	r3, #1
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-456]
	mov	r3, #0
	str	r3, [fp, #-412]
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #-2147483626
	blt	.L184
	ldr	r3, [fp, #-20]
	cmp	r3, #-2147483625
	bge	.L184
	mov	r3, #0
	str	r3, [fp, #-412]
.L184:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L141
.L183:
	mov	r3, #0
	str	r3, [fp, #-168]
	ldr	r1, [fp, #-468]
	ldr	r0, [fp, #-464]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L141
.L182:
	ldr	r1, [fp, #-468]
	ldr	r0, [fp, #-464]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-452]
	mov	r3, #1
	str	r3, [fp, #-448]
	b	.L141
.L190:
	nop
	b	.L141
.L191:
	nop
	b	.L141
.L192:
	nop
	b	.L141
.L193:
	nop
.L141:
	ldr	r3, [fp, #-448]
	cmp	r3, #0
	bgt	.L186
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #-2147483626
	blt	.L187
	ldr	r3, [fp, #-8]
	cmp	r3, #-2147483625
	bge	.L187
	mov	r3, #0
	str	r3, [fp, #-412]
.L187:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-456]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-468]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-452]
.L186:
	ldr	r3, [fp, #-452]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L195:
	.align	2
.L194:
	.word	-1073741670
	.word	myStatus
	.word	147480
	.word	147464
	.word	147460
	.word	147468
	.word	147472
	.word	147500
	.word	2056
	.word	149512
	.word	147508
	.word	147476
	.word	147496
	.size	CdAudio435DeviceControl, .-CdAudio435DeviceControl
	.align	2
	.global	CdAudioAtapiDeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioAtapiDeviceControl, %function
CdAudioAtapiDeviceControl:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-80]
	str	r1, [fp, #-84]
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r3, #8
	str	r3, [fp, #-60]
	mov	r3, #16384
	str	r3, [fp, #-56]
	mov	r3, #131072
	str	r3, [fp, #-52]
	mov	r3, #147456
	str	r3, [fp, #-48]
	ldr	r3, .L202
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L197
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bgt	.L197
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #12
	str	r3, [fp, #-28]
	mov	r3, #10
	str	r3, [fp, #-24]
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	SendSrbSynchronous
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bge	.L199
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-12]
	ldr	r2, .L202+4
	ldr	r3, [fp, #-72]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-84]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-64]
	b	.L199
.L197:
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-64]
.L199:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bgt	.L200
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-12]
	ldr	r2, .L202+4
	ldr	r3, [fp, #-72]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-84]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
.L200:
	ldr	r3, [fp, #-68]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L203:
	.align	2
.L202:
	.word	147464
	.word	myStatus
	.size	CdAudioAtapiDeviceControl, .-CdAudioAtapiDeviceControl
	.align	2
	.global	HpCdrProcessLastSession
	.syntax unified
	.arm
	.fpu softvfp
	.type	HpCdrProcessLastSession, %function
HpCdrProcessLastSession:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bgt	.L205
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L208
.L205:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	nop
.L208:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	HpCdrProcessLastSession, .-HpCdrProcessLastSession
	.align	2
	.global	HPCdrCompletion
	.syntax unified
	.arm
	.fpu softvfp
	.type	HPCdrCompletion, %function
HPCdrCompletion:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L210
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L211
.L210:
	ldr	r3, .L214
	ldr	r2, [r3]
	ldr	r3, .L214+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L214
	str	r3, [r2]
	ldr	r3, .L214+4
	mov	r2, #1
	str	r2, [r3]
.L211:
	ldr	r3, .L214+8
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L212
	ldr	r0, [fp, #-8]
	bl	HpCdrProcessLastSession
.L212:
	ldr	r3, .L214+8
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L215:
	.align	2
.L214:
	.word	safety
	.word	pended
	.word	myStatus
	.size	HPCdrCompletion, .-HPCdrCompletion
	.align	2
	.global	CdAudioHPCdrDeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioHPCdrDeviceControl, %function
CdAudioHPCdrDeviceControl:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	mov	r3, #56
	str	r3, [fp, #-44]
	mov	r3, #16384
	str	r3, [fp, #-40]
	mov	r3, #131072
	str	r3, [fp, #-36]
	mov	r3, #147456
	str	r3, [fp, #-32]
	ldr	r3, .L220
	str	r3, [fp, #-28]
	mov	r3, #-1073741823
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L217
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bgt	.L217
	ldr	r3, .L220+4
	ldr	r2, [r3]
	ldr	r3, .L220+8
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L220+12
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L220+12
	str	r3, [r2]
	ldr	r3, .L220+12
	ldr	r2, [r3]
	ldr	r3, .L220+16
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L220+12
	str	r3, [r2]
	ldr	r3, .L220+16
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L220+20
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #224
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-16]
	bl	IofCallDriver
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-48]
	b	.L218
.L217:
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-48]
.L218:
	ldr	r3, [fp, #-48]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L221:
	.align	2
.L220:
	.word	147512
	.word	s
	.word	NP
	.word	safety
	.word	compRegistered
	.word	routine
	.size	CdAudioHPCdrDeviceControl, .-CdAudioHPCdrDeviceControl
	.align	2
	.global	CdAudioForwardIrpSynchronous
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioForwardIrpSynchronous, %function
CdAudioForwardIrpSynchronous:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L226
	ldr	r2, [r3]
	ldr	r3, .L226+4
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L226+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L226+8
	str	r3, [r2]
	ldr	r3, .L226+8
	ldr	r2, [r3]
	ldr	r3, .L226+12
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L226+8
	str	r3, [r2]
	ldr	r3, .L226+12
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L226+16
	mov	r2, #1
	str	r2, [r3]
	mov	r3, #224
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-12]
	bl	IofCallDriver
	str	r0, [fp, #-20]
	ldr	r3, .L226+20
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L223
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L224
.L223:
	ldr	r3, .L226+24
	ldr	r1, [r3]
	ldr	r3, .L226+28
	ldr	r2, [r3]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-8]
	bl	KeWaitForSingleObject
	ldr	r3, .L226+32
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L224:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L227:
	.align	2
.L226:
	.word	s
	.word	NP
	.word	safety
	.word	compRegistered
	.word	routine
	.word	259
	.word	Executive
	.word	KernelMode
	.word	myStatus
	.size	CdAudioForwardIrpSynchronous, .-CdAudioForwardIrpSynchronous
	.align	2
	.global	CdAudioUnload
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioUnload, %function
CdAudioUnload:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	CdAudioUnload, .-CdAudioUnload
	.align	2
	.global	CdAudioPower
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioPower, %function
CdAudioPower:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L232
	ldr	r2, [r3]
	ldr	r3, .L232+4
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L232+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L232+8
	str	r3, [r2]
	ldr	r3, .L232+12
	ldr	r3, [r3]
	ldr	r2, .L232
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-12]
	bl	PoCallDriver
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L233:
	.align	2
.L232:
	.word	s
	.word	NP
	.word	safety
	.word	SKIP1
	.size	CdAudioPower, .-CdAudioPower
	.align	2
	.global	stub_driver_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	stub_driver_init, %function
stub_driver_init:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L236
	ldr	r3, [r3]
	ldr	r2, .L236+4
	str	r3, [r2]
	ldr	r3, .L236+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L236+8
	ldr	r3, [r3]
	ldr	r2, .L236+12
	str	r3, [r2]
	ldr	r3, .L236+12
	ldr	r3, [r3]
	ldr	r2, .L236+16
	str	r3, [r2]
	ldr	r3, .L236+16
	ldr	r3, [r3]
	ldr	r2, .L236+20
	str	r3, [r2]
	ldr	r3, .L236+20
	ldr	r3, [r3]
	ldr	r2, .L236+24
	str	r3, [r2]
	ldr	r3, .L236+24
	ldr	r3, [r3]
	ldr	r2, .L236+28
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L237:
	.align	2
.L236:
	.word	NP
	.word	s
	.word	customIrp
	.word	setEventCalled
	.word	lowerDriverReturn
	.word	compRegistered
	.word	compFptr
	.word	pended
	.size	stub_driver_init, .-stub_driver_init
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, .L313
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+48
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+52
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+56
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+60
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+64
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+68
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+72
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+76
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+80
	mov	r2, #5
	str	r2, [r3]
	ldr	r3, .L313+84
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+88
	mov	r2, #1
	str	r2, [r3]
	ldr	r2, .L313+72
	ldr	r3, [fp, #-44]
	str	r3, [r2]
	bl	_BLAST_init
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	blt	.L239
	ldr	r3, .L313+12
	ldr	r3, [r3]
	ldr	r2, .L313+4
	str	r3, [r2]
	ldr	r3, .L313+60
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L313+60
	ldr	r3, [r3]
	ldr	r2, .L313+56
	str	r3, [r2]
	ldr	r3, .L313+56
	ldr	r3, [r3]
	ldr	r2, .L313+52
	str	r3, [r2]
	ldr	r3, .L313+52
	ldr	r3, [r3]
	ldr	r2, .L313+48
	str	r3, [r2]
	ldr	r3, .L313+48
	ldr	r3, [r3]
	ldr	r2, .L313+44
	str	r3, [r2]
	ldr	r3, .L313+44
	ldr	r3, [r3]
	ldr	r2, .L313+40
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, .L313+68
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	blt	.L240
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bgt	.L240
	ldr	r3, .L313+92
	str	r3, [fp, #-40]
	ldr	r3, .L313+68
	ldr	r2, .L313+92
	str	r2, [r3]
.L240:
	bl	stub_driver_init
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bge	.L241
	mvn	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L239
.L241:
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	ble	.L242
	ldr	r3, [fp, #-32]
	cmp	r3, #2
	bgt	.L242
	ldr	r3, .L313+72
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	CdAudioDeviceControl
	str	r0, [fp, #-52]
	b	.L243
.L242:
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	ble	.L244
	ldr	r3, [fp, #-24]
	cmp	r3, #3
	bgt	.L244
	ldr	r3, .L313+72
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	CdAudioPnp
	str	r0, [fp, #-52]
	b	.L243
.L244:
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	ble	.L245
	ldr	r3, [fp, #-20]
	cmp	r3, #4
	bgt	.L245
	ldr	r3, .L313+72
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	CdAudioPower
	str	r0, [fp, #-52]
	b	.L243
.L245:
	mvn	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-48]
.L243:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bgt	.L239
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L246
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L239
.L246:
	ldr	r0, [fp, #-8]
	bl	CdAudioUnload
.L239:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bgt	.L247
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L248
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L248
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+12
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L249
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+12
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L249
	ldr	r3, .L313+12
	ldr	r3, [r3]
	ldr	r2, .L313+4
	str	r3, [r2]
	b	.L250
.L249:
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L251
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L251
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+32
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L252
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+32
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L252
	ldr	r3, .L313+32
	ldr	r3, [r3]
	ldr	r2, .L313+4
	str	r3, [r2]
	b	.L253
.L252:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+8
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L254
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+8
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L305
.L254:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bge	.L255
	ldr	r3, [fp, #-52]
	cmn	r3, #1
	bge	.L305
.L255:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+24
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L256
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+24
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L257
.L256:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+36
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L258
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+36
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L259
.L258:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
.L259:
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L260
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L306
.L260:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L262
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L306
.L262:
	ldr	r3, .L313+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
	b	.L306
.L257:
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L263
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L305
.L263:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L264
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L305
.L264:
	ldr	r3, .L313+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
	b	.L305
.L306:
	nop
.L253:
	b	.L305
.L251:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+8
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L265
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+8
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L307
.L265:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bge	.L266
	ldr	r3, [fp, #-52]
	cmn	r3, #1
	bge	.L307
.L266:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+24
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L267
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+24
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L268
.L267:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+36
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L269
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+36
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L270
.L269:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
.L270:
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L271
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L308
.L271:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L273
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L308
.L273:
	ldr	r3, .L313+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
	b	.L308
.L268:
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L274
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L307
.L274:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L275
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L307
.L275:
	ldr	r3, .L313+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
	b	.L307
.L305:
	nop
	b	.L307
.L308:
	nop
.L250:
	b	.L307
.L248:
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L277
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L277
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+32
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L278
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+32
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L278
	ldr	r3, .L313+32
	ldr	r3, [r3]
	ldr	r2, .L313+4
	str	r3, [r2]
	b	.L279
.L278:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+8
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L280
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+8
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L309
.L280:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bge	.L281
	ldr	r3, [fp, #-52]
	cmn	r3, #1
	bge	.L309
.L281:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+24
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L282
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+24
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L283
.L282:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+36
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L284
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+36
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L285
.L284:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
.L285:
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L286
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L310
.L286:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L288
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L310
.L288:
	ldr	r3, .L313+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
	b	.L310
.L283:
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L289
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L309
.L289:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L290
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L309
.L290:
	ldr	r3, .L313+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
	b	.L309
.L310:
	nop
.L279:
	b	.L309
.L277:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+8
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L291
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+8
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L276
.L291:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bge	.L292
	ldr	r3, [fp, #-52]
	cmn	r3, #1
	bge	.L276
.L292:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+24
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L293
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+24
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L294
.L293:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+36
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L295
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+36
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L296
.L295:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
.L296:
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L297
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L311
.L297:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L299
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L311
.L299:
	ldr	r3, .L313+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
	b	.L311
.L294:
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L300
	ldr	r3, .L313+40
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L276
.L300:
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L301
	ldr	r3, .L313+4
	ldr	r2, [r3]
	ldr	r3, .L313+16
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L276
.L301:
	ldr	r3, .L313+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	sub	r2, r2, r3
	ldr	r3, .L313
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L313
	str	r3, [r2]
	b	.L276
.L307:
	nop
	b	.L276
.L309:
	nop
	b	.L276
.L311:
	nop
.L276:
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-16]
.L247:
	ldr	r3, .L313
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L312
	nop
	b	.L238
.L303:
.L312:
	nop
.L238:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L314:
	.align	2
.L313:
	.word	safety
	.word	s
	.word	UNLOADED
	.word	NP
	.word	DC
	.word	SKIP1
	.word	SKIP2
	.word	MPR1
	.word	MPR3
	.word	IPC
	.word	pended
	.word	compFptr
	.word	compRegistered
	.word	lowerDriverReturn
	.word	setEventCalled
	.word	customIrp
	.word	routine
	.word	myStatus
	.word	pirp
	.word	Executive
	.word	Suspended
	.word	KernelMode
	.word	DeviceUsageTypePaging
	.word	-1073741637
	.size	main, .-main
	.align	2
	.global	stubMoreProcessingRequired
	.syntax unified
	.arm
	.fpu softvfp
	.type	stubMoreProcessingRequired, %function
stubMoreProcessingRequired:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L317
	ldr	r2, [r3]
	ldr	r3, .L317+4
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L317+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L317+8
	str	r3, [r2]
	ldr	r3, .L317+12
	ldr	r3, [r3]
	ldr	r2, .L317
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L318:
	.align	2
.L317:
	.word	s
	.word	NP
	.word	safety
	.word	MPR1
	.size	stubMoreProcessingRequired, .-stubMoreProcessingRequired
	.align	2
	.global	IofCallDriver
	.syntax unified
	.arm
	.fpu softvfp
	.type	IofCallDriver, %function
IofCallDriver:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L335
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L320
	ldr	r3, .L335
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L321
.L320:
	ldr	r3, .L335+4
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L322
	ldr	r3, .L335+4
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L322
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	HPCdrCompletion
	str	r0, [fp, #-28]
	b	.L323
.L322:
	ldr	r3, .L335+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L323
	ldr	r3, .L335+4
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L323
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	CdAudioSignalCompletion
	str	r0, [fp, #-28]
.L323:
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #-1073741802
	blt	.L321
	ldr	r3, [fp, #-20]
	cmp	r3, #-1073741801
	bge	.L321
	bl	stubMoreProcessingRequired
.L321:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L324
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L325
.L324:
	ldr	r3, .L335+8
	str	r3, [fp, #-32]
	b	.L326
.L325:
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L327
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L327
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L326
.L327:
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L328
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bgt	.L328
	mov	r3, #-1073741823
	str	r3, [fp, #-32]
	b	.L326
.L328:
	ldr	r3, .L335+8
	str	r3, [fp, #-32]
.L326:
	ldr	r3, .L335+12
	ldr	r2, [r3]
	ldr	r3, .L335+16
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L329
	ldr	r3, .L335+12
	ldr	r2, [r3]
	ldr	r3, .L335+16
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L329
	ldr	r3, .L335+20
	ldr	r3, [r3]
	ldr	r2, .L335+12
	str	r3, [r2]
	ldr	r2, .L335+24
	ldr	r3, [fp, #-32]
	str	r3, [r2]
	b	.L330
.L329:
	ldr	r3, .L335+12
	ldr	r2, [r3]
	ldr	r3, .L335+28
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L331
	ldr	r3, .L335+12
	ldr	r2, [r3]
	ldr	r3, .L335+28
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L331
	ldr	r3, [fp, #-32]
	ldr	r2, .L335+32
	cmp	r3, r2
	ble	.L332
	ldr	r3, [fp, #-32]
	cmp	r3, #260
	bge	.L332
	ldr	r3, .L335+36
	ldr	r3, [r3]
	ldr	r2, .L335+12
	str	r3, [r2]
	ldr	r2, .L335+24
	ldr	r3, [fp, #-32]
	str	r3, [r2]
	b	.L330
.L332:
	ldr	r3, .L335+16
	ldr	r3, [r3]
	ldr	r2, .L335+12
	str	r3, [r2]
	ldr	r2, .L335+24
	ldr	r3, [fp, #-32]
	str	r3, [r2]
	b	.L330
.L331:
	ldr	r3, .L335+12
	ldr	r2, [r3]
	ldr	r3, .L335+40
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L335+44
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L335+44
	str	r3, [r2]
	ldr	r3, .L335+48
	ldr	r3, [r3]
	ldr	r2, .L335+12
	str	r3, [r2]
	ldr	r2, .L335+24
	ldr	r3, [fp, #-32]
	str	r3, [r2]
.L330:
	ldr	r3, [fp, #-32]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L336:
	.align	2
.L335:
	.word	compRegistered
	.word	routine
	.word	259
	.word	s
	.word	NP
	.word	IPC
	.word	lowerDriverReturn
	.word	MPR1
	.word	258
	.word	MPR3
	.word	SKIP1
	.word	safety
	.word	SKIP2
	.size	IofCallDriver, .-IofCallDriver
	.align	2
	.global	IofCompleteRequest
	.syntax unified
	.arm
	.fpu softvfp
	.type	IofCompleteRequest, %function
IofCompleteRequest:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L339
	ldr	r2, [r3]
	ldr	r3, .L339+4
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L339+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L339+8
	str	r3, [r2]
	ldr	r3, .L339+12
	ldr	r3, [r3]
	ldr	r2, .L339
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L340:
	.align	2
.L339:
	.word	s
	.word	NP
	.word	safety
	.word	DC
	.size	IofCompleteRequest, .-IofCompleteRequest
	.align	2
	.global	KeSetEvent
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeSetEvent, %function
KeSetEvent:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L343
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L344:
	.align	2
.L343:
	.word	setEventCalled
	.size	KeSetEvent, .-KeSetEvent
	.align	2
	.global	KeWaitForSingleObject
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeWaitForSingleObject, %function
KeWaitForSingleObject:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, .L354
	ldr	r2, [r3]
	ldr	r3, .L354+4
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L346
	ldr	r3, .L354
	ldr	r2, [r3]
	ldr	r3, .L354+4
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L346
	ldr	r3, .L354+8
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L347
	ldr	r3, .L354+8
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L347
	ldr	r3, .L354+12
	ldr	r3, [r3]
	ldr	r2, .L354
	str	r3, [r2]
	ldr	r3, .L354+8
	mov	r2, #0
	str	r2, [r3]
	b	.L353
.L347:
	ldr	r3, .L354+16
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L353
	ldr	r3, .L354+16
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L353
	ldr	r3, .L354+12
	ldr	r3, [r3]
	ldr	r2, .L354
	str	r3, [r2]
	ldr	r3, .L354+16
	mov	r2, #0
	str	r2, [r3]
	b	.L353
.L346:
	ldr	r3, .L354+16
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L349
	ldr	r3, .L354+16
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L349
	ldr	r3, .L354+12
	ldr	r3, [r3]
	ldr	r2, .L354
	str	r3, [r2]
	ldr	r3, .L354+16
	mov	r2, #0
	str	r2, [r3]
	b	.L349
.L353:
	nop
.L349:
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L350
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bgt	.L350
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L351
.L350:
	mov	r3, #-1073741823
	str	r3, [fp, #-12]
.L351:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L355:
	.align	2
.L354:
	.word	s
	.word	MPR3
	.word	setEventCalled
	.word	NP
	.word	customIrp
	.size	KeWaitForSingleObject, .-KeWaitForSingleObject
	.align	2
	.global	PoCallDriver
	.syntax unified
	.arm
	.fpu softvfp
	.type	PoCallDriver, %function
PoCallDriver:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L370
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L357
	ldr	r3, .L370
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L358
.L357:
	ldr	r3, .L370+4
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L359
	ldr	r3, .L370+4
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L359
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	HPCdrCompletion
	str	r0, [fp, #-32]
	b	.L360
.L359:
	ldr	r3, .L370+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L360
	ldr	r3, .L370+4
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L360
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	CdAudioSignalCompletion
	str	r0, [fp, #-32]
.L360:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #-1073741802
	blt	.L358
	ldr	r3, [fp, #-20]
	cmp	r3, #-1073741801
	bge	.L358
	bl	stubMoreProcessingRequired
.L358:
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L361
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L361
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L362
.L361:
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	ble	.L363
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bgt	.L363
	mov	r3, #-1073741823
	str	r3, [fp, #-28]
	b	.L362
.L363:
	ldr	r3, .L370+8
	str	r3, [fp, #-28]
.L362:
	ldr	r3, .L370+12
	ldr	r2, [r3]
	ldr	r3, .L370+16
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L364
	ldr	r3, .L370+12
	ldr	r2, [r3]
	ldr	r3, .L370+16
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L364
	ldr	r3, .L370+20
	ldr	r3, [r3]
	ldr	r2, .L370+12
	str	r3, [r2]
	ldr	r2, .L370+24
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	b	.L365
.L364:
	ldr	r3, .L370+12
	ldr	r2, [r3]
	ldr	r3, .L370+28
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L366
	ldr	r3, .L370+12
	ldr	r2, [r3]
	ldr	r3, .L370+28
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L366
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L370+32
	cmp	r3, r2
	ble	.L367
	ldr	r3, [fp, #-8]
	cmp	r3, #260
	bge	.L367
	ldr	r3, .L370+36
	ldr	r3, [r3]
	ldr	r2, .L370+12
	str	r3, [r2]
	ldr	r2, .L370+24
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	b	.L365
.L367:
	ldr	r3, .L370+16
	ldr	r3, [r3]
	ldr	r2, .L370+12
	str	r3, [r2]
	ldr	r2, .L370+24
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	b	.L365
.L366:
	ldr	r3, .L370+12
	ldr	r2, [r3]
	ldr	r3, .L370+40
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L370+44
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L370+44
	str	r3, [r2]
	ldr	r3, .L370+48
	ldr	r3, [r3]
	ldr	r2, .L370+12
	str	r3, [r2]
	ldr	r2, .L370+24
	ldr	r3, [fp, #-28]
	str	r3, [r2]
.L365:
	ldr	r3, [fp, #-28]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L371:
	.align	2
.L370:
	.word	compRegistered
	.word	routine
	.word	259
	.word	s
	.word	NP
	.word	IPC
	.word	lowerDriverReturn
	.word	MPR1
	.word	258
	.word	MPR3
	.word	SKIP1
	.word	safety
	.word	SKIP2
	.size	PoCallDriver, .-PoCallDriver
	.align	2
	.global	ZwClose
	.syntax unified
	.arm
	.fpu softvfp
	.type	ZwClose, %function
ZwClose:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L373
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bgt	.L373
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L374
.L373:
	mov	r3, #-1073741823
	str	r3, [fp, #-12]
.L374:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ZwClose, .-ZwClose
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
