	.file	"147261.c"
	.intel_syntax noprefix
	.text
	.globl	__BLAST_NONDET
	.bss
	.align 4
	.type	__BLAST_NONDET, @object
	.size	__BLAST_NONDET, 4
__BLAST_NONDET:
	.zero	4
	.text
	.globl	errorFn
	.type	errorFn, @function
errorFn:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
.L2:
	jmp	.L2
	.cfi_endproc
.LFE0:
	.size	errorFn, .-errorFn
	.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 8
	.type	compFptr, @object
	.size	compFptr, 8
compFptr:
	.zero	8
	.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	myIrp_PendingReturned
	.align 4
	.type	myIrp_PendingReturned, @object
	.size	myIrp_PendingReturned, 4
myIrp_PendingReturned:
	.zero	4
	.text
	.globl	_BLAST_init
	.type	_BLAST_init, @function
_BLAST_init:
.LFB1:
	.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	QWORD 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
.LFE1:
	.size	_BLAST_init, .-_BLAST_init
	.globl	SendSrbSynchronous
	.type	SendSrbSynchronous, @function
SendSrbSynchronous:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	QWORD PTR -128[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -80[rbp], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	WORD PTR [rax], 64
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 7[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR 40[rax], 0
	cmp	QWORD PTR -120[rbp], 0
	je	.L6
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 8[rax], 1
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -128[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	QWORD PTR -72[rbp], 315412
	jmp	.L7
.L6:
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 8[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	QWORD PTR -72[rbp], 315396
.L7:
	cmp	QWORD PTR -80[rbp], 0
	jne	.L8
	mov	rax, -1073741670
	jmp	.L11
.L8:
	cmp	QWORD PTR -88[rbp], 259
	jne	.L10
	lea	rax, -48[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	KeWaitForSingleObject
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -88[rbp], rax
.L10:
	mov	rax, QWORD PTR -88[rbp]
.L11:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L12
	call	__stack_chk_fail@PLT
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	SendSrbSynchronous, .-SendSrbSynchronous
	.section	.rodata
.LC0:
	.string	"M"
	.string	"a"
	.string	"p"
	.string	"T"
	.string	"y"
	.string	"p"
	.string	"e"
	.string	""
	.text
	.globl	CdAudioAddDevice
	.type	CdAudioAddDevice, @function
CdAudioAddDevice:
.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, 192
	mov	QWORD PTR -184[rbp], rdi
	mov	QWORD PTR -192[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -160[rbp], 255
	lea	rdx, -152[rbp]
	mov	rax, QWORD PTR -192[rbp]
	mov	rcx, rdx
	mov	edx, 131097
	mov	esi, 2
	mov	rdi, rax
	call	IoOpenDeviceRegistryKey@PLT
	mov	QWORD PTR -144[rbp], rax
	cmp	QWORD PTR -144[rbp], 0
	jns	.L14
	mov	QWORD PTR -160[rbp], 255
	jmp	.L15
.L14:
	lea	rax, -128[rbp]
	mov	edx, 112
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	QWORD PTR -120[rbp], 36
	lea	rax, .LC0[rip]
	mov	QWORD PTR -112[rbp], rax
	lea	rax, -160[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	QWORD PTR -96[rbp], 4
	mov	QWORD PTR -88[rbp], 0
	mov	QWORD PTR -80[rbp], 0
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, -128[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	rsi, rax
	mov	edi, 1073741824
	call	RtlQueryRegistryValues
	mov	QWORD PTR -144[rbp], rax
	cmp	QWORD PTR -144[rbp], 0
	jns	.L16
	mov	QWORD PTR -160[rbp], 255
	jmp	.L17
.L16:
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 10
	jbe	.L17
	mov	QWORD PTR -160[rbp], 255
.L17:
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	ZwClose
.L15:
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 10
	jbe	.L18
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 255
	je	.L18
	mov	QWORD PTR -160[rbp], 255
.L18:
	mov	rax, QWORD PTR -160[rbp]
	test	rax, rax
	jne	.L19
	mov	eax, 0
	jmp	.L48
.L19:
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 8
	je	.L56
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 9
	je	.L57
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 10
	je	.L58
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 4
	je	.L59
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 6
	je	.L60
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 5
	je	.L61
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 2
	je	.L62
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 3
	je	.L63
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 1
	je	.L64
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 7
	je	.L65
	mov	rax, QWORD PTR -160[rbp]
	cmp	rax, 255
	nop
.L43:
	jmp	.L44
.L42:
.L56:
	nop
.L22:
	lea	rdi, CdAudioNECDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	jmp	.L44
.L24:
.L57:
	nop
	jmp	.L26
.L58:
	nop
.L26:
	lea	rdi, CdAudioPioneerDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	jmp	.L44
.L59:
	nop
.L28:
	lea	rdi, CdAudioDenonDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	jmp	.L44
.L30:
.L60:
	nop
	jmp	.L32
.L61:
	nop
.L32:
	lea	rdi, CdAudioHitachiDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	jmp	.L44
.L62:
	nop
.L34:
	lea	rdi, CdAudio535DeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	jmp	.L44
.L63:
	nop
.L36:
	lea	rdi, CdAudio435DeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	jmp	.L44
.L64:
	nop
.L38:
	lea	rdi, CdAudioAtapiDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	jmp	.L44
.L65:
	nop
.L40:
	lea	rdi, CdAudioHPCdrDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	nop
.L44:
	mov	rax, QWORD PTR -184[rbp]
	sub	rsp, 8
	lea	rdx, -168[rbp]
	push	rdx
	mov	r9d, 0
	mov	r8d, 0
	mov	ecx, 2
	mov	edx, 0
	mov	esi, 104
	mov	rdi, rax
	call	IoCreateDevice
	add	rsp, 16
	mov	QWORD PTR -144[rbp], rax
	cmp	QWORD PTR -144[rbp], 0
	jns	.L45
	mov	rax, QWORD PTR -144[rbp]
	jmp	.L48
.L45:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -168[rbp]
	or	rdx, 16
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 56[rax]
	and	eax, 16384
	test	rax, rax
	jne	.L46
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -168[rbp]
	or	dh, 32
	mov	QWORD PTR 56[rax], rdx
.L46:
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, 104
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -192[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	IoAttachDeviceToDeviceStack
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L47
	mov	rax, -1073741810
	jmp	.L48
.L47:
	mov	rax, QWORD PTR -160[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	BYTE PTR 88[rax], dl
	mov	rdx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -192[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -168[rbp]
	and	edx, 4294967167
	mov	QWORD PTR 56[rax], rdx
	mov	eax, 0
.L48:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L49
	call	__stack_chk_fail@PLT
.L49:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	CdAudioAddDevice, .-CdAudioAddDevice
	.globl	CdAudioSignalCompletion
	.type	CdAudioSignalCompletion, @function
CdAudioSignalCompletion:
.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, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	KeSetEvent
	mov	rax, -1073741802
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	CdAudioSignalCompletion, .-CdAudioSignalCompletion
	.section	.rodata
.LC1:
	.string	"NEC     "
.LC2:
	.string	"PIONEER "
.LC3:
	.string	"CD-ROM DRM-600"
.LC4:
	.string	"CHINON"
.LC5:
	.string	"HITACHI "
.LC6:
	.string	"CDR-3650/1650S  "
.LC7:
	.string	"CDR-1750S       "
.LC8:
	.string	"WEARNES "
.LC9:
	.string	"OTI     "
.LC10:
	.string	"DOLPHIN "
.LC11:
	.string	"RUB"
.LC12:
	.string	"FUJITSU "
.LC13:
	.string	"HP      "
.LC14:
	.string	"C4324/C4325"
	.text
	.globl	CdAudioStartDevice
	.type	CdAudioStartDevice, @function
CdAudioStartDevice:
.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, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -224[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rdx, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioForwardIrpSynchronous
	mov	QWORD PTR -120[rbp], rax
	cmp	QWORD PTR -120[rbp], 0
	jns	.L69
	mov	rax, QWORD PTR -120[rbp]
	jmp	.L105
.L69:
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 90[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 91[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 92[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 93[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 94[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 95[rax], 0
	mov	rax, QWORD PTR -112[rbp]
	movzx	eax, BYTE PTR 88[rax]
	cmp	al, -1
	jne	.L71
	lea	rax, -80[rbp]
	add	rax, 48
	mov	QWORD PTR -104[rbp], rax
	mov	QWORD PTR -96[rbp], 0
	mov	BYTE PTR -195[rbp], 0
	mov	edx, 541156419
	mov	esi, 36
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -96[rbp], rax
	cmp	QWORD PTR -96[rbp], 0
	jne	.L72
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 0
	mov	eax, 0
	jmp	.L105
.L72:
	mov	QWORD PTR -120[rbp], -1073741823
.L73:
	cmp	QWORD PTR -120[rbp], 0
	jns	.L107
	movzx	eax, BYTE PTR -195[rbp]
	mov	BYTE PTR -194[rbp], al
	add	BYTE PTR -195[rbp], 1
	cmp	BYTE PTR -194[rbp], 3
	ja	.L108
	lea	rax, -80[rbp]
	mov	edx, 64
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, 36
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	BYTE PTR [rax], 18
	mov	rax, QWORD PTR -104[rbp]
	mov	BYTE PTR 4[rax], 36
	mov	BYTE PTR -74[rbp], 6
	mov	QWORD PTR -56[rbp], 10
	mov	rdx, QWORD PTR -96[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	ecx, 36
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -120[rbp], rax
	jmp	.L73
.L107:
	nop
	jmp	.L76
.L108:
	nop
.L76:
	cmp	QWORD PTR -120[rbp], 0
	jns	.L77
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 0
	mov	eax, 0
	jmp	.L105
.L77:
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 0
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	edx, 8
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -192[rbp], eax
	cmp	DWORD PTR -192[rbp], 0
	jne	.L78
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	NecSupportNeeded
	mov	BYTE PTR -193[rbp], al
	cmp	BYTE PTR -193[rbp], 0
	je	.L78
	lea	rdi, CdAudioNECDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 8
.L78:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	edx, 8
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -188[rbp], eax
	cmp	DWORD PTR -188[rbp], 0
	jne	.L79
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 16
	mov	edx, 15
	lea	rsi, .LC3[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -184[rbp], eax
	cmp	DWORD PTR -184[rbp], 0
	jne	.L79
	lea	rdi, CdAudioPioneerDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 9
.L79:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	cmp	al, 68
	jne	.L80
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	cmp	al, 69
	jne	.L80
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 10
	movzx	eax, BYTE PTR [rax]
	cmp	al, 78
	jne	.L80
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	cmp	al, 68
	jne	.L80
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 17
	movzx	eax, BYTE PTR [rax]
	cmp	al, 82
	jne	.L80
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 18
	movzx	eax, BYTE PTR [rax]
	cmp	al, 68
	jne	.L80
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 20
	movzx	eax, BYTE PTR [rax]
	cmp	al, 50
	jne	.L80
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 21
	movzx	eax, BYTE PTR [rax]
	cmp	al, 53
	jne	.L80
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 22
	movzx	eax, BYTE PTR [rax]
	cmp	al, 88
	jne	.L80
	lea	rdi, CdAudioDenonDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 4
.L80:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	edx, 6
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -180[rbp], eax
	cmp	DWORD PTR -180[rbp], 0
	jne	.L81
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 27
	movzx	eax, BYTE PTR [rax]
	cmp	al, 53
	jne	.L82
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 28
	movzx	eax, BYTE PTR [rax]
	cmp	al, 51
	jne	.L82
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 29
	movzx	eax, BYTE PTR [rax]
	cmp	al, 53
	jne	.L82
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 32
	movzx	eax, BYTE PTR [rax]
	cmp	al, 81
	jne	.L82
	lea	rdi, CdAudio535DeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 2
.L82:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 27
	movzx	eax, BYTE PTR [rax]
	cmp	al, 52
	jne	.L81
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 28
	movzx	eax, BYTE PTR [rax]
	cmp	al, 51
	jne	.L81
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 29
	movzx	eax, BYTE PTR [rax]
	cmp	al, 53
	je	.L109
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 29
	movzx	eax, BYTE PTR [rax]
	cmp	al, 49
	jne	.L81
	jmp	.L84
.L109:
	nop
.L84:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 32
	movzx	eax, BYTE PTR [rax]
	cmp	al, 77
	jne	.L85
	lea	rdi, CdAudio435DeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 3
	jmp	.L81
.L85:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 32
	movzx	eax, BYTE PTR [rax]
	cmp	al, 78
	jne	.L86
	lea	rdi, CdAudio435DeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 3
	jmp	.L81
.L86:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 32
	movzx	eax, BYTE PTR [rax]
	cmp	al, 83
	jne	.L87
	lea	rdi, CdAudio435DeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 3
	jmp	.L81
.L87:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 32
	movzx	eax, BYTE PTR [rax]
	cmp	al, 85
	jne	.L88
	lea	rdi, CdAudio435DeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 3
	jmp	.L81
.L88:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 32
	movzx	eax, BYTE PTR [rax]
	cmp	al, 72
	jne	.L81
	lea	rdi, CdAudio435DeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 3
.L81:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	edx, 8
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -176[rbp], eax
	cmp	DWORD PTR -176[rbp], 0
	jne	.L89
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 16
	mov	edx, 16
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	je	.L90
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 16
	mov	edx, 16
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -168[rbp], eax
	cmp	DWORD PTR -168[rbp], 0
	jne	.L89
	lea	rdi, CdAudioHitachiDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 6
	jmp	.L89
.L90:
	lea	rdi, CdAudioHitachiDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 6
.L89:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	edx, 8
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -164[rbp], eax
	cmp	DWORD PTR -164[rbp], 0
	je	.L91
	nop
	jmp	.L92
.L110:
	nop
.L92:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	edx, 8
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -156[rbp], eax
	cmp	DWORD PTR -156[rbp], 0
	jne	.L93
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 16
	mov	edx, 8
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -152[rbp], eax
	cmp	DWORD PTR -152[rbp], 0
	jne	.L93
	lea	rdi, CdAudioAtapiDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 1
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 25
	mov	BYTE PTR [rax], 0
	jmp	.L93
.L91:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 16
	mov	edx, 3
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -160[rbp], eax
	cmp	DWORD PTR -160[rbp], 0
	jne	.L110
	lea	rdi, CdAudioAtapiDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 1
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 25
	mov	BYTE PTR [rax], 0
.L93:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	edx, 8
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -148[rbp], eax
	cmp	DWORD PTR -148[rbp], 0
	jne	.L95
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	cmp	al, 67
	jne	.L111
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 17
	movzx	eax, BYTE PTR [rax]
	cmp	al, 68
	jne	.L112
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 18
	movzx	eax, BYTE PTR [rax]
	cmp	al, 82
	jne	.L113
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 20
	movzx	eax, BYTE PTR [rax]
	cmp	al, 51
	jne	.L114
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 21
	movzx	eax, BYTE PTR [rax]
	cmp	al, 54
	jne	.L115
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 22
	movzx	eax, BYTE PTR [rax]
	cmp	al, 53
	jne	.L116
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 23
	movzx	eax, BYTE PTR [rax]
	cmp	al, 48
	jne	.L117
	lea	rdi, CdAudioHitachiDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 6
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 25
	mov	BYTE PTR [rax], 0
	jmp	.L95
.L111:
	nop
	jmp	.L96
.L112:
	nop
	jmp	.L96
.L113:
	nop
	jmp	.L96
.L114:
	nop
	jmp	.L96
.L115:
	nop
	jmp	.L96
.L116:
	nop
	jmp	.L96
.L117:
	nop
.L96:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	cmp	al, 70
	jne	.L95
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 17
	movzx	eax, BYTE PTR [rax]
	cmp	al, 77
	jne	.L95
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 18
	movzx	eax, BYTE PTR [rax]
	cmp	al, 67
	jne	.L95
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 21
	movzx	eax, BYTE PTR [rax]
	cmp	al, 49
	jne	.L95
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 22
	movzx	eax, BYTE PTR [rax]
	cmp	al, 48
	jne	.L95
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 23
	movzx	eax, BYTE PTR [rax]
	cmp	al, 49
	jne	.L103
	lea	rdi, CdAudioHitachiDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 5
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 25
	mov	BYTE PTR [rax], 0
	jmp	.L95
.L103:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 23
	movzx	eax, BYTE PTR [rax]
	cmp	al, 50
	jne	.L95
	lea	rdi, CdAudioHitachiDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 5
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 25
	mov	BYTE PTR [rax], 0
.L95:
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	edx, 8
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -144[rbp], eax
	cmp	DWORD PTR -144[rbp], 0
	jne	.L71
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 16
	mov	edx, 11
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	memcmp@PLT
	mov	DWORD PTR -140[rbp], eax
	cmp	DWORD PTR -140[rbp], 0
	jne	.L71
	lea	rdi, CdAudioHPCdrDeviceControl[rip]
	call	MmLockPagableDataSection@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR 88[rax], 7
.L71:
	mov	rax, QWORD PTR -112[rbp]
	movzx	eax, BYTE PTR 88[rax]
	movzx	eax, al
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, -136[rbp]
	mov	rcx, rdx
	mov	edx, 131078
	mov	esi, 2
	mov	rdi, rax
	call	IoOpenDeviceRegistryKey@PLT
	mov	QWORD PTR -120[rbp], rax
	cmp	QWORD PTR -120[rbp], 0
	jns	.L104
	mov	eax, 0
	jmp	.L105
.L104:
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, -128[rbp]
	mov	r9d, 8
	mov	r8, rdx
	mov	ecx, 4
	lea	rdx, .LC0[rip]
	mov	rsi, rax
	mov	edi, 1073741824
	call	RtlWriteRegistryValue@PLT
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	ZwClose
	mov	eax, 0
.L105:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L106
	call	__stack_chk_fail@PLT
.L106:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	CdAudioStartDevice, .-CdAudioStartDevice
	.globl	CdAudioPnp
	.type	CdAudioPnp, @function
CdAudioPnp:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	QWORD PTR -32[rbp], -1073741637
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 1[rax]
	test	al, al
	je	.L133
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 1[rax]
	cmp	al, 22
	jne	.L134
	jmp	.L132
.L133:
	nop
.L120:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioStartDevice
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L124
.L132:
.L122:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	je	.L125
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L124
.L125:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 32
	mov	r8d, 0
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	KeWaitForSingleObject
	mov	QWORD PTR -32[rbp], rax
	mov	BYTE PTR -41[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 4[rax]
	test	al, al
	jne	.L126
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rax, 1
	jne	.L126
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	and	eax, 16384
	test	rax, rax
	jne	.L126
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	or	ah, 32
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	BYTE PTR -41[rbp], 1
.L126:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioForwardIrpSynchronous
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	js	.L127
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 4[rax]
	test	al, al
	je	.L128
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 24
	mov	rdi, rax
	call	InterlockedIncrement@PLT
	jmp	.L129
.L128:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 24
	mov	rdi, rax
	call	InterlockedDecrement@PLT
.L129:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 4[rax]
	test	al, al
	je	.L130
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rax, 1
	jne	.L130
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	and	eax, 4294959103
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 56[rax], rdx
	jmp	.L130
.L127:
	cmp	BYTE PTR -41[rbp], 1
	jne	.L130
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	and	eax, 4294959103
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	BYTE PTR -41[rbp], 0
.L130:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 32
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	KeSetEvent
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L124
.L134:
	nop
.L123:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
.L124:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	CdAudioPnp, .-CdAudioPnp
	.globl	DriverEntry
	.type	DriverEntry, @function
DriverEntry:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, 14
	lea	rcx, CdAudioSendToNextDriver[rip]
	mov	QWORD PTR [rax+rdx*8], rcx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, CdAudioReadWrite[rip]
	mov	QWORD PTR 136[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, CdAudioReadWrite[rip]
	mov	QWORD PTR 144[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, CdAudioDeviceControl[rip]
	mov	QWORD PTR 224[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, CdAudioPnp[rip]
	mov	QWORD PTR 328[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, CdAudioPower[rip]
	mov	QWORD PTR 288[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rdx, CdAudioAddDevice[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, CdAudioUnload[rip]
	mov	QWORD PTR 104[rax], rdx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	DriverEntry, .-DriverEntry
	.section	.rodata
.LC15:
	.string	"CD-ROM DRIVE:80 "
.LC16:
	.string	"CD-ROM DRIVE:82 "
.LC17:
	.string	"CD-ROM DRIVE:83 "
.LC18:
	.string	"CD-ROM DRIVE:84 "
.LC19:
	.string	"CD-ROM DRIVE:841"
.LC20:
	.string	"CD-ROM DRIVE:38 "
.LC21:
	.string	"CD-ROM DRIVE 4 M"
.LC22:
	.string	"CD-ROM DRIVE:500"
.LC23:
	.string	"CD-ROM DRIVE:400"
.LC24:
	.string	"CD-ROM DRIVE:401"
.LC25:
	.string	"CD-ROM DRIVE:501"
.LC26:
	.string	"CD-ROM DRIVE:900"
	.text
	.globl	NecSupportNeeded
	.type	NecSupportNeeded, @function
NecSupportNeeded:
.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, 160
	mov	QWORD PTR -152[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -136[rbp], rax
	lea	rax, .LC15[rip]
	mov	QWORD PTR -112[rbp], rax
	lea	rax, .LC16[rip]
	mov	QWORD PTR -104[rbp], rax
	lea	rax, .LC17[rip]
	mov	QWORD PTR -96[rbp], rax
	lea	rax, .LC18[rip]
	mov	QWORD PTR -88[rbp], rax
	lea	rax, .LC19[rip]
	mov	QWORD PTR -80[rbp], rax
	lea	rax, .LC20[rip]
	mov	QWORD PTR -72[rbp], rax
	lea	rax, .LC21[rip]
	mov	QWORD PTR -64[rbp], rax
	lea	rax, .LC22[rip]
	mov	QWORD PTR -56[rbp], rax
	lea	rax, .LC23[rip]
	mov	QWORD PTR -48[rbp], rax
	lea	rax, .LC24[rip]
	mov	QWORD PTR -40[rbp], rax
	lea	rax, .LC25[rip]
	mov	QWORD PTR -32[rbp], rax
	lea	rax, .LC26[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -112[rbp+rax*8]
	mov	rdx, QWORD PTR -136[rbp]
	lea	rcx, 16[rdx]
	mov	edx, 16
	mov	rsi, rax
	mov	rdi, rcx
	call	RtlCompareMemory
	mov	QWORD PTR -120[rbp], rax
	cmp	QWORD PTR -120[rbp], 16
	jne	.L138
	mov	eax, 1
	jmp	.L140
.L138:
	mov	eax, 0
.L140:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L141
	call	__stack_chk_fail@PLT
.L141:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	NecSupportNeeded, .-NecSupportNeeded
	.globl	CdAudioReadWrite
	.type	CdAudioReadWrite, @function
CdAudioReadWrite:
.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	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 96[rax]
	test	al, al
	je	.L143
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 48[rax], -2147483631
	mov	DWORD PTR myStatus[rip], -2147483631
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, -2147483631
	jmp	.L144
.L143:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L144:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	CdAudioReadWrite, .-CdAudioReadWrite
	.globl	CdAudioDeviceControl
	.type	CdAudioDeviceControl, @function
CdAudioDeviceControl:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 88[rax]
	cmp	al, 2
	je	.L162
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 88[rax]
	cmp	al, 3
	je	.L163
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 88[rax]
	cmp	al, 1
	je	.L164
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 88[rax]
	cmp	al, 7
	jne	.L165
	jmp	.L161
.L162:
	nop
.L147:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudio535DeviceControl
	mov	QWORD PTR -16[rbp], rax
	jmp	.L156
.L163:
	nop
.L149:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudio435DeviceControl
	mov	QWORD PTR -16[rbp], rax
	jmp	.L156
.L164:
	nop
.L151:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioAtapiDeviceControl
	mov	QWORD PTR -16[rbp], rax
	jmp	.L156
.L161:
.L153:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioHPCdrDeviceControl
	mov	QWORD PTR -16[rbp], rax
	jmp	.L156
.L165:
	nop
.L154:
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 88[rax], 0
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -16[rbp], rax
.L155:
.L156:
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	CdAudioDeviceControl, .-CdAudioDeviceControl
	.globl	CdAudioSendToNextDriver
	.type	CdAudioSendToNextDriver, @function
CdAudioSendToNextDriver:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jne	.L167
	mov	eax, DWORD PTR SKIP1[rip]
	mov	DWORD PTR s[rip], eax
	jmp	.L168
.L167:
	call	errorFn
.L168:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 67[rax]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR 67[rax], dl
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 184[rax]
	lea	rdx, 68[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 184[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	IofCallDriver
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	CdAudioSendToNextDriver, .-CdAudioSendToNextDriver
	.globl	CdAudioIsPlayActive
	.type	CdAudioIsPlayActive, @function
CdAudioIsPlayActive:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -120[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, BYTE PTR 96[rax]
	test	al, al
	jne	.L171
	mov	eax, 0
	jmp	.L179
.L171:
	mov	edx, 541156419
	mov	esi, 16
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	test	eax, eax
	jne	.L173
	mov	eax, 0
	jmp	.L179
.L173:
	mov	rax, QWORD PTR -80[rbp]
	mov	BYTE PTR [rax], 1
	mov	rax, QWORD PTR -80[rbp]
	mov	BYTE PTR 1[rax], 0
	mov	rax, QWORD PTR -72[rbp]
	test	eax, eax
	jne	.L174
	mov	eax, 0
	jmp	.L179
.L174:
	cmp	QWORD PTR -104[rbp], 259
	jne	.L175
	lea	rax, -48[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 5
	mov	rdi, rax
	call	KeWaitForSingleObject
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -104[rbp], rax
.L175:
	cmp	QWORD PTR -104[rbp], 0
	jns	.L176
	mov	eax, 0
	jmp	.L179
.L176:
	mov	rax, QWORD PTR -80[rbp]
	movzx	eax, BYTE PTR 1[rax]
	cmp	al, 17
	jne	.L177
	mov	BYTE PTR -105[rbp], 1
	jmp	.L178
.L177:
	mov	BYTE PTR -105[rbp], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	BYTE PTR 96[rax], 0
.L178:
	movzx	eax, BYTE PTR -105[rbp]
.L179:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L180
	call	__stack_chk_fail@PLT
.L180:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	CdAudioIsPlayActive, .-CdAudioIsPlayActive
	.globl	CdAudioNECDeviceControl
	.type	CdAudioNECDeviceControl, @function
CdAudioNECDeviceControl:
.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, 320
	mov	QWORD PTR -312[rbp], rdi
	mov	QWORD PTR -320[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -240[rbp], rax
	lea	rax, -80[rbp]
	add	rax, 48
	mov	QWORD PTR -232[rbp], rax
	mov	QWORD PTR -272[rbp], 0
.L182:
	mov	rax, QWORD PTR -232[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147512
	je	.L266
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147456
	je	.L267
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147464
	je	.L268
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147480
	je	.L269
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147460
	je	.L270
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147468
	je	.L271
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147472
	je	.L272
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147500
	je	.L273
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149512
	je	.L274
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147508
	je	.L275
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147476
	je	.L276
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147496
	je	.L277
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149504
	jne	.L278
	jmp	.L264
.L266:
	nop
.L184:
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 11
	ja	.L210
	mov	QWORD PTR -288[rbp], -1073741789
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L210:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	mov	BYTE PTR -289[rbp], al
	cmp	BYTE PTR -289[rbp], 0
	je	.L212
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	QWORD PTR -288[rbp], -2147483631
	jmp	.L214
.L212:
	mov	edx, 541156419
	mov	esi, 1022
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	test	eax, eax
	jne	.L213
	mov	QWORD PTR -288[rbp], -1073741670
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L213:
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, 1022
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	BYTE PTR -74[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -34
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 3
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 2[rax], -80
	mov	QWORD PTR -56[rbp], 10
	mov	rdx, QWORD PTR -152[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 1022
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L215
	cmp	QWORD PTR -288[rbp], -1073741764
	je	.L216
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L216:
	mov	QWORD PTR -288[rbp], 0
	jmp	.L217
.L215:
	mov	QWORD PTR -288[rbp], 0
.L217:
	mov	QWORD PTR -144[rbp], 12
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR -144[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -144[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -144[rbp]
	sub	rax, 2
	shr	rax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 14
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L279
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 2[rax], 1
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 3[rax], 2
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 4[rax], 0
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 4
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	or	eax, edx
	and	eax, 15
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	ecx, edx
	and	ecx, 15
	movzx	edx, BYTE PTR 5[rax]
	and	edx, -16
	or	edx, ecx
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 6[rax], 1
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 7[rax], 0
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 15
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 15
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 15
	add	eax, edx
	imul	ecx, eax, 60
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 15
	add	eax, edx
	add	eax, ecx
	imul	ecx, eax, 75
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 17
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 17
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 15
	add	eax, edx
	add	eax, ecx
	cdqe
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	shr	rax, 24
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 8[rax], dl
	mov	rax, QWORD PTR -104[rbp]
	shr	rax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 9[rax], dl
	mov	rax, QWORD PTR -104[rbp]
	shr	rax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 10[rax], dl
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 11[rax], dl
	jmp	.L214
.L267:
	nop
.L186:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	mov	BYTE PTR -290[rbp], al
	cmp	BYTE PTR -290[rbp], 0
	je	.L219
	mov	QWORD PTR -288[rbp], -2147483631
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L219:
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 3
	ja	.L220
	mov	QWORD PTR -288[rbp], -1073741789
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L220:
	mov	edx, 541156419
	mov	esi, 1022
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	test	eax, eax
	jne	.L221
	mov	QWORD PTR -288[rbp], -1073741670
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L221:
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, 1022
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	BYTE PTR -74[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -34
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 3
	mov	BYTE PTR 1[rax], dl
	mov	QWORD PTR -56[rbp], 10
	mov	rdx, QWORD PTR -152[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 1022
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L222
	cmp	QWORD PTR -288[rbp], -1073741764
	je	.L223
	cmp	QWORD PTR -288[rbp], -1073741764
	je	.L224
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L223:
	mov	QWORD PTR -288[rbp], 0
	jmp	.L224
.L222:
	mov	QWORD PTR -288[rbp], 0
.L224:
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 804
	jbe	.L225
	mov	QWORD PTR -144[rbp], 804
	jmp	.L226
.L225:
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 4[rax]
	mov	QWORD PTR -144[rbp], rax
.L226:
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 19
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 19
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -240[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -240[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	cdqe
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	sal	rax, 3
	add	rax, 2
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	shr	rax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 4[rax]
	sub	rax, 4
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	shr	rax, 3
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	cmp	rax, QWORD PTR -136[rbp]
	jnb	.L227
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -264[rbp], rax
	jmp	.L228
.L227:
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -264[rbp], rax
.L228:
	mov	QWORD PTR -280[rbp], 0
.L229:
	mov	rax, QWORD PTR -280[rbp]
	cmp	rax, QWORD PTR -264[rbp]
	jnb	.L280
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 4
	mov	ecx, eax
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	or	eax, ecx
	and	eax, 15
	mov	ecx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	esi, ecx
	and	esi, 15
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	or	ecx, esi
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	movzx	eax, BYTE PTR 2[rax]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 6[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	lea	rdx, 39[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	lea	rdx, 39[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	ecx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	lea	rdx, 40[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	lea	rdx, 40[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	ecx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	lea	rdx, 41[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	lea	rdx, 41[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	ecx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -280[rbp], 1
	jmp	.L229
.L280:
	nop
.L231:
	mov	rax, QWORD PTR -120[rbp]
	cmp	rax, QWORD PTR -136[rbp]
	jbe	.L232
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 6[rax+rdx*8], -86
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 29
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 29
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 30
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 30
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 31
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 31
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -280[rbp], 1
.L232:
	mov	rax, QWORD PTR -280[rbp]
	sal	rax, 3
	add	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], rdx
	jmp	.L214
.L268:
	nop
.L188:
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rdx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	jmp	.L253
.L269:
	nop
.L190:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 5
	ja	.L234
	mov	QWORD PTR -288[rbp], -1073741820
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L234:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -40
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	and	edx, -8
	or	edx, 1
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -176[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -176[rbp]
	movzx	ecx, BYTE PTR 1[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -176[rbp]
	movzx	ecx, BYTE PTR 2[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 9[rax], 64
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	js	.L281
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 1
	mov	rax, QWORD PTR -232[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -39
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	and	edx, -8
	or	edx, 3
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -176[rbp]
	movzx	ecx, BYTE PTR 3[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR 4[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -176[rbp]
	movzx	ecx, BYTE PTR 4[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR 5[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -176[rbp]
	movzx	ecx, BYTE PTR 5[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 9[rax], 64
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	jmp	.L281
.L270:
	nop
.L192:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 2
	ja	.L236
	mov	QWORD PTR -288[rbp], -1073741820
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L236:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -40
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -184[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -184[rbp]
	movzx	ecx, BYTE PTR 1[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -184[rbp]
	movzx	ecx, BYTE PTR 2[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 9[rax], 64
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	jmp	.L214
.L271:
	nop
.L194:
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -38
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	jmp	.L214
.L272:
	nop
.L196:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -39
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	and	edx, -8
	or	edx, 3
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 9[rax], -64
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	jmp	.L214
.L273:
	nop
.L198:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -216[rbp], rax
	mov	edx, 541156419
	mov	esi, 10
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 15
	ja	.L237
	mov	QWORD PTR -288[rbp], -1073741789
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L237:
	mov	rax, QWORD PTR -200[rbp]
	test	eax, eax
	jne	.L238
	mov	QWORD PTR -288[rbp], -1073741670
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L238:
	mov	rax, QWORD PTR -200[rbp]
	mov	edx, 10
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	je	.L282
	mov	QWORD PTR -288[rbp], -1073741823
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L282:
	nop
.L239:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -35
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	and	edx, -32
	or	edx, 10
	mov	BYTE PTR 1[rax], dl
	mov	rdx, QWORD PTR -200[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 10
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L283
	cmp	QWORD PTR -288[rbp], -1073741764
	jne	.L242
	jmp	.L241
.L283:
	nop
.L241:
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -200[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L243
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 1[rax], 17
	jmp	.L244
.L243:
	mov	rax, QWORD PTR -200[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	jne	.L245
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 1[rax], 18
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	jmp	.L244
.L245:
	mov	rax, QWORD PTR -200[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 2
	jne	.L246
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 1[rax], 18
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	jmp	.L244
.L246:
	mov	rax, QWORD PTR -200[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 3
	jne	.L247
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 1[rax], 19
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	jmp	.L244
.L247:
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
.L244:
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 2[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 2[rax], 12
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 4[rax], 1
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, edx
	and	ecx, 15
	movzx	edx, BYTE PTR 5[rax]
	and	edx, -16
	or	edx, ecx
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 5[rax]
	and	edx, 15
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 8[rax], 0
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 9[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 10[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 11[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 12[rax], 0
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 13[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 14[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 15[rax], dl
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 16
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR 6[rax]
	cmp	al, 100
	jbe	.L248
	mov	QWORD PTR -96[rbp], -5000000
	lea	rax, -96[rbp]
	mov	rdx, rax
	mov	esi, 0
	mov	edi, 0
	call	KeDelayExecutionThread
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -192[rbp], rax
	add	QWORD PTR -272[rbp], 1
	cmp	QWORD PTR -192[rbp], 3
	ja	.L249
	jmp	.L239
.L249:
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	QWORD PTR -288[rbp], -1073741434
	jmp	.L214
.L248:
	mov	QWORD PTR -288[rbp], 0
	jmp	.L214
.L242:
	mov	rax, QWORD PTR -216[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L274:
	nop
.L200:
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -36
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L214
.L202:
.L204:
.L275:
	nop
	jmp	.L206
.L276:
	nop
	jmp	.L206
.L277:
	nop
.L206:
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	QWORD PTR -288[rbp], -1073741808
	jmp	.L214
.L264:
.L208:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	jmp	.L209
.L278:
	nop
.L209:
	mov	rdx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	jmp	.L253
.L211:
.L279:
	nop
	jmp	.L214
.L281:
	nop
.L214:
	cmp	QWORD PTR -288[rbp], -2147483626
	jne	.L251
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	eax, al
	and	eax, 2
	test	eax, eax
	je	.L252
	mov	QWORD PTR -288[rbp], -1073741435
	jmp	.L182
.L252:
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
.L251:
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR -288[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -288[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	rax, QWORD PTR -320[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, QWORD PTR -288[rbp]
.L253:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L254
	call	__stack_chk_fail@PLT
.L254:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	CdAudioNECDeviceControl, .-CdAudioNECDeviceControl
	.globl	CdAudioPioneerDeviceControl
	.type	CdAudioPioneerDeviceControl, @function
CdAudioPioneerDeviceControl:
.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, 320
	mov	QWORD PTR -312[rbp], rdi
	mov	QWORD PTR -320[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -240[rbp], rax
	lea	rax, -80[rbp]
	add	rax, 48
	mov	QWORD PTR -232[rbp], rax
	lea	rax, -80[rbp]
	add	rax, 48
	mov	QWORD PTR -224[rbp], rax
.L285:
	mov	rax, QWORD PTR -232[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147456
	je	.L380
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147464
	je	.L381
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147480
	je	.L382
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147460
	je	.L383
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147468
	je	.L384
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147472
	je	.L385
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147500
	je	.L386
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149512
	je	.L387
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147508
	je	.L388
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147476
	je	.L389
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147496
	je	.L390
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149504
	jne	.L391
	jmp	.L378
.L380:
	nop
.L287:
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 3
	ja	.L311
	mov	QWORD PTR -288[rbp], -1073741789
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L311:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	mov	BYTE PTR -289[rbp], al
	cmp	BYTE PTR -289[rbp], 0
	je	.L313
	mov	QWORD PTR -288[rbp], -2147483631
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L313:
	mov	edx, 541156419
	mov	esi, 804
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	test	eax, eax
	jne	.L314
	mov	QWORD PTR -288[rbp], -1073741670
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L314:
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, 804
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -248[rbp]
	movzx	eax, BYTE PTR 88[rax]
	cmp	al, 9
	jne	.L316
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 1
	mov	BYTE PTR 1[rax], dl
	jmp	.L317
.L316:
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	and	edx, -2
	mov	BYTE PTR 1[rax], dl
.L317:
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], 27
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 4[rax]
	or	edx, 1
	mov	BYTE PTR 4[rax], dl
	mov	BYTE PTR -74[rbp], 6
	mov	QWORD PTR -56[rbp], 10
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L318
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L318:
	mov	rax, QWORD PTR -232[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	BYTE PTR -74[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -63
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 8[rax], 4
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 9[rax]
	and	edx, 63
	mov	BYTE PTR 9[rax], dl
	mov	QWORD PTR -56[rbp], 10
	mov	rdx, QWORD PTR -112[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 4
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L319
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L319:
	mov	rax, QWORD PTR -112[rbp]
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -112[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -240[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -240[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	cdqe
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	sal	rax, 3
	add	rax, 2
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	shr	rax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 4[rax]
	sub	rax, 4
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	shr	rax, 3
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jnb	.L320
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -264[rbp], rax
	jmp	.L321
.L320:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -264[rbp], rax
.L321:
	mov	QWORD PTR -280[rbp], 0
.L322:
	mov	rax, QWORD PTR -280[rbp]
	cmp	rax, QWORD PTR -264[rbp]
	jnb	.L392
	mov	rax, QWORD PTR -232[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -63
	mov	rax, QWORD PTR -240[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -280[rbp]
	add	rax, rdx
	movabs	rdx, -3689348814741910323
	mul	rdx
	mov	rax, rdx
	shr	rax, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -240[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -280[rbp]
	lea	rcx, [rdx+rax]
	movabs	rdx, -3689348814741910323
	mov	rax, rcx
	mul	rdx
	shr	rdx, 3
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	sub	rcx, rax
	mov	rdx, rcx
	mov	eax, edx
	lea	edx, [rsi+rax]
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 8[rax], 4
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 9[rax]
	and	edx, 63
	or	edx, -128
	mov	BYTE PTR 9[rax], dl
	mov	QWORD PTR -56[rbp], 10
	mov	rdx, QWORD PTR -112[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 4
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L325
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L325:
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -112[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	ecx, eax
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	esi, ecx
	and	esi, 15
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	or	ecx, esi
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -240[rbp]
	movzx	eax, BYTE PTR 2[rax]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 6[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -280[rbp], 1
	jmp	.L322
.L392:
	nop
.L324:
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jbe	.L326
	mov	rax, QWORD PTR -232[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -63
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 8[rax], 4
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 9[rax]
	and	edx, 63
	or	edx, 64
	mov	BYTE PTR 9[rax], dl
	mov	QWORD PTR -56[rbp], 10
	mov	rdx, QWORD PTR -112[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 4
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L327
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L327:
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 6[rax+rdx*8], -86
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -112[rbp]
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -112[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -280[rbp], 1
.L326:
	mov	rax, QWORD PTR -280[rbp]
	sal	rax, 3
	add	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], rdx
	jmp	.L315
.L381:
	nop
.L289:
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rdx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	jmp	.L368
.L382:
	nop
.L291:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 5
	ja	.L329
	mov	QWORD PTR -288[rbp], -1073741820
	jmp	.L315
.L329:
	mov	QWORD PTR -272[rbp], 5
.L330:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -56
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -152[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -152[rbp]
	movzx	ecx, BYTE PTR 1[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -152[rbp]
	movzx	ecx, BYTE PTR 2[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 9[rax]
	and	edx, 63
	or	edx, 64
	mov	BYTE PTR 9[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L393
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -144[rbp], rax
	sub	QWORD PTR -272[rbp], 1
	cmp	QWORD PTR -144[rbp], 0
	je	.L394
	jmp	.L330
.L393:
	nop
	jmp	.L333
.L394:
	nop
.L333:
	cmp	QWORD PTR -288[rbp], 0
	js	.L395
	mov	rax, QWORD PTR -232[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	QWORD PTR -272[rbp], 5
.L335:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -55
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 16
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -152[rbp]
	movzx	ecx, BYTE PTR 3[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 4[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -152[rbp]
	movzx	ecx, BYTE PTR 4[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	movzx	eax, BYTE PTR 5[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -152[rbp]
	movzx	ecx, BYTE PTR 5[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 9[rax]
	and	edx, 63
	or	edx, 64
	mov	BYTE PTR 9[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L396
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -136[rbp], rax
	sub	QWORD PTR -272[rbp], 1
	cmp	QWORD PTR -136[rbp], 0
	je	.L397
	jmp	.L335
.L396:
	nop
	jmp	.L338
.L397:
	nop
.L338:
	cmp	QWORD PTR -288[rbp], 0
	js	.L395
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 1
	jmp	.L395
.L383:
	nop
.L293:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 2
	ja	.L339
	mov	QWORD PTR -288[rbp], -1073741820
	jmp	.L315
.L339:
	mov	QWORD PTR -272[rbp], 5
.L340:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -56
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -168[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -168[rbp]
	movzx	ecx, BYTE PTR 1[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -168[rbp]
	movzx	ecx, BYTE PTR 2[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 9[rax]
	and	edx, 63
	or	edx, 64
	mov	BYTE PTR 9[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L398
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -160[rbp], rax
	sub	QWORD PTR -272[rbp], 1
	cmp	QWORD PTR -160[rbp], 0
	je	.L399
	jmp	.L340
.L398:
	nop
	jmp	.L315
.L399:
	nop
.L343:
	jmp	.L315
.L384:
	nop
.L295:
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -54
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 16
	mov	BYTE PTR 1[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	jmp	.L315
.L385:
	nop
.L297:
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -54
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	jmp	.L315
.L386:
	nop
.L299:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -208[rbp], rax
	mov	edx, 541156419
	mov	esi, 9
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 15
	ja	.L344
	mov	QWORD PTR -288[rbp], -1073741789
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L344:
	mov	rax, QWORD PTR -192[rbp]
	test	eax, eax
	jne	.L345
	mov	rax, QWORD PTR -208[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	QWORD PTR -288[rbp], -1073741670
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L345:
	mov	rax, QWORD PTR -208[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	je	.L346
	mov	rax, QWORD PTR -208[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	QWORD PTR -288[rbp], -1073741808
	jmp	.L315
.L346:
	mov	QWORD PTR -272[rbp], 5
.L347:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -52
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 8[rax], 6
	mov	rdx, QWORD PTR -192[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 6
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L400
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -184[rbp], rax
	sub	QWORD PTR -272[rbp], 1
	cmp	QWORD PTR -184[rbp], 0
	je	.L401
	cmp	QWORD PTR -288[rbp], -1073741661
	je	.L402
	jmp	.L347
.L400:
	nop
	jmp	.L351
.L401:
	nop
	jmp	.L351
.L402:
	nop
.L351:
	cmp	QWORD PTR -288[rbp], 0
	js	.L352
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L353
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 1[rax], 17
	jmp	.L354
.L353:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	jne	.L355
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 1[rax], 18
	jmp	.L354
.L355:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 2
	jne	.L356
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 1[rax], 18
	jmp	.L354
.L356:
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 3
	jne	.L357
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 1[rax], 19
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	jmp	.L354
.L357:
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	jmp	.L354
.L352:
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L354:
	mov	rax, QWORD PTR -232[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	QWORD PTR -272[rbp], 5
.L358:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -62
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR 8[rax], 9
	mov	rdx, QWORD PTR -192[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 9
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	cmp	QWORD PTR -288[rbp], 0
	jns	.L403
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -176[rbp], rax
	sub	QWORD PTR -272[rbp], 1
	cmp	QWORD PTR -176[rbp], 0
	je	.L404
	jmp	.L358
.L403:
	nop
	jmp	.L361
.L404:
	nop
.L361:
	cmp	QWORD PTR -288[rbp], 0
	js	.L362
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 2[rax], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 2[rax], 12
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 4[rax], 1
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	ecx, edx
	and	ecx, 15
	movzx	edx, BYTE PTR 5[rax]
	and	edx, -16
	or	edx, ecx
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -208[rbp]
	movzx	edx, BYTE PTR 5[rax]
	and	edx, 15
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 8[rax], 0
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 9[rax], dl
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 10[rax], dl
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 11[rax], dl
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 12[rax], 0
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 13[rax], dl
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 14[rax], dl
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 15[rax], dl
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 16
	jmp	.L315
.L362:
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L315
.L387:
	nop
.L301:
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -248[rbp]
	movzx	eax, BYTE PTR 88[rax]
	cmp	al, 9
	jne	.L364
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -232[rbp]
	mov	BYTE PTR [rax], -64
	mov	rax, QWORD PTR -232[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 1
	mov	BYTE PTR 1[rax], dl
	jmp	.L365
.L364:
	mov	BYTE PTR -74[rbp], 6
	mov	rax, QWORD PTR -224[rbp]
	mov	BYTE PTR [rax], 27
	mov	rax, QWORD PTR -224[rbp]
	movzx	edx, BYTE PTR 4[rax]
	or	edx, 2
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -224[rbp]
	movzx	edx, BYTE PTR 4[rax]
	and	edx, -2
	mov	BYTE PTR 4[rax], dl
.L365:
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -288[rbp], rax
	jmp	.L315
.L303:
.L305:
.L388:
	nop
	jmp	.L307
.L389:
	nop
	jmp	.L307
.L390:
	nop
.L307:
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	QWORD PTR -288[rbp], -1073741808
	jmp	.L315
.L378:
.L309:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	jmp	.L310
.L391:
	nop
.L310:
	mov	rdx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	jmp	.L368
.L312:
.L395:
	nop
.L315:
	cmp	QWORD PTR -288[rbp], -2147483626
	jne	.L366
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	eax, al
	and	eax, 2
	test	eax, eax
	je	.L367
	mov	QWORD PTR -288[rbp], -1073741435
	jmp	.L285
.L367:
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 56[rax], 0
.L366:
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR -288[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -288[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	rax, QWORD PTR -320[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, QWORD PTR -288[rbp]
.L368:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L369
	call	__stack_chk_fail@PLT
.L369:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	CdAudioPioneerDeviceControl, .-CdAudioPioneerDeviceControl
	.globl	CdAudioDenonDeviceControl
	.type	CdAudioDenonDeviceControl, @function
CdAudioDenonDeviceControl:
.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, 272
	mov	QWORD PTR -264[rbp], rdi
	mov	QWORD PTR -272[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -208[rbp], rax
	lea	rax, -80[rbp]
	add	rax, 48
	mov	QWORD PTR -200[rbp], rax
.L406:
	mov	rax, QWORD PTR -200[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147512
	je	.L485
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147456
	je	.L486
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147480
	je	.L487
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147464
	je	.L488
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147460
	je	.L489
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147468
	je	.L490
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147472
	je	.L491
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147500
	je	.L492
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149512
	je	.L493
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147508
	je	.L494
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147476
	je	.L495
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147496
	je	.L496
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149504
	jne	.L497
	jmp	.L483
.L485:
	nop
.L408:
	mov	QWORD PTR -248[rbp], -1073741808
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L438
.L486:
	nop
.L410:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 3
	ja	.L435
	mov	QWORD PTR -248[rbp], -1073741789
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L438
.L435:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	mov	BYTE PTR -249[rbp], al
	cmp	BYTE PTR -249[rbp], 0
	je	.L436
	mov	QWORD PTR -248[rbp], -2147483631
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L438
.L436:
	mov	edx, 541156419
	mov	esi, 804
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	test	eax, eax
	jne	.L437
	mov	QWORD PTR -248[rbp], -1073741670
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L438
.L437:
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 804
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], -23
	mov	QWORD PTR -56[rbp], 10
	mov	BYTE PTR -74[rbp], 6
	mov	rdx, QWORD PTR -120[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 804
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	jns	.L439
	cmp	QWORD PTR -248[rbp], -1073741764
	je	.L439
	cmp	QWORD PTR -248[rbp], -1073741764
	je	.L439
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L438
.L439:
	mov	QWORD PTR -248[rbp], 0
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, QWORD PTR 4[rax]
	mov	rax, QWORD PTR -64[rbp]
	cmp	rdx, rax
	jbe	.L440
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -112[rbp], rax
	jmp	.L441
.L440:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	mov	QWORD PTR -112[rbp], rax
.L441:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -208[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -208[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	cdqe
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	sal	rax, 3
	add	rax, 2
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	shr	rax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	sub	rax, 4
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	shr	rax, 3
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jnb	.L442
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -232[rbp], rax
	jmp	.L443
.L442:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -232[rbp], rax
.L443:
	mov	QWORD PTR -240[rbp], 0
.L444:
	mov	rax, QWORD PTR -240[rbp]
	cmp	rax, QWORD PTR -232[rbp]
	jnb	.L498
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	add	rax, 3
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	ecx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	esi, ecx
	and	esi, 15
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	or	ecx, esi
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	movzx	eax, BYTE PTR 2[rax]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 6[rax+rdx*8], cl
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 2
	lea	rdx, 13[rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 2
	lea	rdx, 13[rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	ecx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 2
	lea	rdx, 14[rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 2
	lea	rdx, 14[rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	ecx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 2
	lea	rdx, 15[rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 2
	lea	rdx, 15[rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	ecx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -240[rbp], 1
	jmp	.L444
.L498:
	nop
.L446:
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jbe	.L447
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 6[rax+rdx*8], -86
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 10
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 10
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 11
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 11
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -240[rbp], 1
.L447:
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	add	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 93[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 94[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 95[rax], 0
	jmp	.L438
.L412:
.L487:
	nop
	jmp	.L414
.L488:
	nop
.L414:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	BYTE PTR -74[rbp], 6
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], -25
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L448
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 93[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 94[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 95[rax], 0
.L448:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147464
	je	.L499
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 5
	ja	.L450
	mov	QWORD PTR -248[rbp], -1073741820
	jmp	.L438
.L450:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 34
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	movzx	ecx, BYTE PTR 1[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	movzx	ecx, BYTE PTR 2[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	movzx	ecx, BYTE PTR 3[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 4[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	movzx	ecx, BYTE PTR 4[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 5[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	movzx	ecx, BYTE PTR 5[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 7[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L451
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 1
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	movzx	ecx, BYTE PTR 3[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 93[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 4[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	movzx	ecx, BYTE PTR 4[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 94[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 5[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	movzx	ecx, BYTE PTR 5[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 95[rax], dl
	jmp	.L500
.L451:
	cmp	QWORD PTR -248[rbp], -1073741808
	jne	.L500
	mov	QWORD PTR -248[rbp], -1073741803
	jmp	.L500
.L489:
	nop
.L416:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 2
	ja	.L453
	mov	QWORD PTR -248[rbp], -1073741820
	jmp	.L438
.L453:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 34
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 1[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 2[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 1[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 2[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 7[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L454
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 1
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 1[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 2[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 93[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 1[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 94[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	sal	eax, 4
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 2[rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	add	edx, esi
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 95[rax], dl
	jmp	.L501
.L454:
	cmp	QWORD PTR -248[rbp], -1073741808
	jne	.L501
	mov	QWORD PTR -248[rbp], -1073741803
	jmp	.L501
.L490:
	nop
.L418:
	mov	edx, 541156419
	mov	esi, 10
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -152[rbp]
	test	eax, eax
	jne	.L456
	mov	QWORD PTR -248[rbp], -1073741670
	jmp	.L438
.L456:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR 89[rax]
	cmp	al, 1
	jne	.L457
	mov	QWORD PTR -248[rbp], 0
	jmp	.L438
.L457:
	mov	BYTE PTR -74[rbp], 6
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], -21
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 4[rax], 10
	mov	rdx, QWORD PTR -152[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 10
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L502
	mov	rax, QWORD PTR -152[rbp]
	movzx	edx, BYTE PTR 7[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	movzx	edx, BYTE PTR 8[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	movzx	edx, BYTE PTR 9[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	BYTE PTR -74[rbp], 6
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], -25
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L503
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 1
	mov	rax, QWORD PTR -152[rbp]
	movzx	edx, BYTE PTR 7[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	movzx	edx, BYTE PTR 8[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], dl
	mov	rax, QWORD PTR -152[rbp]
	movzx	edx, BYTE PTR 9[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], dl
	jmp	.L438
.L491:
	nop
.L420:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR 89[rax]
	test	al, al
	jne	.L460
	mov	QWORD PTR -248[rbp], -1073741823
	jmp	.L438
.L460:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 34
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 90[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 91[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 92[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 93[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 94[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 95[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 7[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L504
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 0
	jmp	.L504
.L492:
	nop
.L422:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -184[rbp], rax
	mov	edx, 541156419
	mov	esi, 24
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 15
	ja	.L462
	mov	QWORD PTR -248[rbp], -1073741789
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L438
.L462:
	mov	rax, QWORD PTR -168[rbp]
	test	eax, eax
	jne	.L463
	mov	rax, QWORD PTR -184[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	QWORD PTR -248[rbp], -1073741670
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L438
.L463:
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	je	.L464
	mov	rax, QWORD PTR -184[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	QWORD PTR -248[rbp], -1073741823
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L438
.L464:
	mov	BYTE PTR -74[rbp], 6
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], -21
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 4[rax], 10
	mov	rdx, QWORD PTR -168[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 10
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L465
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR 89[rax]
	cmp	al, 1
	jne	.L466
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 1[rax], 18
	jmp	.L467
.L466:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	jne	.L468
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 1[rax], 17
	jmp	.L467
.L468:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L469
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 1[rax], 19
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	jmp	.L467
.L469:
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
.L467:
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 2[rax], 0
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 2[rax], 12
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 4[rax], 1
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	edx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	ecx, edx
	and	ecx, 15
	movzx	edx, BYTE PTR 5[rax]
	and	edx, -16
	or	edx, ecx
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -184[rbp]
	movzx	edx, BYTE PTR 5[rax]
	and	edx, 15
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 8[rax], 0
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 9[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 10[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 9
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 11[rax], dl
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 12[rax], 0
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 13[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 14[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	BYTE PTR 15[rax], dl
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 16
	jmp	.L438
.L465:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L438
.L493:
	nop
.L424:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	BYTE PTR -74[rbp], 6
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], -26
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	jmp	.L438
.L426:
.L428:
.L494:
	nop
	jmp	.L430
.L495:
	nop
	jmp	.L430
.L496:
	nop
.L430:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	QWORD PTR -248[rbp], -1073741808
	jmp	.L438
.L483:
.L432:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	jmp	.L433
.L497:
	nop
.L433:
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	jmp	.L474
.L434:
.L499:
	nop
	jmp	.L438
.L500:
	nop
	jmp	.L438
.L501:
	nop
	jmp	.L438
.L502:
	nop
	jmp	.L438
.L503:
	nop
	jmp	.L438
.L504:
	nop
.L438:
	cmp	QWORD PTR -248[rbp], -2147483626
	jne	.L472
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	eax, al
	and	eax, 2
	test	eax, eax
	je	.L473
	mov	QWORD PTR -248[rbp], -1073741435
	jmp	.L406
.L473:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
.L472:
	mov	rax, QWORD PTR -272[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	rax, QWORD PTR -272[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, QWORD PTR -248[rbp]
.L474:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L475
	call	__stack_chk_fail@PLT
.L475:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	CdAudioDenonDeviceControl, .-CdAudioDenonDeviceControl
	.globl	CdAudioHitachiSendPauseCommand
	.type	CdAudioHitachiSendPauseCommand, @function
CdAudioHitachiSendPauseCommand:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -136[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -120[rbp], rax
	lea	rax, -80[rbp]
	add	rax, 48
	mov	QWORD PTR -112[rbp], rax
	mov	edx, 541156419
	mov	esi, 3
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	test	eax, eax
	jne	.L506
	mov	rax, -1073741670
	jmp	.L508
.L506:
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, 3
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	BYTE PTR -74[rbp], 12
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -112[rbp]
	mov	BYTE PTR [rax], -31
	mov	rdx, QWORD PTR -96[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 3
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
.L508:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L509
	call	__stack_chk_fail@PLT
.L509:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	CdAudioHitachiSendPauseCommand, .-CdAudioHitachiSendPauseCommand
	.globl	CdAudioHitachiDeviceControl
	.type	CdAudioHitachiDeviceControl, @function
CdAudioHitachiDeviceControl:
.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, 336
	mov	QWORD PTR -328[rbp], rdi
	mov	QWORD PTR -336[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -256[rbp], rax
	lea	rax, -80[rbp]
	add	rax, 48
	mov	QWORD PTR -248[rbp], rax
.L511:
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147456
	je	.L604
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147464
	je	.L605
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147480
	je	.L606
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147460
	je	.L607
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147468
	je	.L608
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147472
	je	.L609
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147500
	je	.L610
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149512
	je	.L611
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147508
	je	.L612
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147476
	je	.L613
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147496
	je	.L614
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149504
	jne	.L615
	jmp	.L601
.L604:
	nop
.L513:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 3
	ja	.L537
	mov	QWORD PTR -304[rbp], -1073741789
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L541
.L537:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	mov	BYTE PTR -305[rbp], al
	cmp	BYTE PTR -305[rbp], 0
	je	.L539
	mov	QWORD PTR -304[rbp], -2147483631
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L541
.L539:
	mov	edx, 541156419
	mov	esi, 804
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	test	eax, eax
	jne	.L540
	mov	QWORD PTR -304[rbp], -1073741670
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L541
.L540:
	mov	rax, QWORD PTR -144[rbp]
	mov	edx, 804
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	BYTE PTR -74[rbp], 12
	mov	rax, QWORD PTR -264[rbp]
	movzx	eax, BYTE PTR 88[rax]
	cmp	al, 5
	jne	.L542
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], -29
	jmp	.L543
.L542:
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], -24
.L543:
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 9[rax], 3
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 10[rax], 36
	mov	QWORD PTR -56[rbp], 10
	mov	rdx, QWORD PTR -144[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, 804
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -304[rbp], rax
	cmp	QWORD PTR -304[rbp], 0
	jns	.L544
	cmp	QWORD PTR -304[rbp], -1073741764
	je	.L545
	cmp	QWORD PTR -304[rbp], -1073741764
	je	.L546
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L541
.L545:
	mov	QWORD PTR -304[rbp], 0
	jmp	.L546
.L544:
	mov	QWORD PTR -304[rbp], 0
.L546:
	mov	rax, QWORD PTR -264[rbp]
	movzx	eax, BYTE PTR 88[rax]
	cmp	al, 6
	jne	.L547
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 804
	jbe	.L548
	mov	QWORD PTR -136[rbp], 804
	jmp	.L549
.L548:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 4[rax]
	mov	QWORD PTR -136[rbp], rax
.L549:
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 3[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	cdqe
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	sal	rax, 3
	add	rax, 2
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	shr	rax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -256[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -256[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 4[rax]
	sub	rax, 4
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	shr	rax, 3
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jnb	.L550
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -288[rbp], rax
	jmp	.L551
.L550:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -288[rbp], rax
.L551:
	mov	QWORD PTR -296[rbp], 0
.L552:
	mov	rax, QWORD PTR -296[rbp]
	cmp	rax, QWORD PTR -288[rbp]
	jnb	.L616
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -296[rbp]
	add	rax, 2
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 4
	mov	ecx, eax
	mov	rax, QWORD PTR -296[rbp]
	add	rax, 2
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	or	eax, ecx
	and	eax, 15
	mov	ecx, eax
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	esi, ecx
	and	esi, 15
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	or	ecx, esi
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -296[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR 2[rax]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 6[rax+rdx*8], cl
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -296[rbp]
	sal	rax, 2
	lea	rdx, 9[rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -296[rbp]
	sal	rax, 2
	lea	rdx, 10[rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -296[rbp]
	sal	rax, 2
	lea	rdx, 11[rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -296[rbp], 1
	jmp	.L552
.L616:
	nop
.L554:
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jbe	.L555
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 6[rax+rdx*8], -86
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 5[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 6[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 7[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -296[rbp], 1
.L555:
	mov	rax, QWORD PTR -296[rbp]
	sal	rax, 3
	add	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 90[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 91[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 92[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 93[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 94[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 95[rax], 0
	jmp	.L541
.L547:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 804
	jbe	.L557
	mov	QWORD PTR -136[rbp], 804
	jmp	.L558
.L557:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 4[rax]
	mov	QWORD PTR -136[rbp], rax
.L558:
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	cdqe
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	sal	rax, 3
	add	rax, 2
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	shr	rax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -256[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -256[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 4[rax]
	sub	rax, 4
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	shr	rax, 3
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	cmp	rax, QWORD PTR -128[rbp]
	jnb	.L559
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -280[rbp], rax
	jmp	.L560
.L559:
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -280[rbp], rax
.L560:
	mov	QWORD PTR -296[rbp], 0
.L561:
	mov	rax, QWORD PTR -296[rbp]
	cmp	rax, QWORD PTR -280[rbp]
	jnb	.L617
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	lea	rdx, 6[rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L564
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	or	ecx, 4
	mov	BYTE PTR 5[rax+rdx*8], cl
	jmp	.L565
.L564:
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	mov	BYTE PTR 5[rax+rdx*8], cl
.L565:
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, 15
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -296[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR 2[rax]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 6[rax+rdx*8], cl
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	lea	rdx, 6[rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 127
	mov	ecx, eax
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	lea	rdx, 7[rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -296[rbp], 1
	jmp	.L561
.L617:
	nop
.L563:
	mov	rax, QWORD PTR -112[rbp]
	cmp	rax, QWORD PTR -128[rbp]
	jbe	.L566
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 6[rax+rdx*8], -86
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 3[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 4[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR 5[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -296[rbp], 1
.L566:
	mov	rax, QWORD PTR -296[rbp]
	sal	rax, 3
	add	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], rdx
	jmp	.L541
.L605:
	nop
.L515:
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -328[rbp]
	mov	rdi, rax
	call	CdAudioHitachiSendPauseCommand
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 90[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 91[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 92[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 93[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 94[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 95[rax], 0
	mov	rdx, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR -328[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	jmp	.L591
.L606:
	nop
.L517:
	mov	rax, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 5
	ja	.L568
	mov	QWORD PTR -304[rbp], -1073741820
	jmp	.L541
.L568:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdi, rax
	call	CdAudioHitachiSendPauseCommand
	mov	BYTE PTR -74[rbp], 12
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], -32
	mov	rax, QWORD PTR -248[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 1
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 3[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 4[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 8[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 5[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 9[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -304[rbp], rax
	cmp	QWORD PTR -304[rbp], 0
	js	.L618
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 96[rax], 1
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 90[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 91[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 92[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 3[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 93[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 4[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 94[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 5[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 95[rax], dl
	jmp	.L618
.L607:
	nop
.L519:
	mov	rax, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 2
	ja	.L570
	mov	QWORD PTR -304[rbp], -1073741820
	jmp	.L541
.L570:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdi, rax
	call	CdAudioHitachiSendPauseCommand
	mov	BYTE PTR -74[rbp], 12
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], -32
	mov	rax, QWORD PTR -248[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 1
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 8[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 9[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -304[rbp], rax
	cmp	QWORD PTR -304[rbp], 0
	js	.L619
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 90[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 91[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 92[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 93[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 94[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 95[rax], dl
	jmp	.L619
.L608:
	nop
.L521:
	mov	edx, 541156419
	mov	esi, 3
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -184[rbp]
	test	eax, eax
	jne	.L572
	mov	QWORD PTR -304[rbp], -1073741670
	jmp	.L541
.L572:
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -184[rbp]
	mov	edx, 3
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	BYTE PTR -74[rbp], 12
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], -31
	mov	rdx, QWORD PTR -184[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, 3
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -304[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 89[rax], 1
	mov	rax, QWORD PTR -184[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 90[rax], dl
	mov	rax, QWORD PTR -184[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 91[rax], dl
	mov	rax, QWORD PTR -184[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 92[rax], dl
	jmp	.L541
.L609:
	nop
.L523:
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -328[rbp]
	mov	rdi, rax
	call	CdAudioHitachiSendPauseCommand
	mov	BYTE PTR -74[rbp], 12
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], -32
	mov	rax, QWORD PTR -248[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 1
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -264[rbp]
	movzx	edx, BYTE PTR 90[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -264[rbp]
	movzx	edx, BYTE PTR 91[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -264[rbp]
	movzx	edx, BYTE PTR 92[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -264[rbp]
	movzx	edx, BYTE PTR 93[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -264[rbp]
	movzx	edx, BYTE PTR 94[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 8[rax], dl
	mov	rax, QWORD PTR -264[rbp]
	movzx	edx, BYTE PTR 95[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR 9[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -304[rbp], rax
	cmp	QWORD PTR -304[rbp], 0
	js	.L620
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 89[rax], 0
	jmp	.L620
.L610:
	nop
.L525:
	mov	rax, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -216[rbp], rax
	mov	edx, 541156419
	mov	esi, 24
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 15
	ja	.L574
	mov	QWORD PTR -304[rbp], -1073741789
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L541
.L574:
	mov	rax, QWORD PTR -200[rbp]
	test	eax, eax
	jne	.L575
	mov	QWORD PTR -304[rbp], -1073741670
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L541
.L575:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	je	.L576
	mov	QWORD PTR -304[rbp], -1073741823
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L541
.L576:
	mov	BYTE PTR -74[rbp], 12
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], -27
.L577:
	mov	rdx, QWORD PTR -200[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, 24
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -304[rbp], rax
	cmp	QWORD PTR -304[rbp], 0
	jns	.L621
	cmp	QWORD PTR -304[rbp], -1073741764
	jne	.L580
	jmp	.L579
.L621:
	nop
.L579:
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 15
	cmp	eax, 1
	je	.L581
	jmp	.L577
.L581:
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -264[rbp]
	movzx	eax, BYTE PTR 89[rax]
	cmp	al, 1
	jne	.L582
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 1[rax], 18
	jmp	.L583
.L582:
	mov	rax, QWORD PTR -200[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	jne	.L584
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 1[rax], 17
	jmp	.L583
.L584:
	mov	rax, QWORD PTR -200[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L585
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 1[rax], 19
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 96[rax], 0
	jmp	.L583
.L585:
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 96[rax], 0
.L583:
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 2[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 2[rax], 12
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 4[rax], 1
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	and	eax, 15
	mov	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, edx
	and	ecx, 15
	movzx	edx, BYTE PTR 5[rax]
	and	edx, -16
	or	edx, ecx
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	edx, eax
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, edx
	sal	ecx, 4
	movzx	edx, BYTE PTR 5[rax]
	and	edx, 15
	or	edx, ecx
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 3[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 8[rax], 0
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 8[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 9[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 9[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 10[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 10[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 11[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 12[rax], 0
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 4[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 13[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 5[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 14[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 6[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 15[rax], dl
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 16
	mov	QWORD PTR -304[rbp], 0
	jmp	.L541
.L580:
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L541
.L611:
	nop
.L527:
	mov	edx, 541156419
	mov	esi, 1
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -224[rbp]
	test	eax, eax
	jne	.L587
	mov	QWORD PTR -304[rbp], -1073741670
	jmp	.L541
.L587:
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	BYTE PTR -74[rbp], 12
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], -28
	mov	rax, QWORD PTR -248[rbp]
	movzx	edx, BYTE PTR 10[rax]
	or	edx, 1
	mov	BYTE PTR 10[rax], dl
	mov	rdx, QWORD PTR -224[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -304[rbp], rax
	cmp	QWORD PTR -304[rbp], 0
	js	.L622
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 90[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 91[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 92[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 93[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 94[rax], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	BYTE PTR 95[rax], 0
	jmp	.L622
.L529:
.L531:
.L612:
	nop
	jmp	.L533
.L613:
	nop
	jmp	.L533
.L614:
	nop
.L533:
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	QWORD PTR -304[rbp], -1073741808
	jmp	.L541
.L601:
.L535:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	jmp	.L536
.L615:
	nop
.L536:
	mov	rdx, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR -328[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -240[rbp]
	jmp	.L591
.L538:
.L618:
	nop
	jmp	.L541
.L619:
	nop
	jmp	.L541
.L620:
	nop
	jmp	.L541
.L622:
	nop
.L541:
	cmp	QWORD PTR -304[rbp], -2147483626
	jne	.L589
	mov	rax, QWORD PTR -272[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	eax, al
	and	eax, 2
	test	eax, eax
	je	.L590
	mov	QWORD PTR -304[rbp], -1073741435
	jmp	.L511
.L590:
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR 56[rax], 0
.L589:
	mov	rax, QWORD PTR -336[rbp]
	mov	rdx, QWORD PTR -304[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -304[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	rax, QWORD PTR -336[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, QWORD PTR -304[rbp]
.L591:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L592
	call	__stack_chk_fail@PLT
.L592:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	CdAudioHitachiDeviceControl, .-CdAudioHitachiDeviceControl
	.globl	CdAudio535DeviceControl
	.type	CdAudio535DeviceControl, @function
CdAudio535DeviceControl:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 272
	mov	QWORD PTR -264[rbp], rdi
	mov	QWORD PTR -272[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -208[rbp], rax
	lea	rax, -80[rbp]
	add	rax, 48
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147512
	je	.L692
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147456
	je	.L693
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147500
	je	.L694
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147480
	je	.L695
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147460
	je	.L696
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149512
	je	.L697
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147508
	je	.L698
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147476
	je	.L699
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147496
	je	.L700
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149504
	jne	.L701
	jmp	.L690
.L692:
	nop
.L625:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	mov	BYTE PTR -249[rbp], al
	cmp	BYTE PTR -249[rbp], 0
	je	.L645
	mov	QWORD PTR -248[rbp], -2147483631
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L645:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 11
	ja	.L647
	mov	QWORD PTR -248[rbp], -1073741789
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L647:
	mov	edx, 541156419
	mov	esi, 16
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	test	eax, eax
	jne	.L648
	mov	QWORD PTR -248[rbp], -1073741670
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L648:
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	BYTE PTR -74[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 38
	mov	QWORD PTR -56[rbp], 10
	mov	rdx, QWORD PTR -88[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 16
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	jns	.L650
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L650:
	mov	QWORD PTR -248[rbp], 0
	mov	QWORD PTR -120[rbp], 12
	mov	rax, QWORD PTR -272[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -120[rbp]
	sub	rax, 2
	shr	rax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L702
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 2[rax], 1
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 3[rax], 2
	mov	rax, QWORD PTR -208[rbp]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	jmp	.L649
.L693:
	nop
.L627:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 3
	ja	.L652
	mov	QWORD PTR -248[rbp], -1073741789
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L652:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	mov	BYTE PTR -250[rbp], al
	cmp	BYTE PTR -250[rbp], 0
	je	.L653
	mov	QWORD PTR -248[rbp], -2147483631
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L653:
	mov	edx, 541156419
	mov	esi, 804
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	test	eax, eax
	jne	.L654
	mov	QWORD PTR -248[rbp], -1073741670
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L654:
	mov	rax, QWORD PTR -128[rbp]
	mov	edx, 804
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 67
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 1[rax]
	and	edx, -7
	or	edx, 2
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 7[rax], 3
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 8[rax], 36
	mov	QWORD PTR -56[rbp], 10
	mov	BYTE PTR -74[rbp], 10
	mov	rdx, QWORD PTR -128[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 804
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	jns	.L655
	cmp	QWORD PTR -248[rbp], -1073741764
	je	.L656
	cmp	QWORD PTR -248[rbp], -1073741764
	je	.L657
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L656:
	mov	QWORD PTR -248[rbp], 0
	jmp	.L657
.L655:
	mov	QWORD PTR -248[rbp], 0
.L657:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 804
	jbe	.L658
	mov	QWORD PTR -120[rbp], 804
	jmp	.L659
.L658:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	mov	QWORD PTR -120[rbp], rax
.L659:
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -208[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -208[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	cdqe
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	sub	rax, 4
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	shr	rax, 3
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	cmp	rax, QWORD PTR -112[rbp]
	jnb	.L660
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -232[rbp], rax
	jmp	.L661
.L660:
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -232[rbp], rax
.L661:
	mov	QWORD PTR -240[rbp], 0
.L662:
	mov	rax, QWORD PTR -240[rbp]
	cmp	rax, QWORD PTR -232[rbp]
	jnb	.L703
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 5[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	ecx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	esi, ecx
	and	esi, 15
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	or	ecx, esi
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 6[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 6[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	ecx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 6[rax+rdx*8], cl
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 9[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 10[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 11[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -240[rbp], 1
	jmp	.L662
.L703:
	nop
.L664:
	mov	rax, QWORD PTR -104[rbp]
	cmp	rax, QWORD PTR -112[rbp]
	jbe	.L665
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 5[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	ecx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	esi, ecx
	and	esi, 15
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	or	ecx, esi
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 6[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 6[rax+rdx*8], cl
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 9[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 10[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 11[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -240[rbp], 1
.L665:
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	add	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], rdx
	jmp	.L649
.L694:
	nop
.L629:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -160[rbp], rax
	mov	edx, 541156419
	mov	esi, 16
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 15
	ja	.L666
	mov	QWORD PTR -248[rbp], -1073741789
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L666:
	mov	rax, QWORD PTR -144[rbp]
	test	eax, eax
	jne	.L667
	mov	rax, QWORD PTR -160[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	QWORD PTR -248[rbp], -1073741670
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L667:
	mov	rax, QWORD PTR -160[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	je	.L668
	mov	rax, QWORD PTR -160[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	QWORD PTR -248[rbp], -1073741823
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L668:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 66
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 2
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 2[rax]
	or	edx, 64
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 3[rax], 1
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 8[rax], 16
	mov	rdx, QWORD PTR -144[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 16
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L669
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 17
	jne	.L670
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 1
	jmp	.L671
.L670:
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
.L671:
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 2[rax], 0
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 3[rax], 12
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 4[rax], 1
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	edx, eax
	mov	rax, QWORD PTR -160[rbp]
	mov	ecx, edx
	and	ecx, 15
	movzx	edx, BYTE PTR 5[rax]
	and	edx, -16
	or	edx, ecx
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -160[rbp]
	movzx	edx, BYTE PTR 5[rax]
	and	edx, 15
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 8[rax], 0
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 9[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 9[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 10[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 10[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 11[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 11[rax], dl
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 12[rax], 0
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 13[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 13[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 14[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 14[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 15[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR 15[rax], dl
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 16
	jmp	.L649
.L669:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L649
.L695:
	nop
.L631:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 5
	ja	.L673
	mov	QWORD PTR -248[rbp], -1073741820
	jmp	.L649
.L673:
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 3[rax]
	cmp	dl, al
	jne	.L704
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 4[rax]
	cmp	dl, al
	jne	.L705
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, BYTE PTR 5[rax]
	cmp	dl, al
	jne	.L706
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 75
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 8[rax], 0
	jmp	.L677
.L704:
	nop
	jmp	.L674
.L705:
	nop
	jmp	.L674
.L706:
	nop
.L674:
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 71
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 3[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 4[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -168[rbp]
	movzx	edx, BYTE PTR 5[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 8[rax], dl
.L677:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L707
	mov	rax, QWORD PTR -200[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 71
	jne	.L707
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 1
	jmp	.L707
.L696:
	nop
.L633:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 2
	ja	.L679
	mov	QWORD PTR -248[rbp], -1073741820
	jmp	.L649
.L679:
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, rdx
	sal	rax, 4
	sub	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR 1[rax]
	movzx	eax, al
	add	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	mov	rdx, rax
	sal	rdx, 4
	sub	rdx, rax
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	eax, al
	add	rax, rdx
	sub	rax, 150
	mov	QWORD PTR -176[rbp], rax
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 43
	mov	rax, QWORD PTR -176[rbp]
	shr	rax, 24
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	shr	rax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	shr	rax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 5[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	jmp	.L649
.L697:
	nop
.L635:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], -64
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	jmp	.L649
.L637:
.L639:
.L698:
	nop
	jmp	.L641
.L699:
	nop
	jmp	.L641
.L700:
	nop
.L641:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	QWORD PTR -248[rbp], -1073741808
	jmp	.L649
.L690:
.L643:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	jmp	.L644
.L701:
	nop
.L644:
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	jmp	.L682
.L646:
.L702:
	nop
	jmp	.L649
.L707:
	nop
.L649:
	cmp	QWORD PTR -248[rbp], -2147483626
	jne	.L681
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
.L681:
	mov	rax, QWORD PTR -272[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	rax, QWORD PTR -272[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, QWORD PTR -248[rbp]
.L682:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L683
	call	__stack_chk_fail@PLT
.L683:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	CdAudio535DeviceControl, .-CdAudio535DeviceControl
	.globl	CdAudio435DeviceControl
	.type	CdAudio435DeviceControl, @function
CdAudio435DeviceControl:
.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, 272
	mov	QWORD PTR -264[rbp], rdi
	mov	QWORD PTR -272[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -208[rbp], rax
	lea	rax, -80[rbp]
	add	rax, 48
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147456
	je	.L784
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147480
	je	.L785
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147464
	je	.L786
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147460
	je	.L787
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147468
	je	.L788
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147472
	je	.L789
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147500
	je	.L790
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149512
	je	.L791
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147508
	je	.L792
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147476
	je	.L793
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147496
	je	.L794
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 149504
	jne	.L795
	jmp	.L782
.L784:
	nop
.L710:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 3
	ja	.L734
	mov	QWORD PTR -248[rbp], -1073741789
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L738
.L734:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	mov	BYTE PTR -249[rbp], al
	cmp	BYTE PTR -249[rbp], 0
	je	.L736
	mov	QWORD PTR -248[rbp], -2147483631
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L738
.L736:
	mov	edx, 541156419
	mov	esi, 804
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	test	eax, eax
	jne	.L737
	mov	QWORD PTR -248[rbp], -1073741670
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L738
.L737:
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, 804
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 67
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 2
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 7[rax], 3
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 8[rax], 36
	mov	QWORD PTR -56[rbp], 10
	mov	BYTE PTR -74[rbp], 10
	mov	rdx, QWORD PTR -112[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 804
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	jns	.L739
	cmp	QWORD PTR -248[rbp], -1073741764
	je	.L740
	cmp	QWORD PTR -248[rbp], -1073741764
	je	.L741
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L738
.L740:
	mov	QWORD PTR -248[rbp], 0
	jmp	.L741
.L739:
	mov	QWORD PTR -248[rbp], 0
.L741:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 804
	jbe	.L742
	mov	QWORD PTR -104[rbp], 804
	jmp	.L743
.L742:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	mov	QWORD PTR -104[rbp], rax
.L743:
	mov	rax, QWORD PTR -112[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -112[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -208[rbp]
	movzx	eax, BYTE PTR 3[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -208[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	cdqe
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	sub	rax, 4
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	shr	rax, 3
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -96[rbp]
	jnb	.L744
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -232[rbp], rax
	jmp	.L745
.L744:
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -232[rbp], rax
.L745:
	mov	QWORD PTR -240[rbp], 0
.L746:
	mov	rax, QWORD PTR -240[rbp]
	cmp	rax, QWORD PTR -232[rbp]
	jnb	.L796
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 5[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	ecx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	esi, ecx
	and	esi, 15
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	or	ecx, esi
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 6[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	ecx, eax
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 6[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	ecx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 6[rax+rdx*8], cl
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 9[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 10[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 11[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -240[rbp], 1
	jmp	.L746
.L796:
	nop
.L748:
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -96[rbp]
	jbe	.L749
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 4[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 5[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	ecx, eax
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	esi, ecx
	and	esi, 15
	movzx	ecx, BYTE PTR 5[rax+rdx*8]
	and	ecx, -16
	or	ecx, esi
	mov	BYTE PTR 5[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 6[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 6[rax+rdx*8], cl
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 7[rax+rdx*8], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 8[rax+rdx*8], 0
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 9[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 9[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 10[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 10[rax+rdx*8], cl
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	lea	rdx, 11[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	BYTE PTR 11[rax+rdx*8], cl
	add	QWORD PTR -240[rbp], 1
.L749:
	mov	rax, QWORD PTR -240[rbp]
	sal	rax, 3
	add	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 93[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 94[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 95[rax], 0
	jmp	.L738
.L712:
.L785:
	nop
	jmp	.L714
.L786:
	nop
.L714:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], -58
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L750
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 93[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 94[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 95[rax], 0
.L750:
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147464
	je	.L797
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 5
	ja	.L752
	mov	QWORD PTR -248[rbp], -1073741820
	jmp	.L738
.L752:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 71
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR 3[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR 4[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR 5[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 8[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L798
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 1
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR 3[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 93[rax], dl
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR 4[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 94[rax], dl
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR 5[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 95[rax], dl
	jmp	.L798
.L787:
	nop
.L716:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 12[rax]
	cmp	rax, 2
	ja	.L754
	mov	QWORD PTR -248[rbp], -1073741820
	jmp	.L738
.L754:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 71
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 8[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L755
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 1
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 93[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR 1[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 94[rax], dl
	mov	rax, QWORD PTR -136[rbp]
	movzx	edx, BYTE PTR 2[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 95[rax], dl
	jmp	.L799
.L755:
	cmp	QWORD PTR -248[rbp], -1073741808
	jne	.L799
	mov	QWORD PTR -248[rbp], -1073741803
	jmp	.L799
.L788:
	nop
.L718:
	mov	edx, 541156419
	mov	esi, 24
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -144[rbp]
	test	eax, eax
	jne	.L757
	mov	QWORD PTR -248[rbp], -1073741670
	jmp	.L738
.L757:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR 89[rax]
	cmp	al, 1
	jne	.L758
	mov	QWORD PTR -248[rbp], 0
	jmp	.L738
.L758:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 66
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 2
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 2[rax]
	or	edx, 64
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 8[rax], 24
	mov	rdx, QWORD PTR -144[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 24
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L800
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 9[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 10[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 11[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	mov	edx, 12
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], -58
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L801
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 1
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 9[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 10[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR 11[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], dl
	jmp	.L738
.L789:
	nop
.L720:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR 89[rax]
	test	al, al
	jne	.L761
	mov	QWORD PTR -248[rbp], -1073741823
	jmp	.L738
.L761:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 71
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 90[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 91[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 4[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 92[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 93[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 94[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -216[rbp]
	movzx	edx, BYTE PTR 95[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 8[rax], dl
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L802
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 1
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 0
	jmp	.L802
.L790:
	nop
.L722:
	mov	rax, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -176[rbp], rax
	mov	edx, 541156419
	mov	esi, 24
	mov	edi, 4
	call	ExAllocatePoolWithTag
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 4[rax]
	cmp	rax, 15
	ja	.L763
	mov	QWORD PTR -248[rbp], -1073741789
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L738
.L763:
	mov	rax, QWORD PTR -160[rbp]
	test	eax, eax
	jne	.L764
	mov	rax, QWORD PTR -176[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	QWORD PTR -248[rbp], -1073741670
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L738
.L764:
	mov	rax, QWORD PTR -176[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	je	.L765
	mov	rax, QWORD PTR -176[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	QWORD PTR -248[rbp], -1073741823
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L738
.L765:
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], 66
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 1[rax]
	or	edx, 2
	mov	BYTE PTR 1[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	movzx	edx, BYTE PTR 2[rax]
	or	edx, 64
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR 8[rax], 24
	mov	rdx, QWORD PTR -160[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 24
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], 0
	js	.L766
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR 89[rax]
	cmp	al, 1
	jne	.L767
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 1[rax], 18
	jmp	.L768
.L767:
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 17
	jne	.L769
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 1
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 1[rax], 17
	jmp	.L768
.L769:
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 1[rax], 19
.L768:
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 2[rax], 0
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 3[rax], 12
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 4[rax], 1
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	edx, eax
	mov	rax, QWORD PTR -176[rbp]
	mov	ecx, edx
	and	ecx, 15
	movzx	edx, BYTE PTR 5[rax]
	and	edx, -16
	or	edx, ecx
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	movzx	edx, BYTE PTR 5[rax]
	and	edx, 15
	mov	BYTE PTR 5[rax], dl
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 6[rax], dl
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	shr	al, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -160[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	add	edx, eax
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 7[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 8[rax], 0
	mov	rax, QWORD PTR -160[rbp]
	movzx	edx, BYTE PTR 9[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 9[rax], dl
	mov	rax, QWORD PTR -160[rbp]
	movzx	edx, BYTE PTR 10[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 10[rax], dl
	mov	rax, QWORD PTR -160[rbp]
	movzx	edx, BYTE PTR 11[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 11[rax], dl
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 12[rax], 0
	mov	rax, QWORD PTR -160[rbp]
	movzx	edx, BYTE PTR 13[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 13[rax], dl
	mov	rax, QWORD PTR -160[rbp]
	movzx	edx, BYTE PTR 14[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 14[rax], dl
	mov	rax, QWORD PTR -160[rbp]
	movzx	edx, BYTE PTR 15[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	BYTE PTR 15[rax], dl
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 16
	jmp	.L738
.L766:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L738
.L791:
	nop
.L724:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	BYTE PTR -74[rbp], 10
	mov	QWORD PTR -56[rbp], 10
	mov	rax, QWORD PTR -200[rbp]
	mov	BYTE PTR [rax], -64
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 89[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 90[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 91[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 92[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 93[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 94[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 95[rax], 0
	jmp	.L738
.L726:
.L728:
.L792:
	nop
	jmp	.L730
.L793:
	nop
	jmp	.L730
.L794:
	nop
.L730:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	QWORD PTR -248[rbp], -1073741808
	jmp	.L738
.L782:
.L732:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdi, rax
	call	CdAudioIsPlayActive
	mov	BYTE PTR -250[rbp], al
	cmp	BYTE PTR -250[rbp], 1
	jne	.L771
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 1
	mov	QWORD PTR -248[rbp], 0
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
	jmp	.L738
.L771:
	mov	rax, QWORD PTR -216[rbp]
	mov	BYTE PTR 96[rax], 0
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	jmp	.L774
.L795:
	nop
.L733:
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	jmp	.L774
.L735:
.L797:
	nop
	jmp	.L738
.L798:
	nop
	jmp	.L738
.L799:
	nop
	jmp	.L738
.L800:
	nop
	jmp	.L738
.L801:
	nop
	jmp	.L738
.L802:
	nop
.L738:
	cmp	QWORD PTR -248[rbp], -2147483626
	jne	.L773
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR 56[rax], 0
.L773:
	mov	rax, QWORD PTR -272[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	rax, QWORD PTR -272[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, QWORD PTR -248[rbp]
.L774:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L775
	call	__stack_chk_fail@PLT
.L775:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	CdAudio435DeviceControl, .-CdAudio435DeviceControl
	.globl	CdAudioAtapiDeviceControl
	.type	CdAudioAtapiDeviceControl, @function
CdAudioAtapiDeviceControl:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -112[rbp], rax
	lea	rax, -80[rbp]
	add	rax, 48
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147464
	jne	.L804
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	rax, QWORD PTR -120[rbp]
	mov	BYTE PTR 96[rax], 0
	lea	rax, -80[rbp]
	mov	edx, 64
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	BYTE PTR [rax], 78
	mov	BYTE PTR -74[rbp], 12
	mov	QWORD PTR -56[rbp], 10
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	SendSrbSynchronous
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jns	.L805
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, QWORD PTR -88[rbp]
	jmp	.L807
.L804:
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	jmp	.L807
.L805:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR myStatus[rip], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	IofCompleteRequest
	mov	rax, QWORD PTR -88[rbp]
.L807:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L808
	call	__stack_chk_fail@PLT
.L808:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	CdAudioAtapiDeviceControl, .-CdAudioAtapiDeviceControl
	.globl	HpCdrProcessLastSession
	.type	HpCdrProcessLastSession, @function
HpCdrProcessLastSession:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 2[rax]
	movzx	eax, al
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L810
	sub	QWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR 4[rax+rdx*8]
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 4[rdx+rcx*8]
	mov	QWORD PTR 4[rax], rdx
	jmp	.L809
.L810:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 3[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR 3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 2[rax], dl
	nop
.L809:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	HpCdrProcessLastSession, .-HpCdrProcessLastSession
	.globl	HPCdrCompletion
	.type	HPCdrCompletion, @function
HPCdrCompletion:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, DWORD PTR myIrp_PendingReturned[rip]
	test	eax, eax
	je	.L814
	mov	eax, DWORD PTR pended[rip]
	test	eax, eax
	jne	.L815
	mov	DWORD PTR pended[rip], 1
	jmp	.L816
.L815:
	call	errorFn
.L816:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 184[rax]
	movzx	edx, BYTE PTR 3[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 184[rax]
	or	edx, 1
	mov	BYTE PTR 3[rax], dl
.L814:
	mov	eax, DWORD PTR myStatus[rip]
	test	eax, eax
	js	.L817
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	HpCdrProcessLastSession
.L817:
	mov	eax, DWORD PTR myStatus[rip]
	cdqe
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	HPCdrCompletion, .-HPCdrCompletion
	.globl	CdAudioHPCdrDeviceControl
	.type	CdAudioHPCdrDeviceControl, @function
CdAudioHPCdrDeviceControl:
.LFB23:
	.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	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 184[rax]
	sub	rax, 68
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 20[rax]
	cmp	rax, 147512
	jne	.L820
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 184[rax]
	sub	rax, 68
	mov	QWORD PTR -24[rbp], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 52
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 3[rax], 0
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	je	.L821
	call	errorFn
	jmp	.L822
.L821:
	mov	eax, DWORD PTR compRegistered[rip]
	test	eax, eax
	je	.L823
	call	errorFn
	jmp	.L822
.L823:
	mov	DWORD PTR compRegistered[rip], 1
	mov	DWORD PTR routine[rip], 0
	lea	rax, HPCdrCompletion[rip]
	mov	QWORD PTR compFptr[rip], rax
.L822:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 184[rax]
	sub	rax, 68
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, HPCdrCompletion[rip]
	mov	QWORD PTR 52[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 60[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 3[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 3[rax], 64
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 3[rax]
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 3[rax]
	or	eax, 32
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	IofCallDriver
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L824
.L820:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioSendToNextDriver
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
.L824:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	CdAudioHPCdrDeviceControl, .-CdAudioHPCdrDeviceControl
	.globl	CdAudioForwardIrpSynchronous
	.type	CdAudioForwardIrpSynchronous, @function
CdAudioForwardIrpSynchronous:
.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, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 184[rax]
	sub	rax, 68
	mov	QWORD PTR -64[rbp], rax
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, 52
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	BYTE PTR 3[rax], 0
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	je	.L826
	call	errorFn
	jmp	.L827
.L826:
	mov	eax, DWORD PTR compRegistered[rip]
	test	eax, eax
	je	.L828
	call	errorFn
	jmp	.L827
.L828:
	mov	DWORD PTR compRegistered[rip], 1
	mov	DWORD PTR routine[rip], 1
	lea	rax, CdAudioSignalCompletion[rip]
	mov	QWORD PTR compFptr[rip], rax
.L827:
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 184[rax]
	sub	rax, 68
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, CdAudioSignalCompletion[rip]
	mov	QWORD PTR 52[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, -48[rbp]
	mov	QWORD PTR 60[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 3[rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 3[rax], 64
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 3[rax]
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 3[rax]
	or	eax, 32
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR 3[rax], dl
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	IofCallDriver
	mov	QWORD PTR -88[rbp], rax
	mov	QWORD PTR -88[rbp], 259
	cmp	QWORD PTR -88[rbp], 0
	je	.L829
	lea	rax, -48[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	KeWaitForSingleObject
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -88[rbp], rax
	mov	eax, DWORD PTR myStatus[rip]
	cdqe
	mov	QWORD PTR -88[rbp], rax
.L829:
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L831
	call	__stack_chk_fail@PLT
.L831:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	CdAudioForwardIrpSynchronous, .-CdAudioForwardIrpSynchronous
	.globl	CdAudioUnload
	.type	CdAudioUnload, @function
CdAudioUnload:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	CdAudioUnload, .-CdAudioUnload
	.globl	CdAudioPower
	.type	CdAudioPower, @function
CdAudioPower:
.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	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jne	.L835
	mov	eax, DWORD PTR SKIP1[rip]
	mov	DWORD PTR s[rip], eax
	jmp	.L836
.L835:
	call	errorFn
.L836:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 67[rax]
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR 67[rax], dl
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 184[rax]
	lea	rdx, 68[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 184[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	PoCallDriver
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	CdAudioPower, .-CdAudioPower
	.globl	pirp
	.bss
	.align 8
	.type	pirp, @object
	.size	pirp, 8
pirp:
	.zero	8
	.text
	.globl	stub_driver_init
	.type	stub_driver_init, @function
stub_driver_init:
.LFB27:
	.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]
	cdqe
	mov	QWORD PTR compFptr[rip], rax
	mov	rax, QWORD PTR compFptr[rip]
	mov	DWORD PTR pended[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	stub_driver_init, .-stub_driver_init
	.globl	main
	.type	main, @function
main:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 736
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -352[rbp]
	mov	QWORD PTR pirp[rip], rax
	call	_BLAST_init
	cmp	QWORD PTR -728[rbp], 0
	js	.L841
	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]
	cdqe
	mov	QWORD PTR compFptr[rip], rax
	mov	rax, QWORD PTR compFptr[rip]
	mov	DWORD PTR pended[rip], eax
	mov	rax, QWORD PTR pirp[rip]
	mov	QWORD PTR 48[rax], 0
	mov	DWORD PTR myStatus[rip], 0
	cmp	DWORD PTR -736[rbp], 0
	jne	.L842
	mov	rax, QWORD PTR pirp[rip]
	mov	QWORD PTR 48[rax], -1073741637
	mov	DWORD PTR myStatus[rip], -1073741637
.L842:
	call	stub_driver_init
	cmp	QWORD PTR -728[rbp], 0
	jns	.L843
	mov	eax, -1
	jmp	.L863
.L843:
	cmp	DWORD PTR -732[rbp], 2
	je	.L868
	cmp	DWORD PTR -732[rbp], 3
	je	.L869
	cmp	DWORD PTR -732[rbp], 4
	jne	.L870
	jmp	.L867
.L868:
	nop
.L846:
	mov	rdx, QWORD PTR pirp[rip]
	lea	rax, -720[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioDeviceControl
	mov	QWORD PTR -728[rbp], rax
	jmp	.L841
.L869:
	nop
.L848:
	mov	rdx, QWORD PTR pirp[rip]
	lea	rax, -720[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioPnp
	mov	QWORD PTR -728[rbp], rax
	jmp	.L841
.L867:
.L850:
	mov	rdx, QWORD PTR pirp[rip]
	lea	rax, -720[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	CdAudioPower
	mov	QWORD PTR -728[rbp], rax
	jmp	.L841
.L870:
	nop
.L851:
	mov	eax, -1
	jmp	.L863
.L852:
.L841:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jne	.L871
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jne	.L872
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	jmp	.L855
.L871:
	nop
	jmp	.L853
.L872:
	nop
.L853:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jne	.L873
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR3[rip]
	cmp	edx, eax
	jne	.L874
	mov	eax, DWORD PTR MPR3[rip]
	mov	DWORD PTR s[rip], eax
	jmp	.L855
.L873:
	nop
	jmp	.L856
.L874:
	nop
.L856:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR UNLOADED[rip]
	cmp	edx, eax
	je	.L855
	cmp	QWORD PTR -728[rbp], -1
	je	.L855
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP2[rip]
	cmp	edx, eax
	je	.L875
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR IPC[rip]
	cmp	edx, eax
	je	.L876
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	je	.L877
	call	errorFn
	jmp	.L855
.L875:
	nop
	jmp	.L858
.L876:
	nop
	jmp	.L858
.L877:
	nop
.L858:
	mov	eax, DWORD PTR pended[rip]
	cmp	eax, 1
	jne	.L861
	cmp	QWORD PTR -728[rbp], 259
	je	.L855
	call	errorFn
	jmp	.L855
.L861:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR DC[rip]
	cmp	edx, eax
	jne	.L862
	cmp	QWORD PTR -728[rbp], 259
	jne	.L855
	call	errorFn
	jmp	.L855
.L862:
	mov	eax, DWORD PTR lowerDriverReturn[rip]
	cdqe
	cmp	QWORD PTR -728[rbp], rax
	je	.L855
	call	errorFn
.L855:
	mov	rax, QWORD PTR -728[rbp]
.L863:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L864
	call	__stack_chk_fail@PLT
.L864:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	main, .-main
	.globl	_SLAM_alloc_dummy
	.bss
	.type	_SLAM_alloc_dummy, @object
	.size	_SLAM_alloc_dummy, 1
_SLAM_alloc_dummy:
	.zero	1
	.text
	.globl	nondet_malloc
	.type	nondet_malloc, @function
nondet_malloc:
.LFB29:
	.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
	cmp	DWORD PTR -8[rbp], 0
	je	.L879
	mov	eax, 0
	jmp	.L880
.L879:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
.L880:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	nondet_malloc, .-nondet_malloc
	.globl	ExAcquireFastMutex
	.type	ExAcquireFastMutex, @function
ExAcquireFastMutex:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	ExAcquireFastMutex, .-ExAcquireFastMutex
	.globl	ExReleaseFastMutex
	.type	ExReleaseFastMutex, @function
ExReleaseFastMutex:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	ExReleaseFastMutex, .-ExReleaseFastMutex
	.globl	ExAllocatePoolWithTag
	.type	ExAllocatePoolWithTag, @function
ExAllocatePoolWithTag:
.LFB32:
	.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	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	edi, eax
	call	nondet_malloc
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	ExAllocatePoolWithTag, .-ExAllocatePoolWithTag
	.globl	ExFreePool
	.type	ExFreePool, @function
ExFreePool:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	ExFreePool, .-ExFreePool
	.globl	ExfInterlockedInsertHeadList
	.type	ExfInterlockedInsertHeadList, @function
ExfInterlockedInsertHeadList:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	ExfInterlockedInsertHeadList, .-ExfInterlockedInsertHeadList
	.globl	ExfInterlockedInsertTailList
	.type	ExfInterlockedInsertTailList, @function
ExfInterlockedInsertTailList:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	ExfInterlockedInsertTailList, .-ExfInterlockedInsertTailList
	.globl	ExfInterlockedRemoveHeadList
	.type	ExfInterlockedRemoveHeadList, @function
ExfInterlockedRemoveHeadList:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	ExfInterlockedRemoveHeadList, .-ExfInterlockedRemoveHeadList
	.globl	IoAllocateMdl
	.type	IoAllocateMdl, @function
IoAllocateMdl:
.LFB37:
	.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	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, ecx
	mov	QWORD PTR -48[rbp], r8
	mov	BYTE PTR -36[rbp], dl
	mov	BYTE PTR -40[rbp], al
	cmp	DWORD PTR -12[rbp], 0
	jne	.L900
	nop
.L897:
	mov	edi, 56
	call	nondet_malloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L899
.L900:
	nop
.L898:
	mov	eax, 0
.L899:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	IoAllocateMdl, .-IoAllocateMdl
	.globl	IoAttachDeviceToDeviceStack
	.type	IoAttachDeviceToDeviceStack, @function
IoAttachDeviceToDeviceStack:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	cmp	DWORD PTR -4[rbp], 0
	jne	.L906
	nop
.L903:
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L905
.L906:
	nop
.L904:
	mov	eax, 0
.L905:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	IoAttachDeviceToDeviceStack, .-IoAttachDeviceToDeviceStack
	.globl	IoBuildAsynchronousFsdRequest
	.type	IoBuildAsynchronousFsdRequest, @function
IoBuildAsynchronousFsdRequest:
.LFB39:
	.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	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	mov	DWORD PTR customIrp[rip], 1
	cmp	DWORD PTR -8[rbp], 0
	jne	.L912
	nop
.L909:
	mov	edi, 216
	call	malloc@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	jmp	.L911
.L912:
	nop
.L910:
	mov	eax, 0
.L911:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	IoBuildAsynchronousFsdRequest, .-IoBuildAsynchronousFsdRequest
	.globl	IoBuildDeviceIoControlRequest
	.type	IoBuildDeviceIoControlRequest, @function
IoBuildDeviceIoControlRequest:
.LFB40:
	.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	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	mov	eax, DWORD PTR 16[rbp]
	mov	BYTE PTR -68[rbp], al
	mov	DWORD PTR customIrp[rip], 1
	cmp	DWORD PTR -8[rbp], 0
	jne	.L918
	nop
.L915:
	mov	edi, 216
	call	malloc@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	jmp	.L917
.L918:
	nop
.L916:
	mov	eax, 0
.L917:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	IoBuildDeviceIoControlRequest, .-IoBuildDeviceIoControlRequest
	.globl	IoCreateDevice
	.type	IoCreateDevice, @function
IoCreateDevice:
.LFB41:
	.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	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	eax, r9d
	mov	BYTE PTR -60[rbp], al
	cmp	DWORD PTR -8[rbp], 0
	jne	.L924
	nop
.L921:
	mov	edi, 368
	call	malloc@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	mov	rdx, rax
	mov	rax, QWORD PTR 16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L923
.L924:
	nop
.L922:
	mov	rax, -1073741823
.L923:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	IoCreateDevice, .-IoCreateDevice
	.globl	IoCreateSymbolicLink
	.type	IoCreateSymbolicLink, @function
IoCreateSymbolicLink:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	cmp	DWORD PTR -4[rbp], 0
	jne	.L930
	nop
.L927:
	mov	eax, 0
	jmp	.L929
.L930:
	nop
.L928:
	mov	rax, -1073741823
.L929:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	IoCreateSymbolicLink, .-IoCreateSymbolicLink
	.globl	IoDeleteDevice
	.type	IoDeleteDevice, @function
IoDeleteDevice:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	IoDeleteDevice, .-IoDeleteDevice
	.globl	IoDeleteSymbolicLink
	.type	IoDeleteSymbolicLink, @function
IoDeleteSymbolicLink:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	cmp	DWORD PTR -4[rbp], 0
	jne	.L938
	nop
.L935:
	mov	eax, 0
	jmp	.L937
.L938:
	nop
.L936:
	mov	rax, -1073741823
.L937:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	IoDeleteSymbolicLink, .-IoDeleteSymbolicLink
	.globl	IoDetachDevice
	.type	IoDetachDevice, @function
IoDetachDevice:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	IoDetachDevice, .-IoDetachDevice
	.globl	IoFreeIrp
	.type	IoFreeIrp, @function
IoFreeIrp:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	IoFreeIrp, .-IoFreeIrp
	.globl	IoFreeMdl
	.type	IoFreeMdl, @function
IoFreeMdl:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	IoFreeMdl, .-IoFreeMdl
	.globl	IoGetConfigurationInformation
	.type	IoGetConfigurationInformation, @function
IoGetConfigurationInformation:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 80
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	IoGetConfigurationInformation, .-IoGetConfigurationInformation
	.globl	IoQueryDeviceDescription
	.type	IoQueryDeviceDescription, @function
IoQueryDeviceDescription:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	cmp	DWORD PTR -4[rbp], 0
	jne	.L952
	nop
.L949:
	mov	eax, 0
	jmp	.L951
.L952:
	nop
.L950:
	mov	rax, -1073741823
.L951:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	IoQueryDeviceDescription, .-IoQueryDeviceDescription
	.globl	IoRegisterDeviceInterface
	.type	IoRegisterDeviceInterface, @function
IoRegisterDeviceInterface:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	cmp	DWORD PTR -4[rbp], 0
	jne	.L958
	nop
.L955:
	mov	eax, 0
	jmp	.L957
.L958:
	nop
.L956:
	mov	rax, -1073741808
.L957:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	IoRegisterDeviceInterface, .-IoRegisterDeviceInterface
	.globl	IoReleaseCancelSpinLock
	.type	IoReleaseCancelSpinLock, @function
IoReleaseCancelSpinLock:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	IoReleaseCancelSpinLock, .-IoReleaseCancelSpinLock
	.globl	IoSetDeviceInterfaceState
	.type	IoSetDeviceInterfaceState, @function
IoSetDeviceInterfaceState:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -28[rbp], al
	cmp	DWORD PTR -4[rbp], 0
	jne	.L966
	nop
.L963:
	mov	eax, 0
	jmp	.L965
.L966:
	nop
.L964:
	mov	rax, -1073741823
.L965:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	IoSetDeviceInterfaceState, .-IoSetDeviceInterfaceState
	.globl	IoSetHardErrorOrVerifyDevice
	.type	IoSetHardErrorOrVerifyDevice, @function
IoSetHardErrorOrVerifyDevice:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	IoSetHardErrorOrVerifyDevice, .-IoSetHardErrorOrVerifyDevice
	.globl	stubMoreProcessingRequired
	.type	stubMoreProcessingRequired, @function
stubMoreProcessingRequired:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jne	.L970
	mov	eax, DWORD PTR MPR1[rip]
	mov	DWORD PTR s[rip], eax
	jmp	.L969
.L970:
	call	errorFn
	nop
.L969:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	stubMoreProcessingRequired, .-stubMoreProcessingRequired
	.globl	IofCallDriver
	.type	IofCallDriver, @function
IofCallDriver:
.LFB55:
	.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	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	eax, DWORD PTR compRegistered[rip]
	test	eax, eax
	je	.L974
	mov	eax, DWORD PTR routine[rip]
	test	eax, eax
	jne	.L975
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	HPCdrCompletion
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L976
.L975:
	mov	eax, DWORD PTR routine[rip]
	cmp	eax, 1
	jne	.L976
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	CdAudioSignalCompletion
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR -40[rbp], eax
.L976:
	cmp	DWORD PTR -40[rbp], -1073741802
	jne	.L974
	call	stubMoreProcessingRequired
.L974:
	mov	eax, DWORD PTR myIrp_PendingReturned[rip]
	test	eax, eax
	je	.L977
	mov	QWORD PTR -32[rbp], 259
	jmp	.L978
.L977:
	cmp	DWORD PTR -36[rbp], 0
	je	.L993
	cmp	DWORD PTR -36[rbp], 1
	jne	.L994
	jmp	.L992
.L993:
	nop
.L980:
	mov	QWORD PTR -32[rbp], 0
	jmp	.L978
.L992:
.L982:
	mov	QWORD PTR -32[rbp], -1073741823
	jmp	.L978
.L994:
	nop
.L983:
	mov	QWORD PTR -32[rbp], 259
.L984:
	nop
.L978:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jne	.L985
	mov	eax, DWORD PTR IPC[rip]
	mov	DWORD PTR s[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L986
.L985:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR1[rip]
	cmp	edx, eax
	jne	.L987
	cmp	QWORD PTR -32[rbp], 259
	jne	.L988
	mov	eax, DWORD PTR MPR3[rip]
	mov	DWORD PTR s[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L986
.L988:
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L986
.L987:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP1[rip]
	cmp	edx, eax
	jne	.L989
	mov	eax, DWORD PTR SKIP2[rip]
	mov	DWORD PTR s[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L986
.L989:
	call	errorFn
.L986:
	mov	rax, QWORD PTR -32[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	IofCallDriver, .-IofCallDriver
	.globl	IofCompleteRequest
	.type	IofCompleteRequest, @function
IofCompleteRequest:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -12[rbp], al
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jne	.L996
	mov	eax, DWORD PTR DC[rip]
	mov	DWORD PTR s[rip], eax
	jmp	.L995
.L996:
	call	errorFn
	nop
.L995:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	IofCompleteRequest, .-IofCompleteRequest
	.globl	KeAcquireSpinLockRaiseToDpc
	.type	KeAcquireSpinLockRaiseToDpc, @function
KeAcquireSpinLockRaiseToDpc:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	KeAcquireSpinLockRaiseToDpc, .-KeAcquireSpinLockRaiseToDpc
	.globl	KeDelayExecutionThread
	.type	KeDelayExecutionThread, @function
KeDelayExecutionThread:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	ecx, edi
	mov	eax, esi
	mov	QWORD PTR -32[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR -20[rbp], dl
	mov	BYTE PTR -24[rbp], al
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1006
	nop
.L1003:
	mov	eax, 0
	jmp	.L1005
.L1006:
	nop
.L1004:
	mov	rax, -1073741823
.L1005:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	KeDelayExecutionThread, .-KeDelayExecutionThread
	.globl	KeInitializeEvent
	.type	KeInitializeEvent, @function
KeInitializeEvent:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	eax, edx
	mov	BYTE PTR -16[rbp], al
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	KeInitializeEvent, .-KeInitializeEvent
	.globl	KeInitializeSemaphore
	.type	KeInitializeSemaphore, @function
KeInitializeSemaphore:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	KeInitializeSemaphore, .-KeInitializeSemaphore
	.globl	KeInitializeSpinLock
	.type	KeInitializeSpinLock, @function
KeInitializeSpinLock:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	KeInitializeSpinLock, .-KeInitializeSpinLock
	.globl	KeReleaseSemaphore
	.type	KeReleaseSemaphore, @function
KeReleaseSemaphore:
.LFB62:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, ecx
	mov	BYTE PTR -44[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	KeReleaseSemaphore, .-KeReleaseSemaphore
	.globl	KfReleaseSpinLock
	.type	KfReleaseSpinLock, @function
KfReleaseSpinLock:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -12[rbp], al
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	KfReleaseSpinLock, .-KfReleaseSpinLock
	.globl	KeSetEvent
	.type	KeSetEvent, @function
KeSetEvent:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, edx
	mov	BYTE PTR -36[rbp], al
	mov	DWORD PTR setEventCalled[rip], 1
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	KeSetEvent, .-KeSetEvent
	.globl	KeWaitForSingleObject
	.type	KeWaitForSingleObject, @function
KeWaitForSingleObject:
.LFB65:
	.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	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	eax, ecx
	mov	QWORD PTR -48[rbp], r8
	mov	BYTE PTR -32[rbp], dl
	mov	BYTE PTR -36[rbp], al
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR3[rip]
	cmp	edx, eax
	jne	.L1028
	mov	eax, DWORD PTR setEventCalled[rip]
	cmp	eax, 1
	jne	.L1029
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	DWORD PTR setEventCalled[rip], 0
	jmp	.L1022
.L1028:
	nop
	jmp	.L1020
.L1029:
	nop
.L1020:
	mov	eax, DWORD PTR customIrp[rip]
	cmp	eax, 1
	jne	.L1023
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	DWORD PTR customIrp[rip], 0
	jmp	.L1022
.L1023:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR3[rip]
	cmp	edx, eax
	jne	.L1022
	call	errorFn
.L1022:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1030
	nop
.L1025:
	mov	eax, 0
	jmp	.L1027
.L1030:
	nop
.L1026:
	mov	rax, -1073741823
.L1027:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	KeWaitForSingleObject, .-KeWaitForSingleObject
	.globl	MmAllocateContiguousMemory
	.type	MmAllocateContiguousMemory, @function
MmAllocateContiguousMemory:
.LFB66:
	.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	QWORD PTR -24[rbp], rdi
	mov	rcx, rdx
	mov	rax, rsi
	mov	rdx, rdi
	mov	rdx, rcx
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -8[rbp], 0
	je	.L1040
	cmp	DWORD PTR -8[rbp], 1
	jne	.L1041
	jmp	.L1039
.L1040:
	nop
.L1033:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	jmp	.L1037
.L1039:
.L1035:
	mov	eax, 0
	jmp	.L1037
.L1041:
	nop
.L1036:
	mov	eax, 0
.L1037:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	MmAllocateContiguousMemory, .-MmAllocateContiguousMemory
	.globl	MmFreeContiguousMemory
	.type	MmFreeContiguousMemory, @function
MmFreeContiguousMemory:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	MmFreeContiguousMemory, .-MmFreeContiguousMemory
	.globl	MmMapLockedPagesSpecifyCache
	.type	MmMapLockedPagesSpecifyCache, @function
MmMapLockedPagesSpecifyCache:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, esi
	mov	DWORD PTR -16[rbp], edx
	mov	QWORD PTR -24[rbp], rcx
	mov	QWORD PTR -32[rbp], r8
	mov	DWORD PTR -36[rbp], r9d
	mov	BYTE PTR -12[rbp], al
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	MmMapLockedPagesSpecifyCache, .-MmMapLockedPagesSpecifyCache
	.globl	MmPageEntireDriver
	.type	MmPageEntireDriver, @function
MmPageEntireDriver:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	MmPageEntireDriver, .-MmPageEntireDriver
	.globl	MmResetDriverPaging
	.type	MmResetDriverPaging, @function
MmResetDriverPaging:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	MmResetDriverPaging, .-MmResetDriverPaging
	.globl	MmUnlockPages
	.type	MmUnlockPages, @function
MmUnlockPages:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	MmUnlockPages, .-MmUnlockPages
	.globl	ObReferenceObjectByHandle
	.type	ObReferenceObjectByHandle, @function
ObReferenceObjectByHandle:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, ecx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	mov	BYTE PTR -44[rbp], al
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1057
	nop
.L1054:
	mov	eax, 0
	jmp	.L1056
.L1057:
	nop
.L1055:
	mov	rax, -1073741823
.L1056:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	ObReferenceObjectByHandle, .-ObReferenceObjectByHandle
	.globl	ObfDereferenceObject
	.type	ObfDereferenceObject, @function
ObfDereferenceObject:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	ObfDereferenceObject, .-ObfDereferenceObject
	.globl	PoCallDriver
	.type	PoCallDriver, @function
PoCallDriver:
.LFB74:
	.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	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	eax, DWORD PTR compRegistered[rip]
	test	eax, eax
	je	.L1061
	mov	eax, DWORD PTR routine[rip]
	test	eax, eax
	jne	.L1062
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	HPCdrCompletion
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L1063
.L1062:
	mov	eax, DWORD PTR routine[rip]
	cmp	eax, 1
	jne	.L1063
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	CdAudioSignalCompletion
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR -40[rbp], eax
.L1063:
	cmp	DWORD PTR -40[rbp], -1073741802
	jne	.L1061
	call	stubMoreProcessingRequired
.L1061:
	cmp	DWORD PTR -36[rbp], 0
	je	.L1078
	cmp	DWORD PTR -36[rbp], 1
	jne	.L1079
	jmp	.L1077
.L1078:
	nop
.L1065:
	mov	QWORD PTR -32[rbp], 0
	jmp	.L1069
.L1077:
.L1067:
	mov	QWORD PTR -32[rbp], -1073741823
	jmp	.L1069
.L1079:
	nop
.L1068:
	mov	QWORD PTR -32[rbp], 259
	nop
.L1069:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR NP[rip]
	cmp	edx, eax
	jne	.L1070
	mov	eax, DWORD PTR IPC[rip]
	mov	DWORD PTR s[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L1071
.L1070:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR MPR1[rip]
	cmp	edx, eax
	jne	.L1072
	cmp	QWORD PTR -32[rbp], 259
	jne	.L1073
	mov	eax, DWORD PTR MPR3[rip]
	mov	DWORD PTR s[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L1071
.L1073:
	mov	eax, DWORD PTR NP[rip]
	mov	DWORD PTR s[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L1071
.L1072:
	mov	edx, DWORD PTR s[rip]
	mov	eax, DWORD PTR SKIP1[rip]
	cmp	edx, eax
	jne	.L1074
	mov	eax, DWORD PTR SKIP2[rip]
	mov	DWORD PTR s[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR lowerDriverReturn[rip], eax
	jmp	.L1071
.L1074:
	call	errorFn
.L1071:
	mov	rax, QWORD PTR -32[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	PoCallDriver, .-PoCallDriver
	.globl	PoStartNextPowerIrp
	.type	PoStartNextPowerIrp, @function
PoStartNextPowerIrp:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	PoStartNextPowerIrp, .-PoStartNextPowerIrp
	.globl	PsCreateSystemThread
	.type	PsCreateSystemThread, @function
PsCreateSystemThread:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1087
	nop
.L1084:
	mov	eax, 0
	jmp	.L1086
.L1087:
	nop
.L1085:
	mov	rax, -1073741823
.L1086:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	PsCreateSystemThread, .-PsCreateSystemThread
	.globl	PsTerminateSystemThread
	.type	PsTerminateSystemThread, @function
PsTerminateSystemThread:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1093
	nop
.L1090:
	mov	eax, 0
	jmp	.L1092
.L1093:
	nop
.L1091:
	mov	rax, -1073741823
.L1092:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	PsTerminateSystemThread, .-PsTerminateSystemThread
	.globl	RtlAnsiStringToUnicodeString
	.type	RtlAnsiStringToUnicodeString, @function
RtlAnsiStringToUnicodeString:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, edx
	mov	BYTE PTR -36[rbp], al
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1099
	nop
.L1096:
	mov	eax, 0
	jmp	.L1098
.L1099:
	nop
.L1097:
	mov	rax, -1073741823
.L1098:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	RtlAnsiStringToUnicodeString, .-RtlAnsiStringToUnicodeString
	.globl	RtlCompareMemory
	.type	RtlCompareMemory, @function
RtlCompareMemory:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	RtlCompareMemory, .-RtlCompareMemory
	.globl	RtlCopyUnicodeString
	.type	RtlCopyUnicodeString, @function
RtlCopyUnicodeString:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	RtlCopyUnicodeString, .-RtlCopyUnicodeString
	.globl	RtlDeleteRegistryValue
	.type	RtlDeleteRegistryValue, @function
RtlDeleteRegistryValue:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1109
	nop
.L1106:
	mov	eax, 0
	jmp	.L1108
.L1109:
	nop
.L1107:
	mov	rax, -1073741823
.L1108:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	RtlDeleteRegistryValue, .-RtlDeleteRegistryValue
	.globl	RtlFreeUnicodeString
	.type	RtlFreeUnicodeString, @function
RtlFreeUnicodeString:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	RtlFreeUnicodeString, .-RtlFreeUnicodeString
	.globl	RtlInitString
	.type	RtlInitString, @function
RtlInitString:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	RtlInitString, .-RtlInitString
	.globl	RtlInitUnicodeString
	.type	RtlInitUnicodeString, @function
RtlInitUnicodeString:
.LFB84:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	RtlInitUnicodeString, .-RtlInitUnicodeString
	.globl	RtlQueryRegistryValues
	.type	RtlQueryRegistryValues, @function
RtlQueryRegistryValues:
.LFB85:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1121
	nop
.L1118:
	mov	eax, 0
	jmp	.L1120
.L1121:
	nop
.L1119:
	mov	rax, -1073741823
.L1120:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	RtlQueryRegistryValues, .-RtlQueryRegistryValues
	.globl	ZwClose
	.type	ZwClose, @function
ZwClose:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1127
	nop
.L1124:
	mov	eax, 0
	jmp	.L1126
.L1127:
	nop
.L1125:
	mov	rax, -1073741823
.L1126:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.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	"147261.c"
	.text
	.comm	__BLAST_NONDET,4,4
	.align	2
	.global	errorFn
	.syntax unified
	.arm
	.fpu softvfp
	.type	errorFn, %function
errorFn:
	@ 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
.L2:
	b	.L2
	.size	errorFn, .-errorFn
	.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	myIrp_PendingReturned,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, .L5
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L5+4
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L5+8
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L5+12
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L5+16
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L5+20
	mov	r2, #5
	str	r2, [r3]
	ldr	r3, .L5+24
	mov	r2, #6
	str	r2, [r3]
	ldr	r3, .L5+28
	mov	r2, #7
	str	r2, [r3]
	ldr	r3, .L5
	ldr	r3, [r3]
	ldr	r2, .L5+32
	str	r3, [r2]
	ldr	r3, .L5+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L5+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L5+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L5+48
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L5+52
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L5+56
	mov	r2, #0
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L6:
	.align	2
.L5:
	.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
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	SendSrbSynchronous
	.syntax unified
	.arm
	.fpu softvfp
	.type	SendSrbSynchronous, %function
SendSrbSynchronous:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, .L15
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	mov	r2, #44
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-52]
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-52]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L8
	ldr	r3, [fp, #-52]
	mov	r2, #1
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #12]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	str	r2, [r3, #20]
	ldr	r3, .L15+4
	str	r3, [fp, #-36]
	b	.L9
.L8:
	ldr	r3, [fp, #-52]
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-52]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-52]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, .L15+8
	str	r3, [fp, #-36]
.L9:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L10
	ldr	r3, .L15+12
	b	.L13
.L10:
	ldr	r3, [fp, #-44]
	ldr	r2, .L15+16
	cmp	r3, r2
	bne	.L12
	sub	r0, fp, #24
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	bl	KeWaitForSingleObject
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-44]
.L12:
	ldr	r3, [fp, #-44]
.L13:
	ldr	r2, .L15
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L14
	bl	__stack_chk_fail
.L14:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L16:
	.align	2
.L15:
	.word	.LC0
	.word	315412
	.word	315396
	.word	-1073741670
	.word	259
	.size	SendSrbSynchronous, .-SendSrbSynchronous
	.section	.rodata
	.align	2
.LC1:
	.ascii	"M\000a\000p\000T\000y\000p\000e\000\000"
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudioAddDevice
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioAddDevice, %function
CdAudioAddDevice:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	ldr	r3, .L70
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #255
	str	r3, [fp, #-80]
	sub	r3, fp, #76
	ldr	r2, .L70+4
	mov	r1, #2
	ldr	r0, [fp, #-92]
	bl	IoOpenDeviceRegistryKey
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bge	.L18
	mov	r3, #255
	str	r3, [fp, #-80]
	b	.L19
.L18:
	sub	r3, fp, #64
	mov	r2, #56
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #36
	str	r3, [fp, #-60]
	ldr	r3, .L70+8
	str	r3, [fp, #-56]
	sub	r3, fp, #80
	str	r3, [fp, #-52]
	mov	r3, #4
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r1, [fp, #-76]
	sub	r2, fp, #64
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r0, #1073741824
	bl	RtlQueryRegistryValues
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bge	.L20
	mov	r3, #255
	str	r3, [fp, #-80]
	b	.L21
.L20:
	ldr	r3, [fp, #-80]
	cmp	r3, #10
	bls	.L21
	mov	r3, #255
	str	r3, [fp, #-80]
.L21:
	ldr	r3, [fp, #-76]
	mov	r0, r3
	bl	ZwClose
.L19:
	ldr	r3, [fp, #-80]
	cmp	r3, #10
	bls	.L22
	ldr	r3, [fp, #-80]
	cmp	r3, #255
	beq	.L22
	mov	r3, #255
	str	r3, [fp, #-80]
.L22:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L23
	mov	r3, #0
	b	.L52
.L23:
	ldr	r3, [fp, #-80]
	cmp	r3, #8
	beq	.L60
	ldr	r3, [fp, #-80]
	cmp	r3, #9
	beq	.L61
	ldr	r3, [fp, #-80]
	cmp	r3, #10
	beq	.L62
	ldr	r3, [fp, #-80]
	cmp	r3, #4
	beq	.L63
	ldr	r3, [fp, #-80]
	cmp	r3, #6
	beq	.L64
	ldr	r3, [fp, #-80]
	cmp	r3, #5
	beq	.L65
	ldr	r3, [fp, #-80]
	cmp	r3, #2
	beq	.L66
	ldr	r3, [fp, #-80]
	cmp	r3, #3
	beq	.L67
	ldr	r3, [fp, #-80]
	cmp	r3, #1
	beq	.L68
	ldr	r3, [fp, #-80]
	cmp	r3, #7
	beq	.L69
	ldr	r3, [fp, #-80]
	cmp	r3, #255
	nop
.L48:
	b	.L45
.L44:
.L60:
	nop
.L26:
	ldr	r0, .L70+12
	bl	MmLockPagableDataSection
	b	.L45
.L28:
.L61:
	nop
	b	.L46
.L62:
	nop
.L46:
	ldr	r0, .L70+16
	bl	MmLockPagableDataSection
	b	.L45
.L63:
	nop
.L31:
	ldr	r0, .L70+20
	bl	MmLockPagableDataSection
	b	.L45
.L33:
.L64:
	nop
	b	.L47
.L65:
	nop
.L47:
	ldr	r0, .L70+24
	bl	MmLockPagableDataSection
	b	.L45
.L66:
	nop
.L36:
	ldr	r0, .L70+28
	bl	MmLockPagableDataSection
	b	.L45
.L67:
	nop
.L38:
	ldr	r0, .L70+32
	bl	MmLockPagableDataSection
	b	.L45
.L68:
	nop
.L40:
	ldr	r0, .L70+36
	bl	MmLockPagableDataSection
	b	.L45
.L69:
	nop
.L42:
	ldr	r0, .L70+40
	bl	MmLockPagableDataSection
	nop
.L45:
	sub	r3, fp, #84
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #2
	mov	r2, #0
	mov	r1, #56
	ldr	r0, [fp, #-88]
	bl	IoCreateDevice
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bge	.L49
	ldr	r3, [fp, #-72]
	b	.L52
.L49:
	ldr	r3, [fp, #-84]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-84]
	orr	r2, r2, #16
	str	r2, [r3, #28]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #28]
	and	r3, r3, #16384
	cmp	r3, #0
	bne	.L50
	ldr	r3, [fp, #-84]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-84]
	orr	r2, r2, #8192
	str	r2, [r3, #28]
.L50:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-68]
	mov	r2, #56
	mov	r1, #0
	ldr	r0, [fp, #-68]
	bl	memset
	ldr	r3, [fp, #-84]
	ldr	r1, [fp, #-92]
	mov	r0, r3
	bl	IoAttachDeviceToDeviceStack
	mov	r2, r0
	ldr	r3, [fp, #-68]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L51
	mov	r3, #-1073741810
	b	.L52
.L51:
	ldr	r3, [fp, #-80]
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	strb	r2, [r3, #44]
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-68]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-92]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-84]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-84]
	bic	r2, r2, #128
	str	r2, [r3, #28]
	mov	r3, #0
.L52:
	ldr	r2, .L70
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L53
	bl	__stack_chk_fail
.L53:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L71:
	.align	2
.L70:
	.word	.LC2
	.word	131097
	.word	.LC1
	.word	CdAudioNECDeviceControl
	.word	CdAudioPioneerDeviceControl
	.word	CdAudioDenonDeviceControl
	.word	CdAudioHitachiDeviceControl
	.word	CdAudio535DeviceControl
	.word	CdAudio435DeviceControl
	.word	CdAudioAtapiDeviceControl
	.word	CdAudioHPCdrDeviceControl
	.size	CdAudioAddDevice, .-CdAudioAddDevice
	.align	2
	.global	CdAudioSignalCompletion
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioSignalCompletion, %function
CdAudioSignalCompletion:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	KeSetEvent
	mov	r3, #-1073741802
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CdAudioSignalCompletion, .-CdAudioSignalCompletion
	.section	.rodata
	.align	2
.LC3:
	.ascii	"NEC     \000"
	.align	2
.LC4:
	.ascii	"PIONEER \000"
	.align	2
.LC5:
	.ascii	"CD-ROM DRM-600\000"
	.align	2
.LC6:
	.ascii	"CHINON\000"
	.align	2
.LC7:
	.ascii	"HITACHI \000"
	.align	2
.LC8:
	.ascii	"CDR-3650/1650S  \000"
	.align	2
.LC9:
	.ascii	"CDR-1750S       \000"
	.align	2
.LC10:
	.ascii	"WEARNES \000"
	.align	2
.LC11:
	.ascii	"OTI     \000"
	.align	2
.LC12:
	.ascii	"DOLPHIN \000"
	.align	2
.LC13:
	.ascii	"RUB\000"
	.align	2
.LC14:
	.ascii	"FUJITSU \000"
	.align	2
.LC15:
	.ascii	"HP      \000"
	.align	2
.LC16:
	.ascii	"C4324/C4325\000"
	.align	2
.LC17:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudioStartDevice
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioStartDevice, %function
CdAudioStartDevice:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	ldr	r3, .L124
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-124]
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-144]
	bl	CdAudioForwardIrpSynchronous
	str	r0, [fp, #-128]
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bge	.L75
	ldr	r3, [fp, #-128]
	b	.L111
.L75:
	ldr	r3, [fp, #-124]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-124]
	mov	r2, #0
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-124]
	mov	r2, #0
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-124]
	mov	r2, #0
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-124]
	mov	r2, #0
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-124]
	mov	r2, #0
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-124]
	mov	r2, #0
	strb	r2, [r3, #51]
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3, #44]	@ zero_extendqisi2
	cmp	r3, #255
	bne	.L77
	sub	r3, fp, #52
	add	r3, r3, #28
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-116]
	mov	r3, #0
	strb	r3, [fp, #-139]
	ldr	r2, .L124+4
	mov	r1, #36
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-112]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L78
	ldr	r3, [fp, #-124]
	mov	r2, #0
	strb	r2, [r3, #44]
	mov	r3, #0
	b	.L111
.L78:
	mov	r3, #-1073741823
	str	r3, [fp, #-128]
.L79:
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bge	.L113
	ldrb	r3, [fp, #-139]
	strb	r3, [fp, #-138]
	ldrb	r3, [fp, #-139]
	add	r3, r3, #1
	strb	r3, [fp, #-139]
	ldrb	r3, [fp, #-138]	@ zero_extendqisi2
	cmp	r3, #3
	bhi	.L114
	sub	r3, fp, #52
	mov	r2, #44
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r2, #36
	mov	r1, #0
	ldr	r0, [fp, #-116]
	bl	memset
	ldr	r3, [fp, #-120]
	mov	r2, #18
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	mov	r2, #36
	strb	r2, [r3, #4]
	mov	r3, #6
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	mov	r3, #36
	ldr	r2, [fp, #-116]
	ldr	r0, [fp, #-124]
	bl	SendSrbSynchronous
	str	r0, [fp, #-128]
	b	.L79
.L113:
	nop
	b	.L82
.L114:
	nop
.L82:
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bge	.L83
	ldr	r3, [fp, #-124]
	mov	r2, #0
	strb	r2, [r3, #44]
	mov	r3, #0
	b	.L111
.L83:
	ldr	r3, [fp, #-124]
	mov	r2, #0
	strb	r2, [r3, #44]
	ldr	r3, [fp, #-116]
	add	r3, r3, #8
	mov	r2, #8
	ldr	r1, .L124+8
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	bne	.L84
	ldr	r0, [fp, #-116]
	bl	NecSupportNeeded
	mov	r3, r0
	strb	r3, [fp, #-137]
	ldrb	r3, [fp, #-137]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L84
	ldr	r0, .L124+12
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #8
	strb	r2, [r3, #44]
.L84:
	ldr	r3, [fp, #-116]
	add	r3, r3, #8
	mov	r2, #8
	ldr	r1, .L124+16
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L85
	ldr	r3, [fp, #-116]
	add	r3, r3, #16
	mov	r2, #15
	ldr	r1, .L124+20
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L85
	ldr	r0, .L124+24
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #9
	strb	r2, [r3, #44]
.L85:
	ldr	r3, [fp, #-116]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #68
	bne	.L86
	ldr	r3, [fp, #-116]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #69
	bne	.L86
	ldr	r3, [fp, #-116]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #78
	bne	.L86
	ldr	r3, [fp, #-116]
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #68
	bne	.L86
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #82
	bne	.L86
	ldr	r3, [fp, #-116]
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #68
	bne	.L86
	ldr	r3, [fp, #-116]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #50
	bne	.L86
	ldr	r3, [fp, #-116]
	add	r3, r3, #21
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #53
	bne	.L86
	ldr	r3, [fp, #-116]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #88
	bne	.L86
	ldr	r0, .L124+28
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #4
	strb	r2, [r3, #44]
.L86:
	ldr	r3, [fp, #-116]
	add	r3, r3, #8
	mov	r2, #6
	ldr	r1, .L124+32
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L87
	ldr	r3, [fp, #-116]
	add	r3, r3, #27
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #53
	bne	.L88
	ldr	r3, [fp, #-116]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #51
	bne	.L88
	ldr	r3, [fp, #-116]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #53
	bne	.L88
	ldr	r3, [fp, #-116]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #81
	bne	.L88
	ldr	r0, .L124+36
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #2
	strb	r2, [r3, #44]
.L88:
	ldr	r3, [fp, #-116]
	add	r3, r3, #27
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #52
	bne	.L87
	ldr	r3, [fp, #-116]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #51
	bne	.L87
	ldr	r3, [fp, #-116]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #53
	beq	.L115
	ldr	r3, [fp, #-116]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #49
	bne	.L87
	b	.L90
.L115:
	nop
.L90:
	ldr	r3, [fp, #-116]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #77
	bne	.L91
	ldr	r0, .L124+40
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #3
	strb	r2, [r3, #44]
	b	.L87
.L91:
	ldr	r3, [fp, #-116]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #78
	bne	.L92
	ldr	r0, .L124+40
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #3
	strb	r2, [r3, #44]
	b	.L87
.L92:
	ldr	r3, [fp, #-116]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #83
	bne	.L93
	ldr	r0, .L124+40
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #3
	strb	r2, [r3, #44]
	b	.L87
.L93:
	ldr	r3, [fp, #-116]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #85
	bne	.L94
	ldr	r0, .L124+40
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #3
	strb	r2, [r3, #44]
	b	.L87
.L94:
	ldr	r3, [fp, #-116]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #72
	bne	.L87
	ldr	r0, .L124+40
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #3
	strb	r2, [r3, #44]
.L87:
	ldr	r3, [fp, #-116]
	add	r3, r3, #8
	mov	r2, #8
	ldr	r1, .L124+44
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L95
	ldr	r3, [fp, #-116]
	add	r3, r3, #16
	mov	r2, #16
	ldr	r1, .L124+48
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L96
	ldr	r3, [fp, #-116]
	add	r3, r3, #16
	mov	r2, #16
	ldr	r1, .L124+52
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L95
	ldr	r0, .L124+56
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #6
	strb	r2, [r3, #44]
	b	.L95
.L96:
	ldr	r0, .L124+56
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #6
	strb	r2, [r3, #44]
.L95:
	ldr	r3, [fp, #-116]
	add	r3, r3, #8
	mov	r2, #8
	ldr	r1, .L124+60
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L97
	nop
	b	.L98
.L116:
	nop
.L98:
	ldr	r3, [fp, #-116]
	add	r3, r3, #8
	mov	r2, #8
	ldr	r1, .L124+64
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L99
	ldr	r3, [fp, #-116]
	add	r3, r3, #16
	mov	r2, #8
	ldr	r1, .L124+68
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L99
	ldr	r0, .L124+72
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #1
	strb	r2, [r3, #44]
	ldr	r3, [fp, #-116]
	add	r3, r3, #25
	mov	r2, #0
	strb	r2, [r3]
	b	.L99
.L97:
	ldr	r3, [fp, #-116]
	add	r3, r3, #16
	mov	r2, #3
	ldr	r1, .L124+76
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L116
	ldr	r0, .L124+72
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #1
	strb	r2, [r3, #44]
	ldr	r3, [fp, #-116]
	add	r3, r3, #25
	mov	r2, #0
	strb	r2, [r3]
.L99:
	ldr	r3, [fp, #-116]
	add	r3, r3, #8
	mov	r2, #8
	ldr	r1, .L124+80
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L101
	ldr	r3, [fp, #-116]
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #67
	bne	.L117
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #68
	bne	.L118
	ldr	r3, [fp, #-116]
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #82
	bne	.L119
	ldr	r3, [fp, #-116]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #51
	bne	.L120
	ldr	r3, [fp, #-116]
	add	r3, r3, #21
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #54
	bne	.L121
	ldr	r3, [fp, #-116]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #53
	bne	.L122
	ldr	r3, [fp, #-116]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #48
	bne	.L123
	ldr	r0, .L124+56
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #6
	strb	r2, [r3, #44]
	ldr	r3, [fp, #-116]
	add	r3, r3, #25
	mov	r2, #0
	strb	r2, [r3]
	b	.L101
.L117:
	nop
	b	.L102
.L118:
	nop
	b	.L102
.L119:
	nop
	b	.L102
.L120:
	nop
	b	.L102
.L121:
	nop
	b	.L102
.L122:
	nop
	b	.L102
.L123:
	nop
.L102:
	ldr	r3, [fp, #-116]
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #70
	bne	.L101
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #77
	bne	.L101
	ldr	r3, [fp, #-116]
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #67
	bne	.L101
	ldr	r3, [fp, #-116]
	add	r3, r3, #21
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #49
	bne	.L101
	ldr	r3, [fp, #-116]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #48
	bne	.L101
	ldr	r3, [fp, #-116]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #49
	bne	.L109
	ldr	r0, .L124+56
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #5
	strb	r2, [r3, #44]
	ldr	r3, [fp, #-116]
	add	r3, r3, #25
	mov	r2, #0
	strb	r2, [r3]
	b	.L101
.L109:
	ldr	r3, [fp, #-116]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #50
	bne	.L101
	ldr	r0, .L124+56
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #5
	strb	r2, [r3, #44]
	ldr	r3, [fp, #-116]
	add	r3, r3, #25
	mov	r2, #0
	strb	r2, [r3]
.L101:
	ldr	r3, [fp, #-116]
	add	r3, r3, #8
	mov	r2, #8
	ldr	r1, .L124+84
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L77
	ldr	r3, [fp, #-116]
	add	r3, r3, #16
	mov	r2, #11
	ldr	r1, .L124+88
	mov	r0, r3
	bl	memcmp
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L77
	ldr	r0, .L124+92
	bl	MmLockPagableDataSection
	ldr	r3, [fp, #-124]
	mov	r2, #7
	strb	r2, [r3, #44]
.L77:
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3, #44]	@ zero_extendqisi2
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-124]
	ldr	r0, [r3, #4]
	sub	r3, fp, #136
	ldr	r2, .L124+96
	mov	r1, #2
	bl	IoOpenDeviceRegistryKey
	str	r0, [fp, #-128]
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bge	.L110
	mov	r3, #0
	b	.L111
.L110:
	ldr	r1, [fp, #-136]
	mov	r3, #4
	str	r3, [sp, #4]
	sub	r3, fp, #132
	str	r3, [sp]
	mov	r3, #4
	ldr	r2, .L124+100
	mov	r0, #1073741824
	bl	RtlWriteRegistryValue
	str	r0, [fp, #-128]
	ldr	r3, [fp, #-136]
	mov	r0, r3
	bl	ZwClose
	mov	r3, #0
.L111:
	ldr	r2, .L124
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L112
	bl	__stack_chk_fail
.L112:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L125:
	.align	2
.L124:
	.word	.LC17
	.word	541156419
	.word	.LC3
	.word	CdAudioNECDeviceControl
	.word	.LC4
	.word	.LC5
	.word	CdAudioPioneerDeviceControl
	.word	CdAudioDenonDeviceControl
	.word	.LC6
	.word	CdAudio535DeviceControl
	.word	CdAudio435DeviceControl
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	CdAudioHitachiDeviceControl
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	CdAudioAtapiDeviceControl
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	CdAudioHPCdrDeviceControl
	.word	131078
	.word	.LC1
	.size	CdAudioStartDevice, .-CdAudioStartDevice
	.align	2
	.global	CdAudioPnp
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioPnp, %function
CdAudioPnp:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-24]
	ldr	r3, .L143
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L141
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #22
	bne	.L142
	b	.L140
.L141:
	nop
.L128:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	CdAudioStartDevice
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #24]
	ldr	r2, .L143+4
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-36]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-20]
	b	.L132
.L140:
.L130:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	beq	.L133
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L132
.L133:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	add	r0, r3, #16
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	bl	KeWaitForSingleObject
	str	r0, [fp, #-20]
	mov	r3, #0
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L134
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	cmp	r3, #1
	bne	.L134
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	and	r3, r3, #16384
	cmp	r3, #0
	bne	.L134
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	orr	r2, r3, #8192
	ldr	r3, [fp, #-32]
	str	r2, [r3, #28]
	mov	r3, #1
	strb	r3, [fp, #-25]
.L134:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	CdAudioForwardIrpSynchronous
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L135
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L136
	ldr	r3, [fp, #-12]
	add	r3, r3, #12
	mov	r0, r3
	bl	InterlockedIncrement
	b	.L137
.L136:
	ldr	r3, [fp, #-12]
	add	r3, r3, #12
	mov	r0, r3
	bl	InterlockedDecrement
.L137:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L138
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	cmp	r3, #1
	bne	.L138
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	bic	r2, r3, #8192
	ldr	r3, [fp, #-32]
	str	r2, [r3, #28]
	b	.L138
.L135:
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L138
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	bic	r2, r3, #8192
	ldr	r3, [fp, #-32]
	str	r2, [r3, #28]
	mov	r3, #0
	strb	r3, [fp, #-25]
.L138:
	ldr	r3, [fp, #-12]
	add	r3, r3, #16
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	KeSetEvent
	mov	r1, #0
	ldr	r0, [fp, #-36]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-20]
	b	.L132
.L142:
	nop
.L131:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
.L132:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L144:
	.align	2
.L143:
	.word	-1073741637
	.word	myStatus
	.size	CdAudioPnp, .-CdAudioPnp
	.align	2
	.global	DriverEntry
	.syntax unified
	.arm
	.fpu softvfp
	.type	DriverEntry, %function
DriverEntry:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, #14
	ldr	r1, .L147
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-16]
	ldr	r2, .L147+4
	str	r2, [r3, #68]
	ldr	r3, [fp, #-16]
	ldr	r2, .L147+4
	str	r2, [r3, #72]
	ldr	r3, [fp, #-16]
	ldr	r2, .L147+8
	str	r2, [r3, #112]
	ldr	r3, [fp, #-16]
	ldr	r2, .L147+12
	str	r2, [r3, #164]
	ldr	r3, [fp, #-16]
	ldr	r2, .L147+16
	str	r2, [r3, #144]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	ldr	r2, .L147+20
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, .L147+24
	str	r2, [r3, #52]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L148:
	.align	2
.L147:
	.word	CdAudioSendToNextDriver
	.word	CdAudioReadWrite
	.word	CdAudioDeviceControl
	.word	CdAudioPnp
	.word	CdAudioPower
	.word	CdAudioAddDevice
	.word	CdAudioUnload
	.size	DriverEntry, .-DriverEntry
	.section	.rodata
	.align	2
.LC18:
	.ascii	"CD-ROM DRIVE:80 \000"
	.align	2
.LC19:
	.ascii	"CD-ROM DRIVE:82 \000"
	.align	2
.LC20:
	.ascii	"CD-ROM DRIVE:83 \000"
	.align	2
.LC21:
	.ascii	"CD-ROM DRIVE:84 \000"
	.align	2
.LC22:
	.ascii	"CD-ROM DRIVE:841\000"
	.align	2
.LC23:
	.ascii	"CD-ROM DRIVE:38 \000"
	.align	2
.LC24:
	.ascii	"CD-ROM DRIVE 4 M\000"
	.align	2
.LC25:
	.ascii	"CD-ROM DRIVE:500\000"
	.align	2
.LC26:
	.ascii	"CD-ROM DRIVE:400\000"
	.align	2
.LC27:
	.ascii	"CD-ROM DRIVE:401\000"
	.align	2
.LC28:
	.ascii	"CD-ROM DRIVE:501\000"
	.align	2
.LC29:
	.ascii	"CD-ROM DRIVE:900\000"
	.align	2
.LC30:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	NecSupportNeeded
	.syntax unified
	.arm
	.fpu softvfp
	.type	NecSupportNeeded, %function
NecSupportNeeded:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-72]
	ldr	r3, .L154
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	ldr	r3, .L154+4
	str	r3, [fp, #-56]
	ldr	r3, .L154+8
	str	r3, [fp, #-52]
	ldr	r3, .L154+12
	str	r3, [fp, #-48]
	ldr	r3, .L154+16
	str	r3, [fp, #-44]
	ldr	r3, .L154+20
	str	r3, [fp, #-40]
	ldr	r3, .L154+24
	str	r3, [fp, #-36]
	ldr	r3, .L154+28
	str	r3, [fp, #-32]
	ldr	r3, .L154+32
	str	r3, [fp, #-28]
	ldr	r3, .L154+36
	str	r3, [fp, #-24]
	ldr	r3, .L154+40
	str	r3, [fp, #-20]
	ldr	r3, .L154+44
	str	r3, [fp, #-16]
	ldr	r3, .L154+48
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-68]
	add	r0, r3, #16
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-52]
	mov	r2, #16
	mov	r1, r3
	bl	RtlCompareMemory
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #16
	bne	.L150
	mov	r3, #1
	b	.L152
.L150:
	mov	r3, #0
.L152:
	ldr	r2, .L154
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L153
	bl	__stack_chk_fail
.L153:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L155:
	.align	2
.L154:
	.word	.LC30
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.size	NecSupportNeeded, .-NecSupportNeeded
	.align	2
	.global	CdAudioReadWrite
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioReadWrite, %function
CdAudioReadWrite:
	@ 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, #-16]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3, #52]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L157
	ldr	r3, [fp, #-20]
	mov	r2, #-2147483631
	str	r2, [r3, #24]
	ldr	r3, .L159
	mov	r2, #-2147483631
	str	r2, [r3]
	mov	r1, #0
	ldr	r0, [fp, #-20]
	bl	IofCompleteRequest
	mov	r3, #-2147483631
	b	.L158
.L157:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L158:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L160:
	.align	2
.L159:
	.word	myStatus
	.size	CdAudioReadWrite, .-CdAudioReadWrite
	.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, #-16]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #44]	@ zero_extendqisi2
	cmp	r3, #2
	beq	.L177
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #44]	@ zero_extendqisi2
	cmp	r3, #3
	beq	.L178
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #44]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L179
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #44]	@ zero_extendqisi2
	cmp	r3, #7
	bne	.L180
	b	.L176
.L177:
	nop
.L163:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudio535DeviceControl
	str	r0, [fp, #-12]
	b	.L171
.L178:
	nop
.L165:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudio435DeviceControl
	str	r0, [fp, #-12]
	b	.L171
.L179:
	nop
.L167:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudioAtapiDeviceControl
	str	r0, [fp, #-12]
	b	.L171
.L176:
.L169:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudioHPCdrDeviceControl
	str	r0, [fp, #-12]
	b	.L171
.L180:
	nop
.L170:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3, #44]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-12]
.L171:
	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 = 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, #-16]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-12]
	ldr	r3, .L185
	ldr	r2, [r3]
	ldr	r3, .L185+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L182
	ldr	r3, .L185+8
	ldr	r3, [r3]
	ldr	r2, .L185
	str	r3, [r2]
	b	.L183
.L182:
	bl	errorFn
.L183:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3, #35]	@ zero_extendqisi2
	add	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-20]
	strb	r2, [r3, #35]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #96]
	add	r2, r3, #36
	ldr	r3, [fp, #-20]
	str	r2, [r3, #96]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	IofCallDriver
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L186:
	.align	2
.L185:
	.word	s
	.word	NP
	.word	SKIP1
	.size	CdAudioSendToNextDriver, .-CdAudioSendToNextDriver
	.section	.rodata
	.align	2
.LC31:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudioIsPlayActive
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioIsPlayActive, %function
CdAudioIsPlayActive:
	@ 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]
	ldr	r3, .L198
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #52]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L188
	mov	r3, #0
	b	.L196
.L188:
	ldr	r2, .L198+4
	mov	r1, #16
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L190
	mov	r3, #0
	b	.L196
.L190:
	ldr	r3, [fp, #-40]
	mov	r2, #1
	strb	r2, [r3]
	ldr	r3, [fp, #-40]
	mov	r2, #0
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L191
	mov	r3, #0
	b	.L196
.L191:
	ldr	r3, [fp, #-52]
	ldr	r2, .L198+8
	cmp	r3, r2
	bne	.L192
	sub	r0, fp, #24
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, #5
	bl	KeWaitForSingleObject
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-52]
.L192:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bge	.L193
	mov	r3, #0
	b	.L196
.L193:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	cmp	r3, #17
	bne	.L194
	mov	r3, #1
	strb	r3, [fp, #-53]
	b	.L195
.L194:
	mov	r3, #0
	strb	r3, [fp, #-53]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	strb	r2, [r3, #52]
.L195:
	ldrb	r3, [fp, #-53]	@ zero_extendqisi2
.L196:
	ldr	r2, .L198
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L197
	bl	__stack_chk_fail
.L197:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L199:
	.align	2
.L198:
	.word	.LC31
	.word	541156419
	.word	259
	.size	CdAudioIsPlayActive, .-CdAudioIsPlayActive
	.section	.rodata
	.align	2
.LC32:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudioNECDeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioNECDeviceControl, %function
CdAudioNECDeviceControl:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #168
	str	r0, [fp, #-168]
	str	r1, [fp, #-172]
	ldr	r3, .L303
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-132]
	sub	r3, fp, #52
	add	r3, r3, #28
	str	r3, [fp, #-128]
	mov	r3, #0
	str	r3, [fp, #-148]
.L201:
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-128]
	bl	memset
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+4
	cmp	r3, r2
	beq	.L285
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	cmp	r3, #147456
	beq	.L286
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+8
	cmp	r3, r2
	beq	.L287
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+12
	cmp	r3, r2
	beq	.L288
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+16
	cmp	r3, r2
	beq	.L289
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+20
	cmp	r3, r2
	beq	.L290
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+24
	cmp	r3, r2
	beq	.L291
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+28
	cmp	r3, r2
	beq	.L292
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+32
	cmp	r3, r2
	beq	.L293
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+36
	cmp	r3, r2
	beq	.L294
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+40
	cmp	r3, r2
	beq	.L295
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L303+44
	cmp	r3, r2
	beq	.L296
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	cmp	r3, #149504
	bne	.L297
	b	.L283
.L285:
	nop
.L203:
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #4]
	cmp	r3, #11
	bhi	.L227
	mov	r3, #-1073741789
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L227:
	ldr	r0, [fp, #-168]
	bl	CdAudioIsPlayActive
	mov	r3, r0
	strb	r3, [fp, #-157]
	ldrb	r3, [fp, #-157]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L229
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #-2147483631
	str	r3, [fp, #-156]
	b	.L269
.L229:
	ldr	r2, .L303+56
	ldr	r1, .L303+48
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L230
	ldr	r3, .L303+60
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L230:
	ldr	r2, .L303+48
	mov	r1, #0
	ldr	r0, [fp, #-88]
	bl	memset
	mov	r3, #10
	strb	r3, [fp, #-46]
	ldr	r3, [fp, #-128]
	mvn	r2, #33
	strb	r2, [r3]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #3
	strb	r3, [r2, #1]
	ldr	r3, [fp, #-128]
	mvn	r2, #79
	strb	r2, [r3, #2]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	ldr	r3, .L303+48
	ldr	r2, [fp, #-88]
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L231
	ldr	r3, [fp, #-156]
	cmp	r3, #-1073741764
	beq	.L232
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L232:
	mov	r3, #0
	str	r3, [fp, #-156]
	b	.L233
.L231:
	mov	r3, #0
	str	r3, [fp, #-156]
.L233:
	mov	r3, #12
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-172]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #28]
	ldr	r2, [fp, #-84]
	mov	r1, #0
	ldr	r0, [fp, #-132]
	bl	memset
	ldr	r3, [fp, #-84]
	sub	r3, r3, #2
	lsr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3]
	ldr	r3, [fp, #-84]
	and	r3, r3, #255
	sub	r3, r3, #2
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-88]
	add	r3, r3, #14
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L298
	ldr	r3, [fp, #-132]
	mov	r2, #1
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-132]
	mov	r2, #2
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-132]
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-88]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #4
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-88]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldrb	r3, [r2, #5]
	and	r1, r1, #15
	bic	r3, r3, #15
	orr	r3, r1, r3
	strb	r3, [r2, #5]
	ldr	r3, [fp, #-132]
	mov	r2, #1
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-132]
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-88]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-88]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	add	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r3, [fp, #-88]
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-88]
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	add	r3, r2, r3
	add	r2, r1, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	ldr	r3, [fp, #-88]
	add	r3, r3, #17
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r3, [fp, #-88]
	add	r3, r3, #17
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	add	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	lsr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	lsr	r3, r3, #16
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-64]
	lsr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-64]
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #11]
	b	.L269
.L286:
	nop
.L205:
	ldr	r0, [fp, #-168]
	bl	CdAudioIsPlayActive
	mov	r3, r0
	strb	r3, [fp, #-158]
	ldrb	r3, [fp, #-158]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L235
	mov	r3, #-2147483631
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L235:
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bhi	.L236
	mov	r3, #-1073741789
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L236:
	ldr	r2, .L303+56
	ldr	r1, .L303+48
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L237
	ldr	r3, .L303+60
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L237:
	ldr	r2, .L303+48
	mov	r1, #0
	ldr	r0, [fp, #-88]
	bl	memset
	mov	r3, #10
	strb	r3, [fp, #-46]
	ldr	r3, [fp, #-128]
	mvn	r2, #33
	strb	r2, [r3]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #3
	strb	r3, [r2, #1]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	ldr	r3, .L303+48
	ldr	r2, [fp, #-88]
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L238
	ldr	r3, [fp, #-156]
	cmp	r3, #-1073741764
	beq	.L239
	ldr	r3, [fp, #-156]
	cmp	r3, #-1073741764
	beq	.L240
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L239:
	mov	r3, #0
	str	r3, [fp, #-156]
	b	.L240
.L238:
	mov	r3, #0
	str	r3, [fp, #-156]
.L240:
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #4]
	cmp	r3, #804
	bls	.L241
	mov	r3, #804
	str	r3, [fp, #-84]
	b	.L242
.L241:
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-84]
.L242:
	ldr	r3, [fp, #-88]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-88]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-88]
	add	r3, r3, #19
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-88]
	add	r3, r3, #19
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #3
	add	r3, r3, #2
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	lsr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3]
	ldr	r3, [fp, #-76]
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #4]
	sub	r3, r3, #4
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	lsr	r3, r3, #3
	str	r3, [fp, #-72]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	bcs	.L243
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-144]
	b	.L244
.L243:
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-144]
.L244:
	mov	r3, #0
	str	r3, [fp, #-152]
.L245:
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-144]
	cmp	r2, r3
	bcs	.L299
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #32
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #4
	lsl	r3, r3, #24
	asr	r1, r3, #24
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #32
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r1, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	and	r1, r1, #15
	bic	r2, r2, #15
	orr	r2, r1, r2
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-152]
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #39
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #39
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r1, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #40
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #40
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r1, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #41
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, [fp, #-152]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #41
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r1, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
	b	.L245
.L299:
	nop
.L247:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	bls	.L248
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	bic	r2, r2, #15
	strb	r2, [r3, #5]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #85
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-88]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-88]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-88]
	add	r3, r3, #30
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-88]
	add	r3, r3, #30
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-88]
	add	r3, r3, #31
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-88]
	add	r3, r3, #31
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
.L248:
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r3, #4
	mov	r2, r3
	ldr	r3, [fp, #-172]
	str	r2, [r3, #28]
	b	.L269
.L287:
	nop
.L207:
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	b	.L272
.L288:
	nop
.L209:
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #8]
	cmp	r3, #5
	bhi	.L250
	mov	r3, #-1073741820
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L250:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #39
	strb	r2, [r3]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	bic	r3, r3, #6
	orr	r3, r3, #1
	strb	r3, [r2, #1]
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L303+52
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L303+52
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	ldr	r2, .L303+52
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, .L303+52
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	ldr	r2, .L303+52
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, .L303+52
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-128]
	mov	r2, #64
	strb	r2, [r3, #9]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	blt	.L300
	ldr	r3, [fp, #-136]
	mov	r2, #1
	strb	r2, [r3, #52]
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-128]
	bl	memset
	ldr	r3, [fp, #-128]
	mvn	r2, #38
	strb	r2, [r3]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	bic	r3, r3, #4
	orr	r3, r3, #3
	strb	r3, [r2, #1]
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	ldr	r2, .L303+52
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, .L303+52
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	ldr	r2, .L303+52
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, .L303+52
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3, #5]	@ zero_extendqisi2
	ldr	r2, .L303+52
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #5]	@ zero_extendqisi2
	ldr	r3, .L303+52
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-128]
	mov	r2, #64
	strb	r2, [r3, #9]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	b	.L300
.L289:
	nop
.L211:
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bhi	.L252
	mov	r3, #-1073741820
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L304:
	.align	2
.L303:
	.word	.LC32
	.word	147512
	.word	147464
	.word	147480
	.word	147460
	.word	147468
	.word	147472
	.word	147500
	.word	149512
	.word	147508
	.word	147476
	.word	147496
	.word	1022
	.word	-858993459
	.word	541156419
	.word	-1073741670
.L252:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #39
	strb	r2, [r3]
	ldr	r3, [fp, #-104]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L303+52
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-104]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L303+52
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-104]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	ldr	r2, .L303+52
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-104]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, .L303+52
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-104]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	ldr	r2, .L303+52
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-104]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, .L303+52
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-128]
	mov	r2, #64
	strb	r2, [r3, #9]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	b	.L269
.L290:
	nop
.L213:
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #37
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	b	.L269
.L291:
	nop
.L215:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #38
	strb	r2, [r3]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	bic	r3, r3, #4
	orr	r3, r3, #3
	strb	r3, [r2, #1]
	ldr	r3, [fp, #-128]
	mvn	r2, #63
	strb	r2, [r3, #9]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	b	.L269
.L292:
	nop
.L217:
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-120]
	ldr	r2, .L303+56
	mov	r1, #10
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #4]
	cmp	r3, #15
	bhi	.L253
	mov	r3, #-1073741789
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L253:
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	bne	.L254
	ldr	r3, .L303+60
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L254:
	mov	r2, #10
	mov	r1, #0
	ldr	r0, [fp, #-112]
	bl	memset
	ldr	r3, [fp, #-120]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L301
	mov	r3, #-1073741823
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L301:
	nop
.L255:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #34
	strb	r2, [r3]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	bic	r3, r3, #21
	orr	r3, r3, #10
	strb	r3, [r2, #1]
	sub	r1, fp, #52
	mov	r3, #10
	ldr	r2, [fp, #-112]
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L302
	ldr	r3, [fp, #-156]
	cmp	r3, #-1073741764
	bne	.L258
	b	.L257
.L302:
	nop
.L257:
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L259
	ldr	r3, [fp, #-120]
	mov	r2, #17
	strb	r2, [r3, #1]
	b	.L260
.L259:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L261
	ldr	r3, [fp, #-120]
	mov	r2, #18
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	b	.L260
.L261:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L262
	ldr	r3, [fp, #-120]
	mov	r2, #18
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	b	.L260
.L262:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #3
	bne	.L263
	ldr	r3, [fp, #-120]
	mov	r2, #19
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	b	.L260
.L263:
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
.L260:
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-120]
	mov	r2, #12
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-120]
	ldrb	r3, [r2, #5]
	and	r1, r1, #15
	bic	r3, r3, #15
	orr	r3, r1, r3
	strb	r3, [r2, #5]
	ldr	r2, [fp, #-120]
	ldrb	r3, [r2, #5]
	bic	r3, r3, #240
	strb	r3, [r2, #5]
	ldr	r3, [fp, #-112]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-112]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-112]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-112]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #13]
	ldr	r3, [fp, #-112]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #14]
	ldr	r3, [fp, #-112]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #15]
	ldr	r3, [fp, #-172]
	mov	r2, #16
	str	r2, [r3, #28]
	ldr	r3, [fp, #-120]
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #100
	bls	.L264
	adr	r3, .L305
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #60
	mov	r2, r3
	mov	r1, #0
	mov	r0, #0
	bl	KeDelayExecutionThread
	ldr	r3, [fp, #-148]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-148]
	add	r3, r3, #1
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-108]
	cmp	r3, #3
	bhi	.L265
	b	.L255
.L265:
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, .L305+8
	str	r3, [fp, #-156]
	b	.L269
.L264:
	mov	r3, #0
	str	r3, [fp, #-156]
	b	.L269
.L258:
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-120]
	bl	memset
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L293:
	nop
.L219:
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #35
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L269
.L221:
.L267:
.L294:
	nop
	b	.L268
.L295:
	nop
	b	.L268
.L296:
	nop
.L268:
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #-1073741808
	str	r3, [fp, #-156]
	b	.L269
.L283:
.L225:
	ldr	r0, [fp, #-168]
	bl	CdAudioIsPlayActive
	b	.L226
.L297:
	nop
.L226:
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-124]
	ldr	r3, [fp, #-124]
	b	.L272
.L228:
.L298:
	nop
	b	.L269
.L300:
	nop
.L269:
	ldr	r3, [fp, #-156]
	cmp	r3, #-2147483626
	bne	.L270
	ldr	r3, [fp, #-140]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L271
	ldr	r3, .L305+12
	str	r3, [fp, #-156]
	b	.L201
.L271:
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
.L270:
	ldr	r3, [fp, #-172]
	ldr	r2, [fp, #-156]
	str	r2, [r3, #24]
	ldr	r2, .L305+16
	ldr	r3, [fp, #-156]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-172]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-156]
.L272:
	ldr	r2, .L305+20
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L273
	bl	__stack_chk_fail
.L273:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L306:
	.align	3
.L305:
	.word	-5000000
	.word	-1
	.word	-1073741434
	.word	-1073741435
	.word	myStatus
	.word	.LC32
	.size	CdAudioNECDeviceControl, .-CdAudioNECDeviceControl
	.section	.rodata
	.align	2
.LC33:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudioPioneerDeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioPioneerDeviceControl, %function
CdAudioPioneerDeviceControl:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #168
	str	r0, [fp, #-168]
	str	r1, [fp, #-172]
	ldr	r3, .L428+64
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-132]
	sub	r3, fp, #52
	add	r3, r3, #28
	str	r3, [fp, #-128]
	sub	r3, fp, #52
	add	r3, r3, #28
	str	r3, [fp, #-124]
.L308:
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-128]
	bl	memset
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	cmp	r3, #147456
	beq	.L403
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L428
	cmp	r3, r2
	beq	.L404
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L428+4
	cmp	r3, r2
	beq	.L405
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L428+8
	cmp	r3, r2
	beq	.L406
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L428+12
	cmp	r3, r2
	beq	.L407
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L428+16
	cmp	r3, r2
	beq	.L408
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L428+20
	cmp	r3, r2
	beq	.L409
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L428+24
	cmp	r3, r2
	beq	.L410
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L428+28
	cmp	r3, r2
	beq	.L411
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L428+32
	cmp	r3, r2
	beq	.L412
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	ldr	r2, .L428+36
	cmp	r3, r2
	beq	.L413
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #12]
	cmp	r3, #149504
	bne	.L414
	b	.L401
.L403:
	nop
.L310:
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bhi	.L332
	mov	r3, #-1073741789
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L332:
	ldr	r0, [fp, #-168]
	bl	CdAudioIsPlayActive
	mov	r3, r0
	strb	r3, [fp, #-157]
	ldrb	r3, [fp, #-157]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L334
	mov	r3, #-2147483631
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L334:
	ldr	r2, .L428+44
	mov	r1, #804
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L335
	ldr	r3, .L428+48
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L335:
	mov	r2, #804
	mov	r1, #0
	ldr	r0, [fp, #-68]
	bl	memset
	ldr	r3, [fp, #-136]
	ldrb	r3, [r3, #44]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L336
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #1
	strb	r3, [r2, #1]
	b	.L337
.L336:
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	bic	r3, r3, #1
	strb	r3, [r2, #1]
.L337:
	ldr	r3, [fp, #-128]
	mov	r2, #27
	strb	r2, [r3]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #4]
	orr	r3, r3, #1
	strb	r3, [r2, #4]
	mov	r3, #6
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L338
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L338:
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-128]
	bl	memset
	mov	r3, #10
	strb	r3, [fp, #-46]
	ldr	r3, [fp, #-128]
	mvn	r2, #62
	strb	r2, [r3]
	ldr	r3, [fp, #-128]
	mov	r2, #4
	strb	r2, [r3, #8]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #9]
	bic	r3, r3, #192
	strb	r3, [r2, #9]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	mov	r3, #4
	ldr	r2, [fp, #-68]
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L339
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L339:
	ldr	r3, [fp, #-68]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #3
	add	r3, r3, #2
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	lsr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3]
	ldr	r3, [fp, #-60]
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #4]
	sub	r3, r3, #4
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #3
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	bcs	.L340
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-144]
	b	.L341
.L340:
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-144]
.L341:
	mov	r3, #0
	str	r3, [fp, #-152]
.L342:
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-144]
	cmp	r2, r3
	bcs	.L415
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-128]
	bl	memset
	ldr	r3, [fp, #-128]
	mvn	r2, #62
	strb	r2, [r3]
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-152]
	add	r3, r2, r3
	ldr	r2, .L428+40
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-152]
	add	r1, r2, r3
	ldr	r3, .L428+40
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	and	r3, r2, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-128]
	mov	r2, #4
	strb	r2, [r3, #8]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #9]
	bic	r3, r3, #64
	orr	r3, r3, #128
	strb	r3, [r2, #9]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	mov	r3, #4
	ldr	r2, [fp, #-68]
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L345
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L345:
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-68]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	and	r1, r1, #15
	bic	r2, r2, #15
	orr	r2, r1, r2
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-152]
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-68]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-68]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
	b	.L342
.L415:
	nop
.L344:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	bls	.L346
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-128]
	bl	memset
	ldr	r3, [fp, #-128]
	mvn	r2, #62
	strb	r2, [r3]
	ldr	r3, [fp, #-128]
	mov	r2, #4
	strb	r2, [r3, #8]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #9]
	bic	r3, r3, #128
	orr	r3, r3, #64
	strb	r3, [r2, #9]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	mov	r3, #4
	ldr	r2, [fp, #-68]
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L347
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L347:
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	bic	r2, r2, #15
	strb	r2, [r3, #5]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #85
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-68]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-68]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
.L346:
	ldr	r3, [fp, #-152]
	lsl	r3, r3, #3
	add	r3, r3, #4
	mov	r2, r3
	ldr	r3, [fp, #-172]
	str	r2, [r3, #28]
	b	.L388
.L404:
	nop
.L312:
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	b	.L391
.L405:
	nop
.L314:
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #8]
	cmp	r3, #5
	bhi	.L349
	mov	r3, #-1073741820
	str	r3, [fp, #-156]
	b	.L388
.L349:
	mov	r3, #5
	str	r3, [fp, #-148]
.L350:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #55
	strb	r2, [r3]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L428+40
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L428+40
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	ldr	r2, .L428+40
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, .L428+40
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	ldr	r2, .L428+40
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, .L428+40
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #5]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #9]
	bic	r3, r3, #128
	orr	r3, r3, #64
	strb	r3, [r2, #9]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L416
	ldr	r3, [fp, #-148]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-148]
	sub	r3, r3, #1
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L417
	b	.L350
.L416:
	nop
	b	.L353
.L417:
	nop
.L353:
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	blt	.L418
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-128]
	bl	memset
	mov	r3, #5
	str	r3, [fp, #-148]
.L355:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #54
	strb	r2, [r3]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #16
	strb	r3, [r2, #1]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	ldr	r2, .L428+40
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, .L428+40
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	ldr	r2, .L428+40
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, .L428+40
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #5]	@ zero_extendqisi2
	ldr	r2, .L428+40
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #5]	@ zero_extendqisi2
	ldr	r3, .L428+40
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #5]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #9]
	bic	r3, r3, #128
	orr	r3, r3, #64
	strb	r3, [r2, #9]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L419
	ldr	r3, [fp, #-148]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-148]
	sub	r3, r3, #1
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L420
	b	.L355
.L419:
	nop
	b	.L358
.L420:
	nop
.L358:
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	blt	.L418
	ldr	r3, [fp, #-136]
	mov	r2, #1
	strb	r2, [r3, #52]
	b	.L418
.L406:
	nop
.L316:
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bhi	.L359
	mov	r3, #-1073741820
	str	r3, [fp, #-156]
	b	.L388
.L359:
	mov	r3, #5
	str	r3, [fp, #-148]
.L360:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #55
	strb	r2, [r3]
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L428+40
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L428+40
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	ldr	r2, .L428+40
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, .L428+40
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	ldr	r2, .L428+40
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, .L428+40
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-128]
	strb	r2, [r3, #5]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #9]
	bic	r3, r3, #128
	orr	r3, r3, #64
	strb	r3, [r2, #9]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L421
	ldr	r3, [fp, #-148]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-148]
	sub	r3, r3, #1
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L422
	b	.L360
.L421:
	nop
	b	.L388
.L422:
	nop
.L363:
	b	.L388
.L407:
	nop
.L318:
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #53
	strb	r2, [r3]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #16
	strb	r3, [r2, #1]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	b	.L388
.L408:
	nop
.L320:
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #53
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	b	.L388
.L429:
	.align	2
.L428:
	.word	147464
	.word	147480
	.word	147460
	.word	147468
	.word	147472
	.word	147500
	.word	149512
	.word	147508
	.word	147476
	.word	147496
	.word	-858993459
	.word	541156419
	.word	-1073741670
	.word	-1073741661
	.word	-1073741435
	.word	myStatus
	.word	.LC33
.L409:
	nop
.L322:
	ldr	r3, [fp, #-172]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-116]
	ldr	r2, .L428+44
	mov	r1, #9
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-112]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #4]
	cmp	r3, #15
	bhi	.L364
	mov	r3, #-1073741789
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L364:
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	bne	.L365
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-116]
	bl	memset
	ldr	r3, .L428+48
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L365:
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L366
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-116]
	bl	memset
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #-1073741808
	str	r3, [fp, #-156]
	b	.L388
.L366:
	mov	r3, #5
	str	r3, [fp, #-148]
.L367:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #51
	strb	r2, [r3]
	ldr	r3, [fp, #-128]
	mov	r2, #6
	strb	r2, [r3, #8]
	sub	r1, fp, #52
	mov	r3, #6
	ldr	r2, [fp, #-108]
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L423
	ldr	r3, [fp, #-148]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-148]
	sub	r3, r3, #1
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	beq	.L424
	ldr	r3, [fp, #-156]
	ldr	r2, .L428+52
	cmp	r3, r2
	beq	.L425
	b	.L367
.L423:
	nop
	b	.L371
.L424:
	nop
	b	.L371
.L425:
	nop
.L371:
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	blt	.L372
	ldr	r3, [fp, #-116]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-108]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L373
	ldr	r3, [fp, #-116]
	mov	r2, #17
	strb	r2, [r3, #1]
	b	.L374
.L373:
	ldr	r3, [fp, #-108]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L375
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-116]
	mov	r2, #18
	strb	r2, [r3, #1]
	b	.L374
.L375:
	ldr	r3, [fp, #-108]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L376
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-116]
	mov	r2, #18
	strb	r2, [r3, #1]
	b	.L374
.L376:
	ldr	r3, [fp, #-108]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #3
	bne	.L377
	ldr	r3, [fp, #-116]
	mov	r2, #19
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	b	.L374
.L377:
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	b	.L374
.L372:
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L374:
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-128]
	bl	memset
	mov	r3, #5
	str	r3, [fp, #-148]
.L378:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #61
	strb	r2, [r3]
	ldr	r3, [fp, #-128]
	mov	r2, #9
	strb	r2, [r3, #8]
	sub	r1, fp, #52
	mov	r3, #9
	ldr	r2, [fp, #-108]
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bge	.L426
	ldr	r3, [fp, #-148]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-148]
	sub	r3, r3, #1
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L427
	b	.L378
.L426:
	nop
	b	.L381
.L427:
	nop
.L381:
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	blt	.L382
	ldr	r3, [fp, #-116]
	mov	r2, #0
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-116]
	mov	r2, #12
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-116]
	mov	r2, #1
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-108]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldrb	r3, [r2, #5]
	and	r1, r1, #15
	bic	r3, r3, #15
	orr	r3, r1, r3
	strb	r3, [r2, #5]
	ldr	r2, [fp, #-116]
	ldrb	r3, [r2, #5]
	bic	r3, r3, #240
	strb	r3, [r2, #5]
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-108]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-108]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-116]
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-108]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-108]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-108]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-108]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-108]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-108]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-116]
	mov	r2, #0
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-108]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-108]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #13]
	ldr	r3, [fp, #-108]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-108]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #14]
	ldr	r3, [fp, #-108]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-108]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #15]
	ldr	r3, [fp, #-172]
	mov	r2, #16
	str	r2, [r3, #28]
	b	.L388
.L382:
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L388
.L410:
	nop
.L324:
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-136]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-136]
	ldrb	r3, [r3, #44]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L384
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-128]
	mvn	r2, #63
	strb	r2, [r3]
	ldr	r2, [fp, #-128]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #1
	strb	r3, [r2, #1]
	b	.L385
.L384:
	mov	r3, #6
	strb	r3, [fp, #-46]
	ldr	r3, [fp, #-124]
	mov	r2, #27
	strb	r2, [r3]
	ldr	r2, [fp, #-124]
	ldrb	r3, [r2, #4]
	orr	r3, r3, #2
	strb	r3, [r2, #4]
	ldr	r2, [fp, #-124]
	ldrb	r3, [r2, #4]
	bic	r3, r3, #1
	strb	r3, [r2, #4]
.L385:
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-136]
	bl	SendSrbSynchronous
	str	r0, [fp, #-156]
	b	.L388
.L326:
.L386:
.L411:
	nop
	b	.L387
.L412:
	nop
	b	.L387
.L413:
	nop
.L387:
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #-1073741808
	str	r3, [fp, #-156]
	b	.L388
.L401:
.L330:
	ldr	r0, [fp, #-168]
	bl	CdAudioIsPlayActive
	b	.L331
.L414:
	nop
.L331:
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-168]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-120]
	ldr	r3, [fp, #-120]
	b	.L391
.L333:
.L418:
	nop
.L388:
	ldr	r3, [fp, #-156]
	cmp	r3, #-2147483626
	bne	.L389
	ldr	r3, [fp, #-140]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L390
	ldr	r3, .L428+56
	str	r3, [fp, #-156]
	b	.L308
.L390:
	ldr	r3, [fp, #-172]
	mov	r2, #0
	str	r2, [r3, #28]
.L389:
	ldr	r3, [fp, #-172]
	ldr	r2, [fp, #-156]
	str	r2, [r3, #24]
	ldr	r2, .L428+60
	ldr	r3, [fp, #-156]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-172]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-156]
.L391:
	ldr	r2, .L428+64
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L392
	bl	__stack_chk_fail
.L392:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CdAudioPioneerDeviceControl, .-CdAudioPioneerDeviceControl
	.section	.rodata
	.align	2
.LC34:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudioDenonDeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioDenonDeviceControl, %function
CdAudioDenonDeviceControl:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	ldr	r3, .L530+64
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-116]
	sub	r3, fp, #52
	add	r3, r3, #28
	str	r3, [fp, #-112]
.L431:
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-112]
	bl	memset
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530
	cmp	r3, r2
	beq	.L510
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	cmp	r3, #147456
	beq	.L511
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+4
	cmp	r3, r2
	beq	.L512
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+8
	cmp	r3, r2
	beq	.L513
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+12
	cmp	r3, r2
	beq	.L514
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+16
	cmp	r3, r2
	beq	.L515
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+20
	cmp	r3, r2
	beq	.L516
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+24
	cmp	r3, r2
	beq	.L517
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+28
	cmp	r3, r2
	beq	.L518
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+32
	cmp	r3, r2
	beq	.L519
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+36
	cmp	r3, r2
	beq	.L520
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+40
	cmp	r3, r2
	beq	.L521
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	cmp	r3, #149504
	bne	.L522
	b	.L508
.L510:
	nop
.L433:
	mov	r3, #-1073741808
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L496
.L511:
	nop
.L435:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bhi	.L457
	mov	r3, #-1073741789
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L496
.L457:
	ldr	r0, [fp, #-144]
	bl	CdAudioIsPlayActive
	mov	r3, r0
	strb	r3, [fp, #-137]
	ldrb	r3, [fp, #-137]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L458
	mov	r3, #-2147483631
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L496
.L458:
	ldr	r2, .L530+48
	mov	r1, #804
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L459
	ldr	r3, .L530+52
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L496
.L459:
	mov	r2, #804
	mov	r1, #0
	ldr	r0, [fp, #-72]
	bl	memset
	ldr	r3, [fp, #-112]
	mvn	r2, #22
	strb	r2, [r3]
	mov	r3, #10
	str	r3, [fp, #-36]
	mov	r3, #6
	strb	r3, [fp, #-46]
	sub	r1, fp, #52
	mov	r3, #804
	ldr	r2, [fp, #-72]
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bge	.L460
	ldr	r3, [fp, #-136]
	cmp	r3, #-1073741764
	beq	.L460
	ldr	r3, [fp, #-136]
	cmp	r3, #-1073741764
	beq	.L460
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L496
.L460:
	mov	r3, #0
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-124]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bls	.L461
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-68]
	b	.L462
.L461:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-68]
.L462:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-72]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-72]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #3
	add	r3, r3, #2
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	lsr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3]
	ldr	r3, [fp, #-60]
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	sub	r3, r3, #4
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #3
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	bcs	.L463
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-128]
	b	.L464
.L463:
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-128]
.L464:
	mov	r3, #0
	str	r3, [fp, #-132]
.L465:
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-128]
	cmp	r2, r3
	bcs	.L523
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-132]
	add	r3, r3, #3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	and	r1, r1, #15
	bic	r2, r2, #15
	orr	r2, r1, r2
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-132]
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #2
	add	r3, r3, #13
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #2
	add	r3, r3, #13
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #2
	add	r3, r3, #14
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #2
	add	r3, r3, #14
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #2
	add	r3, r3, #15
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #2
	add	r3, r3, #15
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	b	.L465
.L523:
	nop
.L467:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	bls	.L468
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	bic	r2, r2, #15
	strb	r2, [r3, #5]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #85
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-72]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-72]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-72]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-72]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-72]
	add	r3, r3, #11
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-72]
	add	r3, r3, #11
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L468:
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #4
	mov	r2, r3
	ldr	r3, [fp, #-148]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #51]
	b	.L496
.L437:
.L512:
	nop
	b	.L469
.L513:
	nop
.L469:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	mov	r3, #6
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mvn	r2, #24
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L470
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #51]
.L470:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L530+8
	cmp	r3, r2
	beq	.L524
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #8]
	cmp	r3, #5
	bhi	.L472
	mov	r3, #-1073741820
	str	r3, [fp, #-136]
	b	.L496
.L472:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mov	r2, #34
	strb	r2, [r3]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3, #5]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #5]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #7]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L473
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3, #5]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #5]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #51]
	b	.L525
.L473:
	ldr	r3, [fp, #-136]
	cmp	r3, #-1073741808
	bne	.L525
	mov	r3, #-1073741803
	str	r3, [fp, #-136]
	b	.L525
.L514:
	nop
.L440:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bhi	.L475
	mov	r3, #-1073741820
	str	r3, [fp, #-136]
	b	.L496
.L531:
	.align	2
.L530:
	.word	147512
	.word	147480
	.word	147464
	.word	147460
	.word	147468
	.word	147472
	.word	147500
	.word	149512
	.word	147508
	.word	147476
	.word	147496
	.word	-858993459
	.word	541156419
	.word	-1073741670
	.word	-1073741435
	.word	myStatus
	.word	.LC34
.L475:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mov	r2, #34
	strb	r2, [r3]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #7]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L476
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-84]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	ldr	r2, .L530+44
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, .L530+44
	umull	r1, r3, r2, r3
	lsr	r1, r3, #3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #51]
	b	.L526
.L476:
	ldr	r3, [fp, #-136]
	cmp	r3, #-1073741808
	bne	.L526
	mov	r3, #-1073741803
	str	r3, [fp, #-136]
	b	.L526
.L515:
	nop
.L442:
	ldr	r2, .L530+48
	mov	r1, #10
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L478
	ldr	r3, .L530+52
	str	r3, [fp, #-136]
	b	.L496
.L478:
	ldr	r3, [fp, #-120]
	ldrb	r3, [r3, #45]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L479
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L496
.L479:
	mov	r3, #6
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mvn	r2, #20
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	mov	r2, #10
	strb	r2, [r3, #4]
	sub	r1, fp, #52
	mov	r3, #10
	ldr	r2, [fp, #-88]
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L527
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #7]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #8]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #9]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #48]
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-112]
	bl	memset
	mov	r3, #6
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mvn	r2, #24
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L528
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #7]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #8]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-88]
	ldrb	r2, [r3, #9]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #48]
	b	.L496
.L516:
	nop
.L444:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-120]
	ldrb	r3, [r3, #45]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L482
	mov	r3, #-1073741823
	str	r3, [fp, #-136]
	b	.L496
.L482:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mov	r2, #34
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #46]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #47]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #48]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #49]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #50]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #51]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #7]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L529
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #45]
	b	.L529
.L517:
	nop
.L446:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-104]
	ldr	r2, .L530+48
	mov	r1, #24
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	cmp	r3, #15
	bhi	.L484
	mov	r3, #-1073741789
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L496
.L484:
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L485
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-104]
	bl	memset
	ldr	r3, .L530+52
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L496
.L485:
	ldr	r3, [fp, #-104]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L486
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-104]
	bl	memset
	mov	r3, #-1073741823
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L496
.L486:
	mov	r3, #6
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mvn	r2, #20
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	mov	r2, #10
	strb	r2, [r3, #4]
	sub	r1, fp, #52
	mov	r3, #10
	ldr	r2, [fp, #-96]
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L487
	ldr	r3, [fp, #-104]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	ldrb	r3, [r3, #45]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L488
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-104]
	mov	r2, #18
	strb	r2, [r3, #1]
	b	.L489
.L488:
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L490
	ldr	r3, [fp, #-104]
	mov	r2, #17
	strb	r2, [r3, #1]
	b	.L489
.L490:
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L491
	ldr	r3, [fp, #-104]
	mov	r2, #19
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	b	.L489
.L491:
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
.L489:
	ldr	r3, [fp, #-104]
	mov	r2, #0
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-104]
	mov	r2, #12
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-104]
	mov	r2, #1
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-104]
	ldrb	r3, [r2, #5]
	and	r1, r1, #15
	bic	r3, r3, #15
	orr	r3, r1, r3
	strb	r3, [r2, #5]
	ldr	r2, [fp, #-104]
	ldrb	r3, [r2, #5]
	bic	r3, r3, #240
	strb	r3, [r2, #5]
	ldr	r3, [fp, #-96]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-96]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-104]
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-96]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-96]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-104]
	mov	r2, #0
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #13]
	ldr	r3, [fp, #-96]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #14]
	ldr	r3, [fp, #-96]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-104]
	strb	r2, [r3, #15]
	ldr	r3, [fp, #-148]
	mov	r2, #16
	str	r2, [r3, #28]
	b	.L496
.L487:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L496
.L518:
	nop
.L448:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	mov	r3, #6
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mvn	r2, #25
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	b	.L496
.L450:
.L493:
.L519:
	nop
	b	.L494
.L520:
	nop
	b	.L494
.L521:
	nop
.L494:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #-1073741808
	str	r3, [fp, #-136]
	b	.L496
.L508:
.L454:
	ldr	r0, [fp, #-144]
	bl	CdAudioIsPlayActive
	b	.L455
.L522:
	nop
.L455:
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-144]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-108]
	b	.L499
.L456:
.L524:
	nop
	b	.L496
.L525:
	nop
	b	.L496
.L526:
	nop
	b	.L496
.L527:
	nop
	b	.L496
.L528:
	nop
	b	.L496
.L529:
	nop
.L496:
	ldr	r3, [fp, #-136]
	cmp	r3, #-2147483626
	bne	.L497
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L498
	ldr	r3, .L530+56
	str	r3, [fp, #-136]
	b	.L431
.L498:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
.L497:
	ldr	r3, [fp, #-148]
	ldr	r2, [fp, #-136]
	str	r2, [r3, #24]
	ldr	r2, .L530+60
	ldr	r3, [fp, #-136]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-148]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-136]
.L499:
	ldr	r2, .L530+64
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L500
	bl	__stack_chk_fail
.L500:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CdAudioDenonDeviceControl, .-CdAudioDenonDeviceControl
	.section	.rodata
	.align	2
.LC35:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudioHitachiSendPauseCommand
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioHitachiSendPauseCommand, %function
CdAudioHitachiSendPauseCommand:
	@ 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]
	ldr	r3, .L537
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-72]
	sub	r3, fp, #52
	add	r3, r3, #28
	str	r3, [fp, #-68]
	ldr	r2, .L537+4
	mov	r1, #3
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L533
	ldr	r3, .L537+8
	b	.L535
.L533:
	mov	r2, #3
	mov	r1, #0
	ldr	r0, [fp, #-60]
	bl	memset
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-68]
	bl	memset
	mov	r3, #12
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-68]
	mvn	r2, #30
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #3
	ldr	r2, [fp, #-60]
	ldr	r0, [fp, #-72]
	bl	SendSrbSynchronous
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
.L535:
	ldr	r2, .L537
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L536
	bl	__stack_chk_fail
.L536:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L538:
	.align	2
.L537:
	.word	.LC35
	.word	541156419
	.word	-1073741670
	.size	CdAudioHitachiSendPauseCommand, .-CdAudioHitachiSendPauseCommand
	.section	.rodata
	.align	2
.LC36:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudioHitachiDeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioHitachiDeviceControl, %function
CdAudioHitachiDeviceControl:
	@ args = 0, pretend = 0, frame = 176
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #176
	str	r0, [fp, #-176]
	str	r1, [fp, #-180]
	ldr	r3, .L652
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-140]
	sub	r3, fp, #52
	add	r3, r3, #28
	str	r3, [fp, #-136]
.L540:
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-136]
	bl	memset
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	cmp	r3, #147456
	beq	.L633
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	ldr	r2, .L652+4
	cmp	r3, r2
	beq	.L634
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	ldr	r2, .L652+8
	cmp	r3, r2
	beq	.L635
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	ldr	r2, .L652+12
	cmp	r3, r2
	beq	.L636
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	ldr	r2, .L652+16
	cmp	r3, r2
	beq	.L637
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	ldr	r2, .L652+20
	cmp	r3, r2
	beq	.L638
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	ldr	r2, .L652+24
	cmp	r3, r2
	beq	.L639
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	ldr	r2, .L652+28
	cmp	r3, r2
	beq	.L640
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	ldr	r2, .L652+32
	cmp	r3, r2
	beq	.L641
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	ldr	r2, .L652+36
	cmp	r3, r2
	beq	.L642
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	ldr	r2, .L652+40
	cmp	r3, r2
	beq	.L643
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	cmp	r3, #149504
	bne	.L644
	b	.L630
.L633:
	nop
.L542:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bhi	.L564
	mov	r3, #-1073741789
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L617
.L564:
	ldr	r0, [fp, #-176]
	bl	CdAudioIsPlayActive
	mov	r3, r0
	strb	r3, [fp, #-165]
	ldrb	r3, [fp, #-165]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L566
	mov	r3, #-2147483631
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L617
.L566:
	ldr	r2, .L652+44
	mov	r1, #804
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L567
	ldr	r3, .L652+48
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L617
.L567:
	mov	r2, #804
	mov	r1, #0
	ldr	r0, [fp, #-84]
	bl	memset
	mov	r3, #12
	strb	r3, [fp, #-46]
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3, #44]	@ zero_extendqisi2
	cmp	r3, #5
	bne	.L568
	ldr	r3, [fp, #-136]
	mvn	r2, #28
	strb	r2, [r3]
	b	.L569
.L568:
	ldr	r3, [fp, #-136]
	mvn	r2, #23
	strb	r2, [r3]
.L569:
	ldr	r3, [fp, #-136]
	mov	r2, #3
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-136]
	mov	r2, #36
	strb	r2, [r3, #10]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	mov	r3, #804
	ldr	r2, [fp, #-84]
	ldr	r0, [fp, #-144]
	bl	SendSrbSynchronous
	str	r0, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	bge	.L570
	ldr	r3, [fp, #-164]
	cmp	r3, #-1073741764
	beq	.L571
	ldr	r3, [fp, #-164]
	cmp	r3, #-1073741764
	beq	.L572
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L617
.L571:
	mov	r3, #0
	str	r3, [fp, #-164]
	b	.L572
.L570:
	mov	r3, #0
	str	r3, [fp, #-164]
.L572:
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3, #44]	@ zero_extendqisi2
	cmp	r3, #6
	bne	.L573
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #4]
	cmp	r3, #804
	bls	.L574
	mov	r3, #804
	str	r3, [fp, #-80]
	b	.L575
.L574:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-80]
.L575:
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-140]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-140]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #3
	add	r3, r3, #2
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	lsr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-140]
	strb	r2, [r3]
	ldr	r3, [fp, #-60]
	and	r2, r3, #255
	ldr	r3, [fp, #-140]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #4]
	sub	r3, r3, #4
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #3
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	bcs	.L576
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-156]
	b	.L577
.L576:
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-156]
.L577:
	mov	r3, #0
	str	r3, [fp, #-160]
.L578:
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	bcs	.L645
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-160]
	add	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #4
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-160]
	add	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	and	r1, r1, #15
	bic	r2, r2, #15
	orr	r2, r1, r2
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-160]
	and	r2, r3, #255
	ldr	r3, [fp, #-140]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	add	r3, r3, #9
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	add	r3, r3, #10
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	add	r3, r3, #11
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	str	r3, [fp, #-160]
	b	.L578
.L645:
	nop
.L580:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	bls	.L581
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	bic	r2, r2, #15
	strb	r2, [r3, #5]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #85
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-84]
	ldrb	r1, [r3, #5]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-84]
	ldrb	r1, [r3, #6]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-84]
	ldrb	r1, [r3, #7]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	str	r3, [fp, #-160]
.L581:
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r3, #4
	mov	r2, r3
	ldr	r3, [fp, #-180]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #51]
	b	.L617
.L573:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #4]
	cmp	r3, #804
	bls	.L583
	mov	r3, #804
	str	r3, [fp, #-80]
	b	.L584
.L583:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-80]
.L584:
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-140]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-140]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-140]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #3
	add	r3, r3, #2
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	lsr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-140]
	strb	r2, [r3]
	ldr	r3, [fp, #-72]
	and	r2, r3, #255
	ldr	r3, [fp, #-140]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #4]
	sub	r3, r3, #4
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	lsr	r3, r3, #3
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bcs	.L585
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-152]
	b	.L586
.L585:
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-152]
.L586:
	mov	r3, #0
	str	r3, [fp, #-160]
.L587:
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-152]
	cmp	r2, r3
	bcs	.L646
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #6
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L590
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	bic	r2, r2, #11
	orr	r2, r2, #4
	strb	r2, [r3, #5]
	b	.L591
.L590:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	bic	r2, r2, #15
	strb	r2, [r3, #5]
.L591:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	bic	r2, r2, #240
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-160]
	and	r2, r3, #255
	ldr	r3, [fp, #-140]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #6
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #127
	and	r1, r3, #255
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #7
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r2, [fp, #-160]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #8
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	str	r3, [fp, #-160]
	b	.L587
.L646:
	nop
.L589:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bls	.L592
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	bic	r2, r2, #15
	strb	r2, [r3, #5]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #85
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-84]
	ldrb	r1, [r3, #3]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-84]
	ldrb	r1, [r3, #4]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-84]
	ldrb	r1, [r3, #5]	@ zero_extendqisi2
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	str	r3, [fp, #-160]
.L592:
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #3
	add	r3, r3, #4
	mov	r2, r3
	ldr	r3, [fp, #-180]
	str	r2, [r3, #28]
	b	.L617
.L634:
	nop
.L544:
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r0, [fp, #-176]
	bl	CdAudioHitachiSendPauseCommand
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #51]
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-176]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	b	.L620
.L635:
	nop
.L546:
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #8]
	cmp	r3, #5
	bhi	.L594
	mov	r3, #-1073741820
	str	r3, [fp, #-164]
	b	.L617
.L594:
	ldr	r0, [fp, #-176]
	bl	CdAudioHitachiSendPauseCommand
	mov	r3, #12
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-136]
	mvn	r2, #31
	strb	r2, [r3]
	ldr	r2, [fp, #-136]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #1
	strb	r3, [r2, #1]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #5]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #9]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-144]
	bl	SendSrbSynchronous
	str	r0, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	blt	.L647
	ldr	r3, [fp, #-144]
	mov	r2, #1
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #5]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #51]
	b	.L647
.L636:
	nop
.L548:
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bhi	.L596
	mov	r3, #-1073741820
	str	r3, [fp, #-164]
	b	.L617
.L596:
	ldr	r0, [fp, #-176]
	bl	CdAudioHitachiSendPauseCommand
	mov	r3, #12
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-136]
	mvn	r2, #31
	strb	r2, [r3]
	ldr	r2, [fp, #-136]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #1
	strb	r3, [r2, #1]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #9]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-144]
	bl	SendSrbSynchronous
	str	r0, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	blt	.L648
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-100]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #51]
	b	.L648
.L637:
	nop
.L550:
	ldr	r2, .L652+44
	mov	r1, #3
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L598
	ldr	r3, .L652+48
	str	r3, [fp, #-164]
	b	.L617
.L598:
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #52]
	mov	r2, #3
	mov	r1, #0
	ldr	r0, [fp, #-104]
	bl	memset
	mov	r3, #12
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-136]
	mvn	r2, #30
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #3
	ldr	r2, [fp, #-104]
	ldr	r0, [fp, #-144]
	bl	SendSrbSynchronous
	str	r0, [fp, #-164]
	ldr	r3, [fp, #-144]
	mov	r2, #1
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-104]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-104]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-104]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3, #48]
	b	.L617
.L638:
	nop
.L552:
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r0, [fp, #-176]
	bl	CdAudioHitachiSendPauseCommand
	mov	r3, #12
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-136]
	mvn	r2, #31
	strb	r2, [r3]
	ldr	r2, [fp, #-136]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #1
	strb	r3, [r2, #1]
	ldr	r3, [fp, #-144]
	ldrb	r2, [r3, #46]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-144]
	ldrb	r2, [r3, #47]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-144]
	ldrb	r2, [r3, #48]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-144]
	ldrb	r2, [r3, #49]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-144]
	ldrb	r2, [r3, #50]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-144]
	ldrb	r2, [r3, #51]	@ zero_extendqisi2
	ldr	r3, [fp, #-136]
	strb	r2, [r3, #9]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-144]
	bl	SendSrbSynchronous
	str	r0, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	blt	.L649
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #45]
	b	.L649
.L639:
	nop
.L554:
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-120]
	ldr	r2, .L652+44
	mov	r1, #24
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #4]
	cmp	r3, #15
	bhi	.L600
	mov	r3, #-1073741789
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L617
.L600:
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	bne	.L601
	ldr	r3, .L652+48
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L617
.L653:
	.align	2
.L652:
	.word	.LC36
	.word	147464
	.word	147480
	.word	147460
	.word	147468
	.word	147472
	.word	147500
	.word	149512
	.word	147508
	.word	147476
	.word	147496
	.word	541156419
	.word	-1073741670
	.word	-1073741435
	.word	myStatus
	.word	.LC36
.L601:
	ldr	r3, [fp, #-120]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L602
	mov	r3, #-1073741823
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L617
.L602:
	mov	r3, #12
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-136]
	mvn	r2, #26
	strb	r2, [r3]
.L603:
	sub	r1, fp, #52
	mov	r3, #24
	ldr	r2, [fp, #-112]
	ldr	r0, [fp, #-144]
	bl	SendSrbSynchronous
	str	r0, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	bge	.L650
	ldr	r3, [fp, #-164]
	cmp	r3, #-1073741764
	bne	.L606
	b	.L605
.L650:
	nop
.L605:
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	cmp	r3, #1
	beq	.L607
	b	.L603
.L607:
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3, #45]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L608
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-120]
	mov	r2, #18
	strb	r2, [r3, #1]
	b	.L609
.L608:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L610
	ldr	r3, [fp, #-120]
	mov	r2, #17
	strb	r2, [r3, #1]
	b	.L609
.L610:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L611
	ldr	r3, [fp, #-120]
	mov	r2, #19
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #52]
	b	.L609
.L611:
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #52]
.L609:
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-120]
	mov	r2, #12
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-120]
	ldrb	r3, [r2, #5]
	and	r1, r1, #15
	bic	r3, r3, #15
	orr	r3, r1, r3
	strb	r3, [r2, #5]
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	ldr	r1, [fp, #-120]
	ldrb	r2, [r1, #5]
	and	r3, r3, #15
	bic	r2, r2, #240
	lsl	r3, r3, #4
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1, #5]
	ldr	r3, [fp, #-112]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-112]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldrb	r2, [r3, #8]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-112]
	ldrb	r2, [r3, #9]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-112]
	ldrb	r2, [r3, #10]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-112]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #13]
	ldr	r3, [fp, #-112]
	ldrb	r2, [r3, #5]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #14]
	ldr	r3, [fp, #-112]
	ldrb	r2, [r3, #6]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #15]
	ldr	r3, [fp, #-180]
	mov	r2, #16
	str	r2, [r3, #28]
	mov	r3, #0
	str	r3, [fp, #-164]
	b	.L617
.L606:
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L617
.L640:
	nop
.L556:
	ldr	r2, .L652+44
	mov	r1, #1
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-128]
	ldr	r3, [fp, #-128]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	bne	.L613
	ldr	r3, .L652+48
	str	r3, [fp, #-164]
	b	.L617
.L613:
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #52]
	mov	r3, #12
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-136]
	mvn	r2, #27
	strb	r2, [r3]
	ldr	r2, [fp, #-136]
	ldrb	r3, [r2, #10]
	orr	r3, r3, #1
	strb	r3, [r2, #10]
	sub	r1, fp, #52
	mov	r3, #1
	ldr	r2, [fp, #-124]
	ldr	r0, [fp, #-144]
	bl	SendSrbSynchronous
	str	r0, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	blt	.L651
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-144]
	mov	r2, #0
	strb	r2, [r3, #51]
	b	.L651
.L558:
.L615:
.L641:
	nop
	b	.L616
.L642:
	nop
	b	.L616
.L643:
	nop
.L616:
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #-1073741808
	str	r3, [fp, #-164]
	b	.L617
.L630:
.L562:
	ldr	r0, [fp, #-176]
	bl	CdAudioIsPlayActive
	b	.L563
.L644:
	nop
.L563:
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-176]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-132]
	ldr	r3, [fp, #-132]
	b	.L620
.L565:
.L647:
	nop
	b	.L617
.L648:
	nop
	b	.L617
.L649:
	nop
	b	.L617
.L651:
	nop
.L617:
	ldr	r3, [fp, #-164]
	cmp	r3, #-2147483626
	bne	.L618
	ldr	r3, [fp, #-148]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L619
	ldr	r3, .L652+52
	str	r3, [fp, #-164]
	b	.L540
.L619:
	ldr	r3, [fp, #-180]
	mov	r2, #0
	str	r2, [r3, #28]
.L618:
	ldr	r3, [fp, #-180]
	ldr	r2, [fp, #-164]
	str	r2, [r3, #24]
	ldr	r2, .L652+56
	ldr	r3, [fp, #-164]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-180]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-164]
.L620:
	ldr	r2, .L652+60
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L621
	bl	__stack_chk_fail
.L621:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CdAudioHitachiDeviceControl, .-CdAudioHitachiDeviceControl
	.section	.rodata
	.align	2
.LC37:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudio535DeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudio535DeviceControl, %function
CdAudio535DeviceControl:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	ldr	r3, .L739
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-116]
	sub	r3, fp, #52
	add	r3, r3, #28
	str	r3, [fp, #-112]
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-112]
	bl	memset
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L739+4
	cmp	r3, r2
	beq	.L723
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	cmp	r3, #147456
	beq	.L724
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L739+8
	cmp	r3, r2
	beq	.L725
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L739+12
	cmp	r3, r2
	beq	.L726
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L739+16
	cmp	r3, r2
	beq	.L727
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L739+20
	cmp	r3, r2
	beq	.L728
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L739+24
	cmp	r3, r2
	beq	.L729
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L739+28
	cmp	r3, r2
	beq	.L730
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L739+32
	cmp	r3, r2
	beq	.L731
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	cmp	r3, #149504
	bne	.L732
	b	.L721
.L723:
	nop
.L656:
	ldr	r0, [fp, #-144]
	bl	CdAudioIsPlayActive
	mov	r3, r0
	strb	r3, [fp, #-137]
	ldrb	r3, [fp, #-137]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L674
	mov	r3, #-2147483631
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L674:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	cmp	r3, #11
	bhi	.L676
	mov	r3, #-1073741789
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L676:
	ldr	r2, .L739+36
	mov	r1, #8
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L677
	ldr	r3, .L739+40
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L677:
	mov	r2, #8
	mov	r1, #0
	ldr	r0, [fp, #-56]
	bl	memset
	mov	r3, #10
	strb	r3, [fp, #-46]
	ldr	r3, [fp, #-112]
	mov	r2, #38
	strb	r2, [r3]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	mov	r3, #8
	ldr	r2, [fp, #-56]
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bge	.L678
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L678:
	mov	r3, #0
	str	r3, [fp, #-136]
	mov	r3, #12
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-148]
	ldr	r2, [fp, #-72]
	str	r2, [r3, #28]
	ldr	r2, [fp, #-72]
	mov	r1, #0
	ldr	r0, [fp, #-116]
	bl	memset
	ldr	r3, [fp, #-72]
	sub	r3, r3, #2
	lsr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3]
	ldr	r3, [fp, #-72]
	and	r3, r3, #255
	sub	r3, r3, #2
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L733
	ldr	r3, [fp, #-116]
	mov	r2, #1
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-116]
	mov	r2, #2
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #8
	ldr	r2, [fp, #-56]
	ldr	r2, [r2]
	str	r2, [r3]
	b	.L711
.L724:
	nop
.L658:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bhi	.L680
	mov	r3, #-1073741789
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L680:
	ldr	r0, [fp, #-144]
	bl	CdAudioIsPlayActive
	mov	r3, r0
	strb	r3, [fp, #-138]
	ldrb	r3, [fp, #-138]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L681
	mov	r3, #-2147483631
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L681:
	ldr	r2, .L739+36
	mov	r1, #804
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L682
	ldr	r3, .L739+40
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L682:
	mov	r2, #804
	mov	r1, #0
	ldr	r0, [fp, #-76]
	bl	memset
	ldr	r3, [fp, #-112]
	mov	r2, #67
	strb	r2, [r3]
	ldr	r2, [fp, #-112]
	ldrb	r3, [r2, #1]
	bic	r3, r3, #4
	orr	r3, r3, #2
	strb	r3, [r2, #1]
	ldr	r3, [fp, #-112]
	mov	r2, #3
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-112]
	mov	r2, #36
	strb	r2, [r3, #8]
	mov	r3, #10
	str	r3, [fp, #-36]
	mov	r3, #10
	strb	r3, [fp, #-46]
	sub	r1, fp, #52
	mov	r3, #804
	ldr	r2, [fp, #-76]
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bge	.L683
	ldr	r3, [fp, #-136]
	cmp	r3, #-1073741764
	beq	.L684
	ldr	r3, [fp, #-136]
	cmp	r3, #-1073741764
	beq	.L685
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L684:
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L685
.L683:
	mov	r3, #0
	str	r3, [fp, #-136]
.L685:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	cmp	r3, #804
	bls	.L686
	mov	r3, #804
	str	r3, [fp, #-72]
	b	.L687
.L686:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-72]
.L687:
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	strb	r2, [r3]
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-76]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-76]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	sub	r3, r3, #4
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	lsr	r3, r3, #3
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bcs	.L688
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-128]
	b	.L689
.L688:
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-128]
.L689:
	mov	r3, #0
	str	r3, [fp, #-132]
.L690:
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-128]
	cmp	r2, r3
	bcs	.L734
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #5
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	and	r1, r1, #15
	bic	r2, r2, #15
	orr	r2, r1, r2
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #6
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #6
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #9
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #10
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #11
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	b	.L690
.L734:
	nop
.L692:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bls	.L693
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #5
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	and	r1, r1, #15
	bic	r2, r2, #15
	orr	r2, r1, r2
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #6
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #9
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #10
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #11
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L693:
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #4
	mov	r2, r3
	ldr	r3, [fp, #-148]
	str	r2, [r3, #28]
	b	.L711
.L725:
	nop
.L660:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-92]
	ldr	r2, .L739+36
	mov	r1, #16
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	cmp	r3, #15
	bhi	.L694
	mov	r3, #-1073741789
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L694:
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L695
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-92]
	bl	memset
	ldr	r3, .L739+40
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L695:
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L696
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-92]
	bl	memset
	mov	r3, #-1073741823
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L696:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mov	r2, #66
	strb	r2, [r3]
	ldr	r2, [fp, #-112]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #2
	strb	r3, [r2, #1]
	ldr	r2, [fp, #-112]
	ldrb	r3, [r2, #2]
	orr	r3, r3, #64
	strb	r3, [r2, #2]
	ldr	r3, [fp, #-112]
	mov	r2, #1
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-112]
	mov	r2, #16
	strb	r2, [r3, #8]
	sub	r1, fp, #52
	mov	r3, #16
	ldr	r2, [fp, #-84]
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L697
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #17
	bne	.L698
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #52]
	b	.L699
.L698:
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
.L699:
	ldr	r3, [fp, #-92]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-92]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-92]
	mov	r2, #0
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-92]
	mov	r2, #12
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-92]
	mov	r2, #1
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-84]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-92]
	ldrb	r3, [r2, #5]
	and	r1, r1, #15
	bic	r3, r3, #15
	orr	r3, r1, r3
	strb	r3, [r2, #5]
	ldr	r2, [fp, #-92]
	ldrb	r3, [r2, #5]
	bic	r3, r3, #240
	strb	r3, [r2, #5]
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-92]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-84]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-92]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-92]
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #9]	@ zero_extendqisi2
	ldr	r3, [fp, #-92]
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #10]	@ zero_extendqisi2
	ldr	r3, [fp, #-92]
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #11]	@ zero_extendqisi2
	ldr	r3, [fp, #-92]
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-92]
	mov	r2, #0
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #13]	@ zero_extendqisi2
	ldr	r3, [fp, #-92]
	strb	r2, [r3, #13]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #14]	@ zero_extendqisi2
	ldr	r3, [fp, #-92]
	strb	r2, [r3, #14]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #15]	@ zero_extendqisi2
	ldr	r3, [fp, #-92]
	strb	r2, [r3, #15]
	ldr	r3, [fp, #-148]
	mov	r2, #16
	str	r2, [r3, #28]
	b	.L711
.L697:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L711
.L726:
	nop
.L662:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #8]
	cmp	r3, #5
	bhi	.L701
	mov	r3, #-1073741820
	str	r3, [fp, #-136]
	b	.L711
.L701:
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L735
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L736
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3, #5]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L737
	ldr	r3, [fp, #-112]
	mov	r2, #75
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	mov	r2, #0
	strb	r2, [r3, #8]
	b	.L705
.L735:
	nop
	b	.L702
.L736:
	nop
	b	.L702
.L737:
	nop
.L702:
	ldr	r3, [fp, #-112]
	mov	r2, #71
	strb	r2, [r3]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-96]
	ldrb	r2, [r3, #5]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #8]
.L705:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L738
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #71
	bne	.L738
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #52]
	b	.L738
.L727:
	nop
.L664:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bhi	.L707
	mov	r3, #-1073741820
	str	r3, [fp, #-136]
	b	.L711
.L707:
	ldr	r3, [fp, #-104]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-104]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	add	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r3, r2, r3
	ldr	r2, [fp, #-104]
	ldrb	r2, [r2, #2]	@ zero_extendqisi2
	add	r3, r3, r2
	sub	r3, r3, #150
	str	r3, [fp, #-100]
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mov	r2, #43
	strb	r2, [r3]
	ldr	r3, [fp, #-100]
	lsr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-100]
	lsr	r3, r3, #16
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-100]
	lsr	r3, r3, #8
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-100]
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #5]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	b	.L711
.L728:
	nop
.L666:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mvn	r2, #63
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	b	.L711
.L668:
.L708:
.L729:
	nop
	b	.L709
.L730:
	nop
	b	.L709
.L731:
	nop
.L709:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #-1073741808
	str	r3, [fp, #-136]
	b	.L711
.L721:
.L672:
	ldr	r0, [fp, #-144]
	bl	CdAudioIsPlayActive
	b	.L673
.L732:
	nop
.L673:
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-144]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-108]
	b	.L713
.L675:
.L733:
	nop
	b	.L711
.L738:
	nop
.L711:
	ldr	r3, [fp, #-136]
	cmp	r3, #-2147483626
	bne	.L712
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
.L712:
	ldr	r3, [fp, #-148]
	ldr	r2, [fp, #-136]
	str	r2, [r3, #24]
	ldr	r2, .L739+44
	ldr	r3, [fp, #-136]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-148]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-136]
.L713:
	ldr	r2, .L739
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L714
	bl	__stack_chk_fail
.L714:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L740:
	.align	2
.L739:
	.word	.LC37
	.word	147512
	.word	147500
	.word	147480
	.word	147460
	.word	149512
	.word	147508
	.word	147476
	.word	147496
	.word	541156419
	.word	-1073741670
	.word	myStatus
	.size	CdAudio535DeviceControl, .-CdAudio535DeviceControl
	.section	.rodata
	.align	2
.LC38:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudio435DeviceControl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudio435DeviceControl, %function
CdAudio435DeviceControl:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	ldr	r3, .L836+52
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-116]
	sub	r3, fp, #52
	add	r3, r3, #28
	str	r3, [fp, #-112]
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-112]
	bl	memset
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	cmp	r3, #147456
	beq	.L817
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836
	cmp	r3, r2
	beq	.L818
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836+4
	cmp	r3, r2
	beq	.L819
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836+8
	cmp	r3, r2
	beq	.L820
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836+12
	cmp	r3, r2
	beq	.L821
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836+16
	cmp	r3, r2
	beq	.L822
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836+20
	cmp	r3, r2
	beq	.L823
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836+24
	cmp	r3, r2
	beq	.L824
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836+28
	cmp	r3, r2
	beq	.L825
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836+32
	cmp	r3, r2
	beq	.L826
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836+36
	cmp	r3, r2
	beq	.L827
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	cmp	r3, #149504
	bne	.L828
	b	.L815
.L817:
	nop
.L743:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bhi	.L764
	mov	r3, #-1073741789
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L805
.L764:
	ldr	r0, [fp, #-144]
	bl	CdAudioIsPlayActive
	mov	r3, r0
	strb	r3, [fp, #-137]
	ldrb	r3, [fp, #-137]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L766
	mov	r3, #-2147483631
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L805
.L766:
	ldr	r2, .L836+40
	mov	r1, #804
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L767
	ldr	r3, .L836+44
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L805
.L767:
	mov	r2, #804
	mov	r1, #0
	ldr	r0, [fp, #-68]
	bl	memset
	ldr	r3, [fp, #-112]
	mov	r2, #67
	strb	r2, [r3]
	ldr	r2, [fp, #-112]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #2
	strb	r3, [r2, #1]
	ldr	r3, [fp, #-112]
	mov	r2, #3
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-112]
	mov	r2, #36
	strb	r2, [r3, #8]
	mov	r3, #10
	str	r3, [fp, #-36]
	mov	r3, #10
	strb	r3, [fp, #-46]
	sub	r1, fp, #52
	mov	r3, #804
	ldr	r2, [fp, #-68]
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bge	.L768
	ldr	r3, [fp, #-136]
	cmp	r3, #-1073741764
	beq	.L769
	ldr	r3, [fp, #-136]
	cmp	r3, #-1073741764
	beq	.L770
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L805
.L769:
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L770
.L768:
	mov	r3, #0
	str	r3, [fp, #-136]
.L770:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	cmp	r3, #804
	bls	.L771
	mov	r3, #804
	str	r3, [fp, #-64]
	b	.L772
.L771:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-64]
.L772:
	ldr	r3, [fp, #-68]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	strb	r2, [r3]
	ldr	r3, [fp, #-68]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #1]
	ldr	r3, [fp, #-68]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-68]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-116]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	sub	r3, r3, #4
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	lsr	r3, r3, #3
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bcs	.L773
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-128]
	b	.L774
.L773:
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-128]
.L774:
	mov	r3, #0
	str	r3, [fp, #-132]
.L775:
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-128]
	cmp	r2, r3
	bcs	.L829
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #5
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	and	r1, r1, #15
	bic	r2, r2, #15
	orr	r2, r1, r2
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #6
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #6
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #9
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #10
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #11
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	b	.L775
.L829:
	nop
.L777:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bls	.L778
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #5
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #5]
	and	r1, r1, #15
	bic	r2, r2, #15
	orr	r2, r1, r2
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #6
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #9
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #10
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #11
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L778:
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #3
	add	r3, r3, #4
	mov	r2, r3
	ldr	r3, [fp, #-148]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #51]
	b	.L805
.L745:
.L818:
	nop
	b	.L779
.L819:
	nop
.L779:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mvn	r2, #57
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L780
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #51]
.L780:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #12]
	ldr	r2, .L836+4
	cmp	r3, r2
	beq	.L830
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #8]
	cmp	r3, #5
	bhi	.L782
	mov	r3, #-1073741820
	str	r3, [fp, #-136]
	b	.L805
.L782:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mov	r2, #71
	strb	r2, [r3]
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3, #5]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #8]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L831
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-76]
	ldrb	r2, [r3, #5]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #51]
	b	.L831
.L820:
	nop
.L748:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bhi	.L784
	mov	r3, #-1073741820
	str	r3, [fp, #-136]
	b	.L805
.L784:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mov	r2, #71
	strb	r2, [r3]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #8]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L785
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-80]
	ldrb	r2, [r3, #2]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #51]
	b	.L832
.L785:
	ldr	r3, [fp, #-136]
	cmp	r3, #-1073741808
	bne	.L832
	mov	r3, #-1073741803
	str	r3, [fp, #-136]
	b	.L832
.L821:
	nop
.L750:
	ldr	r2, .L836+40
	mov	r1, #24
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L787
	ldr	r3, .L836+44
	str	r3, [fp, #-136]
	b	.L805
.L787:
	ldr	r3, [fp, #-120]
	ldrb	r3, [r3, #45]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L788
	mov	r3, #0
	str	r3, [fp, #-136]
	b	.L805
.L788:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mov	r2, #66
	strb	r2, [r3]
	ldr	r2, [fp, #-112]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #2
	strb	r3, [r2, #1]
	ldr	r2, [fp, #-112]
	ldrb	r3, [r2, #2]
	orr	r3, r3, #64
	strb	r3, [r2, #2]
	ldr	r3, [fp, #-112]
	mov	r2, #24
	strb	r2, [r3, #8]
	sub	r1, fp, #52
	mov	r3, #24
	ldr	r2, [fp, #-84]
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L833
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #9]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #10]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #11]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #48]
	mov	r2, #12
	mov	r1, #0
	ldr	r0, [fp, #-112]
	bl	memset
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mvn	r2, #57
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L834
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #9]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #10]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-84]
	ldrb	r2, [r3, #11]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	strb	r2, [r3, #48]
	b	.L805
.L822:
	nop
.L752:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-120]
	ldrb	r3, [r3, #45]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L791
	mov	r3, #-1073741823
	str	r3, [fp, #-136]
	b	.L805
.L791:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mov	r2, #71
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #46]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #47]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #48]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #5]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #49]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #50]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-120]
	ldrb	r2, [r3, #51]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	strb	r2, [r3, #8]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L835
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #45]
	b	.L835
.L823:
	nop
.L754:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-100]
	ldr	r2, .L836+40
	mov	r1, #24
	mov	r0, #4
	bl	ExAllocatePoolWithTag
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	cmp	r3, #15
	bhi	.L793
	mov	r3, #-1073741789
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L805
.L793:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L794
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-100]
	bl	memset
	ldr	r3, .L836+44
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L805
.L794:
	ldr	r3, [fp, #-100]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L795
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-100]
	bl	memset
	mov	r3, #-1073741823
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L805
.L795:
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mov	r2, #66
	strb	r2, [r3]
	ldr	r2, [fp, #-112]
	ldrb	r3, [r2, #1]
	orr	r3, r3, #2
	strb	r3, [r2, #1]
	ldr	r2, [fp, #-112]
	ldrb	r3, [r2, #2]
	orr	r3, r3, #64
	strb	r3, [r2, #2]
	ldr	r3, [fp, #-112]
	mov	r2, #24
	strb	r2, [r3, #8]
	sub	r1, fp, #52
	mov	r3, #24
	ldr	r2, [fp, #-92]
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	blt	.L796
	ldr	r3, [fp, #-100]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	ldrb	r3, [r3, #45]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L797
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-100]
	mov	r2, #18
	strb	r2, [r3, #1]
	b	.L798
.L797:
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #17
	bne	.L799
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-100]
	mov	r2, #17
	strb	r2, [r3, #1]
	b	.L798
.L837:
	.align	2
.L836:
	.word	147480
	.word	147464
	.word	147460
	.word	147468
	.word	147472
	.word	147500
	.word	149512
	.word	147508
	.word	147476
	.word	147496
	.word	541156419
	.word	-1073741670
	.word	myStatus
	.word	.LC38
.L799:
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r3, [fp, #-100]
	mov	r2, #19
	strb	r2, [r3, #1]
.L798:
	ldr	r3, [fp, #-100]
	mov	r2, #0
	strb	r2, [r3, #2]
	ldr	r3, [fp, #-100]
	mov	r2, #12
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-100]
	mov	r2, #1
	strb	r2, [r3, #4]
	ldr	r3, [fp, #-92]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r1, r3, #255
	ldr	r2, [fp, #-100]
	ldrb	r3, [r2, #5]
	and	r1, r1, #15
	bic	r3, r3, #15
	orr	r3, r1, r3
	strb	r3, [r2, #5]
	ldr	r2, [fp, #-100]
	ldrb	r3, [r2, #5]
	bic	r3, r3, #240
	strb	r3, [r2, #5]
	ldr	r3, [fp, #-92]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-92]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-100]
	strb	r2, [r3, #6]
	ldr	r3, [fp, #-92]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #4
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-92]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #15
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-100]
	strb	r2, [r3, #7]
	ldr	r3, [fp, #-100]
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-92]
	ldrb	r2, [r3, #9]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	strb	r2, [r3, #9]
	ldr	r3, [fp, #-92]
	ldrb	r2, [r3, #10]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	strb	r2, [r3, #10]
	ldr	r3, [fp, #-92]
	ldrb	r2, [r3, #11]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	strb	r2, [r3, #11]
	ldr	r3, [fp, #-100]
	mov	r2, #0
	strb	r2, [r3, #12]
	ldr	r3, [fp, #-92]
	ldrb	r2, [r3, #13]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	strb	r2, [r3, #13]
	ldr	r3, [fp, #-92]
	ldrb	r2, [r3, #14]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	strb	r2, [r3, #14]
	ldr	r3, [fp, #-92]
	ldrb	r2, [r3, #15]	@ zero_extendqisi2
	ldr	r3, [fp, #-100]
	strb	r2, [r3, #15]
	ldr	r3, [fp, #-148]
	mov	r2, #16
	str	r2, [r3, #28]
	b	.L805
.L796:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L805
.L824:
	nop
.L756:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #10
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-112]
	mvn	r2, #63
	strb	r2, [r3]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-120]
	bl	SendSrbSynchronous
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #45]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #46]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #47]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #48]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #49]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #50]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #51]
	b	.L805
.L758:
.L801:
.L825:
	nop
	b	.L802
.L826:
	nop
	b	.L802
.L827:
	nop
.L802:
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	mov	r3, #-1073741808
	str	r3, [fp, #-136]
	b	.L805
.L815:
.L762:
	ldr	r0, [fp, #-144]
	bl	CdAudioIsPlayActive
	mov	r3, r0
	strb	r3, [fp, #-138]
	ldrb	r3, [fp, #-138]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L803
	ldr	r3, [fp, #-120]
	mov	r2, #1
	strb	r2, [r3, #52]
	mov	r3, #0
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
	b	.L805
.L803:
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3, #52]
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-144]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	b	.L807
.L828:
	nop
.L763:
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-144]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-108]
	b	.L807
.L765:
.L830:
	nop
	b	.L805
.L831:
	nop
	b	.L805
.L832:
	nop
	b	.L805
.L833:
	nop
	b	.L805
.L834:
	nop
	b	.L805
.L835:
	nop
.L805:
	ldr	r3, [fp, #-136]
	cmp	r3, #-2147483626
	bne	.L806
	ldr	r3, [fp, #-148]
	mov	r2, #0
	str	r2, [r3, #28]
.L806:
	ldr	r3, [fp, #-148]
	ldr	r2, [fp, #-136]
	str	r2, [r3, #24]
	ldr	r2, .L836+48
	ldr	r3, [fp, #-136]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-148]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-136]
.L807:
	ldr	r2, .L836+52
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L808
	bl	__stack_chk_fail
.L808:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CdAudio435DeviceControl, .-CdAudio435DeviceControl
	.section	.rodata
	.align	2
.LC39:
	.word	__stack_chk_guard
	.text
	.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]
	ldr	r3, .L844
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-68]
	sub	r3, fp, #52
	add	r3, r3, #28
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #12]
	ldr	r2, .L844+4
	cmp	r3, r2
	bne	.L839
	ldr	r3, [fp, #-84]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-72]
	mov	r2, #0
	strb	r2, [r3, #52]
	sub	r3, fp, #52
	mov	r2, #44
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-64]
	mov	r2, #78
	strb	r2, [r3]
	mov	r3, #12
	strb	r3, [fp, #-46]
	mov	r3, #10
	str	r3, [fp, #-36]
	sub	r1, fp, #52
	mov	r3, #0
	mov	r2, #0
	ldr	r0, [fp, #-72]
	bl	SendSrbSynchronous
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bge	.L840
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-56]
	str	r2, [r3, #24]
	ldr	r2, .L844+8
	ldr	r3, [fp, #-56]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-84]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-56]
	b	.L842
.L839:
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-80]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	b	.L842
.L840:
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-56]
	str	r2, [r3, #24]
	ldr	r2, .L844+8
	ldr	r3, [fp, #-56]
	str	r3, [r2]
	mov	r1, #0
	ldr	r0, [fp, #-84]
	bl	IofCompleteRequest
	ldr	r3, [fp, #-56]
.L842:
	ldr	r2, .L844
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L843
	bl	__stack_chk_fail
.L843:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L845:
	.align	2
.L844:
	.word	.LC39
	.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
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #2]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L847
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #2]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r2, [r3, #4]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #3]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r0, r2, #4
	add	r3, r3, #4
	mov	r2, #8
	mov	r1, r3
	bl	memcpy
	b	.L846
.L847:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #2]
	nop
.L846:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	HpCdrProcessLastSession, .-HpCdrProcessLastSession
	.align	2
	.global	HPCdrCompletion
	.syntax unified
	.arm
	.fpu softvfp
	.type	HPCdrCompletion, %function
HPCdrCompletion:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, .L856
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L851
	ldr	r3, .L856+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L852
	ldr	r3, .L856+4
	mov	r2, #1
	str	r2, [r3]
	b	.L853
.L852:
	bl	errorFn
.L853:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #96]
	ldrb	r2, [r3, #3]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #96]
	orr	r2, r2, #1
	and	r2, r2, #255
	strb	r2, [r3, #3]
.L851:
	ldr	r3, .L856+8
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L854
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	HpCdrProcessLastSession
.L854:
	ldr	r3, .L856+8
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L857:
	.align	2
.L856:
	.word	myIrp_PendingReturned
	.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 = 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, [fp, #-44]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #96]
	sub	r3, r3, #36
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #12]
	ldr	r2, .L864
	cmp	r3, r2
	bne	.L859
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #96]
	sub	r3, r3, #36
	str	r3, [fp, #-16]
	mov	r2, #28
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	memcpy
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3, #3]
	ldr	r3, .L864+4
	ldr	r2, [r3]
	ldr	r3, .L864+8
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L860
	bl	errorFn
	b	.L861
.L860:
	ldr	r3, .L864+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L862
	bl	errorFn
	b	.L861
.L862:
	ldr	r3, .L864+12
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L864+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L864+20
	ldr	r2, .L864+24
	str	r2, [r3]
.L861:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #96]
	sub	r3, r3, #36
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, .L864+24
	str	r2, [r3, #28]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-12]
	mov	r2, #64
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	orr	r3, r3, #32
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	IofCallDriver
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L863
.L859:
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	CdAudioSendToNextDriver
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
.L863:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L865:
	.align	2
.L864:
	.word	147512
	.word	s
	.word	NP
	.word	compRegistered
	.word	routine
	.word	compFptr
	.word	HPCdrCompletion
	.size	CdAudioHPCdrDeviceControl, .-CdAudioHPCdrDeviceControl
	.section	.rodata
	.align	2
.LC40:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CdAudioForwardIrpSynchronous
	.syntax unified
	.arm
	.fpu softvfp
	.type	CdAudioForwardIrpSynchronous, %function
CdAudioForwardIrpSynchronous:
	@ 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]
	str	r1, [fp, #-52]
	ldr	r3, .L873
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #96]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #96]
	sub	r3, r3, #36
	str	r3, [fp, #-32]
	mov	r2, #28
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	memcpy
	ldr	r3, [fp, #-32]
	mov	r2, #0
	strb	r2, [r3, #3]
	ldr	r3, .L873+4
	ldr	r2, [r3]
	ldr	r3, .L873+8
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L867
	bl	errorFn
	b	.L868
.L867:
	ldr	r3, .L873+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L869
	bl	errorFn
	b	.L868
.L869:
	ldr	r3, .L873+12
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L873+16
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L873+20
	ldr	r2, .L873+24
	str	r2, [r3]
.L868:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #96]
	sub	r3, r3, #36
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, .L873+24
	str	r2, [r3, #28]
	ldr	r3, [fp, #-28]
	sub	r2, fp, #24
	str	r2, [r3, #32]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-28]
	mov	r2, #64
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r2, r3, #255
	ldr	r3, [fp, #-28]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	orr	r3, r3, #32
	and	r2, r3, #255
	ldr	r3, [fp, #-28]
	strb	r2, [r3, #3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r1, [fp, #-52]
	mov	r0, r3
	bl	IofCallDriver
	str	r0, [fp, #-44]
	ldr	r3, .L873+28
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L870
	sub	r0, fp, #24
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	bl	KeWaitForSingleObject
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-44]
	ldr	r3, .L873+32
	ldr	r3, [r3]
	str	r3, [fp, #-44]
.L870:
	ldr	r3, [fp, #-44]
	ldr	r2, .L873
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L872
	bl	__stack_chk_fail
.L872:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L874:
	.align	2
.L873:
	.word	.LC40
	.word	s
	.word	NP
	.word	compRegistered
	.word	routine
	.word	compFptr
	.word	CdAudioSignalCompletion
	.word	259
	.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 = 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, .L881
	ldr	r2, [r3]
	ldr	r3, .L881+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L878
	ldr	r3, .L881+8
	ldr	r3, [r3]
	ldr	r2, .L881
	str	r3, [r2]
	b	.L879
.L878:
	bl	errorFn
.L879:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3, #35]	@ zero_extendqisi2
	add	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-20]
	strb	r2, [r3, #35]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #96]
	add	r2, r3, #36
	ldr	r3, [fp, #-20]
	str	r2, [r3, #96]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	PoCallDriver
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L882:
	.align	2
.L881:
	.word	s
	.word	NP
	.word	SKIP1
	.size	CdAudioPower, .-CdAudioPower
	.comm	pirp,4,4
	.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, .L885
	ldr	r3, [r3]
	ldr	r2, .L885+4
	str	r3, [r2]
	ldr	r3, .L885+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L885+8
	ldr	r3, [r3]
	ldr	r2, .L885+12
	str	r3, [r2]
	ldr	r3, .L885+12
	ldr	r3, [r3]
	ldr	r2, .L885+16
	str	r3, [r2]
	ldr	r3, .L885+16
	ldr	r3, [r3]
	ldr	r2, .L885+20
	str	r3, [r2]
	ldr	r3, .L885+20
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, .L885+24
	str	r2, [r3]
	ldr	r3, .L885+24
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, .L885+28
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L886:
	.align	2
.L885:
	.word	NP
	.word	s
	.word	customIrp
	.word	setEventCalled
	.word	lowerDriverReturn
	.word	compRegistered
	.word	compFptr
	.word	pended
	.size	stub_driver_init, .-stub_driver_init
	.section	.rodata
	.align	2
.LC41:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 376
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #376
	ldr	r3, .L925
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L925+4
	sub	r3, fp, #180
	str	r3, [r2]
	bl	_BLAST_init
	ldr	r3, [fp, #-376]
	cmp	r3, #0
	blt	.L888
	ldr	r3, .L925+8
	ldr	r3, [r3]
	ldr	r2, .L925+12
	str	r3, [r2]
	ldr	r3, .L925+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L925+16
	ldr	r3, [r3]
	ldr	r2, .L925+20
	str	r3, [r2]
	ldr	r3, .L925+20
	ldr	r3, [r3]
	ldr	r2, .L925+24
	str	r3, [r2]
	ldr	r3, .L925+24
	ldr	r3, [r3]
	ldr	r2, .L925+28
	str	r3, [r2]
	ldr	r3, .L925+28
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, .L925+32
	str	r2, [r3]
	ldr	r3, .L925+32
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, .L925+36
	str	r2, [r3]
	ldr	r3, .L925+4
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, .L925+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-372]
	cmp	r3, #0
	bne	.L889
	ldr	r3, .L925+4
	ldr	r3, [r3]
	ldr	r2, .L925+44
	str	r2, [r3, #24]
	ldr	r3, .L925+40
	ldr	r2, .L925+44
	str	r2, [r3]
.L889:
	bl	stub_driver_init
	ldr	r3, [fp, #-376]
	cmp	r3, #0
	bge	.L890
	mvn	r3, #0
	b	.L910
.L890:
	ldr	r3, [fp, #-368]
	cmp	r3, #2
	beq	.L915
	ldr	r3, [fp, #-368]
	cmp	r3, #3
	beq	.L916
	ldr	r3, [fp, #-368]
	cmp	r3, #4
	bne	.L917
	b	.L914
.L915:
	nop
.L893:
	ldr	r3, .L925+4
	ldr	r2, [r3]
	sub	r3, fp, #364
	mov	r1, r2
	mov	r0, r3
	bl	CdAudioDeviceControl
	str	r0, [fp, #-376]
	b	.L888
.L916:
	nop
.L895:
	ldr	r3, .L925+4
	ldr	r2, [r3]
	sub	r3, fp, #364
	mov	r1, r2
	mov	r0, r3
	bl	CdAudioPnp
	str	r0, [fp, #-376]
	b	.L888
.L914:
.L897:
	ldr	r3, .L925+4
	ldr	r2, [r3]
	sub	r3, fp, #364
	mov	r1, r2
	mov	r0, r3
	bl	CdAudioPower
	str	r0, [fp, #-376]
	b	.L888
.L917:
	nop
.L898:
	mvn	r3, #0
	b	.L910
.L899:
.L888:
	ldr	r3, .L925+36
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L918
	ldr	r3, .L925+12
	ldr	r2, [r3]
	ldr	r3, .L925+8
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L919
	ldr	r3, .L925+8
	ldr	r3, [r3]
	ldr	r2, .L925+12
	str	r3, [r2]
	b	.L902
.L918:
	nop
	b	.L900
.L919:
	nop
.L900:
	ldr	r3, .L925+36
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L920
	ldr	r3, .L925+12
	ldr	r2, [r3]
	ldr	r3, .L925+48
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L921
	ldr	r3, .L925+48
	ldr	r3, [r3]
	ldr	r2, .L925+12
	str	r3, [r2]
	b	.L902
.L920:
	nop
	b	.L903
.L921:
	nop
.L903:
	ldr	r3, .L925+12
	ldr	r2, [r3]
	ldr	r3, .L925+52
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L902
	ldr	r3, [fp, #-376]
	cmn	r3, #1
	beq	.L902
	ldr	r3, .L925+12
	ldr	r2, [r3]
	ldr	r3, .L925+56
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L922
	ldr	r3, .L925+12
	ldr	r2, [r3]
	ldr	r3, .L925+60
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L923
	ldr	r3, .L925+12
	ldr	r2, [r3]
	ldr	r3, .L925+64
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L924
	bl	errorFn
	b	.L902
.L922:
	nop
	b	.L905
.L923:
	nop
	b	.L905
.L924:
	nop
.L905:
	ldr	r3, .L925+36
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L908
	ldr	r3, [fp, #-376]
	ldr	r2, .L925+68
	cmp	r3, r2
	beq	.L902
	bl	errorFn
	b	.L902
.L908:
	ldr	r3, .L925+12
	ldr	r2, [r3]
	ldr	r3, .L925+64
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L909
	ldr	r3, [fp, #-376]
	ldr	r2, .L925+68
	cmp	r3, r2
	bne	.L902
	bl	errorFn
	b	.L902
.L909:
	ldr	r3, .L925+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-376]
	cmp	r2, r3
	beq	.L902
	bl	errorFn
.L902:
	ldr	r3, [fp, #-376]
.L910:
	ldr	r2, .L925
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L911
	bl	__stack_chk_fail
.L911:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L926:
	.align	2
.L925:
	.word	.LC41
	.word	pirp
	.word	NP
	.word	s
	.word	customIrp
	.word	setEventCalled
	.word	lowerDriverReturn
	.word	compRegistered
	.word	compFptr
	.word	pended
	.word	myStatus
	.word	-1073741637
	.word	MPR3
	.word	UNLOADED
	.word	SKIP2
	.word	IPC
	.word	DC
	.word	259
	.size	main, .-main
	.comm	_SLAM_alloc_dummy,1,1
	.align	2
	.global	nondet_malloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	nondet_malloc, %function
nondet_malloc:
	@ 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]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L928
	mov	r3, #0
	b	.L929
.L928:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L929:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	nondet_malloc, .-nondet_malloc
	.align	2
	.global	ExAcquireFastMutex
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExAcquireFastMutex, %function
ExAcquireFastMutex:
	@ 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	ExAcquireFastMutex, .-ExAcquireFastMutex
	.align	2
	.global	ExReleaseFastMutex
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExReleaseFastMutex, %function
ExReleaseFastMutex:
	@ 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	ExReleaseFastMutex, .-ExReleaseFastMutex
	.align	2
	.global	ExAllocatePoolWithTag
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExAllocatePoolWithTag, %function
ExAllocatePoolWithTag:
	@ 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, #-20]
	mov	r0, r3
	bl	nondet_malloc
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ExAllocatePoolWithTag, .-ExAllocatePoolWithTag
	.align	2
	.global	ExFreePool
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExFreePool, %function
ExFreePool:
	@ 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	ExFreePool, .-ExFreePool
	.align	2
	.global	ExfInterlockedInsertHeadList
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExfInterlockedInsertHeadList, %function
ExfInterlockedInsertHeadList:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ExfInterlockedInsertHeadList, .-ExfInterlockedInsertHeadList
	.align	2
	.global	ExfInterlockedInsertTailList
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExfInterlockedInsertTailList, %function
ExfInterlockedInsertTailList:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ExfInterlockedInsertTailList, .-ExfInterlockedInsertTailList
	.align	2
	.global	ExfInterlockedRemoveHeadList
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExfInterlockedRemoveHeadList, %function
ExfInterlockedRemoveHeadList:
	@ 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]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ExfInterlockedRemoveHeadList, .-ExfInterlockedRemoveHeadList
	.align	2
	.global	IoAllocateMdl
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoAllocateMdl, %function
IoAllocateMdl:
	@ 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]
	mov	r1, r2
	mov	r2, r3
	mov	r3, r1
	strb	r3, [fp, #-21]
	mov	r3, r2
	strb	r3, [fp, #-22]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L949
	nop
.L946:
	mov	r0, #28
	bl	nondet_malloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L948
.L949:
	nop
.L947:
	mov	r3, #0
.L948:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	IoAllocateMdl, .-IoAllocateMdl
	.align	2
	.global	IoAttachDeviceToDeviceStack
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoAttachDeviceToDeviceStack, %function
IoAttachDeviceToDeviceStack:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L955
	nop
.L952:
	ldr	r3, [fp, #-20]
	b	.L954
.L955:
	nop
.L953:
	mov	r3, #0
.L954:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	IoAttachDeviceToDeviceStack, .-IoAttachDeviceToDeviceStack
	.align	2
	.global	IoBuildAsynchronousFsdRequest
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoBuildAsynchronousFsdRequest, %function
IoBuildAsynchronousFsdRequest:
	@ args = 8, 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, .L962
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L961
	nop
.L958:
	mov	r0, #112
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L960
.L961:
	nop
.L959:
	mov	r3, #0
.L960:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L963:
	.align	2
.L962:
	.word	customIrp
	.size	IoBuildAsynchronousFsdRequest, .-IoBuildAsynchronousFsdRequest
	.align	2
	.global	IoBuildDeviceIoControlRequest
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoBuildDeviceIoControlRequest, %function
IoBuildDeviceIoControlRequest:
	@ args = 20, 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, .L970
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L969
	nop
.L966:
	mov	r0, #112
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L968
.L969:
	nop
.L967:
	mov	r3, #0
.L968:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L971:
	.align	2
.L970:
	.word	customIrp
	.size	IoBuildDeviceIoControlRequest, .-IoBuildDeviceIoControlRequest
	.align	2
	.global	IoCreateDevice
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoCreateDevice, %function
IoCreateDevice:
	@ args = 12, 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, [fp, #-12]
	cmp	r3, #0
	bne	.L977
	nop
.L974:
	mov	r0, #184
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #12]
	str	r2, [r3]
	mov	r3, #0
	b	.L976
.L977:
	nop
.L975:
	mov	r3, #-1073741823
.L976:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	IoCreateDevice, .-IoCreateDevice
	.align	2
	.global	IoCreateSymbolicLink
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoCreateSymbolicLink, %function
IoCreateSymbolicLink:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L983
	nop
.L980:
	mov	r3, #0
	b	.L982
.L983:
	nop
.L981:
	mov	r3, #-1073741823
.L982:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	IoCreateSymbolicLink, .-IoCreateSymbolicLink
	.align	2
	.global	IoDeleteDevice
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoDeleteDevice, %function
IoDeleteDevice:
	@ 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	IoDeleteDevice, .-IoDeleteDevice
	.align	2
	.global	IoDeleteSymbolicLink
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoDeleteSymbolicLink, %function
IoDeleteSymbolicLink:
	@ 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
	bne	.L991
	nop
.L988:
	mov	r3, #0
	b	.L990
.L991:
	nop
.L989:
	mov	r3, #-1073741823
.L990:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	IoDeleteSymbolicLink, .-IoDeleteSymbolicLink
	.align	2
	.global	IoDetachDevice
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoDetachDevice, %function
IoDetachDevice:
	@ 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	IoDetachDevice, .-IoDetachDevice
	.align	2
	.global	IoFreeIrp
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoFreeIrp, %function
IoFreeIrp:
	@ 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	IoFreeIrp, .-IoFreeIrp
	.align	2
	.global	IoFreeMdl
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoFreeMdl, %function
IoFreeMdl:
	@ 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	IoFreeMdl, .-IoFreeMdl
	.align	2
	.global	IoGetConfigurationInformation
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoGetConfigurationInformation, %function
IoGetConfigurationInformation:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #40
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	IoGetConfigurationInformation, .-IoGetConfigurationInformation
	.align	2
	.global	IoQueryDeviceDescription
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoQueryDeviceDescription, %function
IoQueryDeviceDescription:
	@ args = 16, 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]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1005
	nop
.L1002:
	mov	r3, #0
	b	.L1004
.L1005:
	nop
.L1003:
	mov	r3, #-1073741823
.L1004:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	IoQueryDeviceDescription, .-IoQueryDeviceDescription
	.align	2
	.global	IoRegisterDeviceInterface
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoRegisterDeviceInterface, %function
IoRegisterDeviceInterface:
	@ 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]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1011
	nop
.L1008:
	mov	r3, #0
	b	.L1010
.L1011:
	nop
.L1009:
	mov	r3, #-1073741808
.L1010:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	IoRegisterDeviceInterface, .-IoRegisterDeviceInterface
	.align	2
	.global	IoReleaseCancelSpinLock
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoReleaseCancelSpinLock, %function
IoReleaseCancelSpinLock:
	@ 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
	mov	r3, r0
	strb	r3, [fp, #-5]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	IoReleaseCancelSpinLock, .-IoReleaseCancelSpinLock
	.align	2
	.global	IoSetDeviceInterfaceState
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoSetDeviceInterfaceState, %function
IoSetDeviceInterfaceState:
	@ 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]
	mov	r3, r1
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1019
	nop
.L1016:
	mov	r3, #0
	b	.L1018
.L1019:
	nop
.L1017:
	mov	r3, #-1073741823
.L1018:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	IoSetDeviceInterfaceState, .-IoSetDeviceInterfaceState
	.align	2
	.global	IoSetHardErrorOrVerifyDevice
	.syntax unified
	.arm
	.fpu softvfp
	.type	IoSetHardErrorOrVerifyDevice, %function
IoSetHardErrorOrVerifyDevice:
	@ 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]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	IoSetHardErrorOrVerifyDevice, .-IoSetHardErrorOrVerifyDevice
	.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
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1026
	ldr	r2, [r3]
	ldr	r3, .L1026+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1023
	ldr	r3, .L1026+8
	ldr	r3, [r3]
	ldr	r2, .L1026
	str	r3, [r2]
	pop	{fp, pc}
.L1023:
	bl	errorFn
	nop
	pop	{fp, pc}
.L1027:
	.align	2
.L1026:
	.word	s
	.word	NP
	.word	MPR1
	.size	stubMoreProcessingRequired, .-stubMoreProcessingRequired
	.align	2
	.global	IofCallDriver
	.syntax unified
	.arm
	.fpu softvfp
	.type	IofCallDriver, %function
IofCallDriver:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L1049
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1029
	ldr	r3, .L1049+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1030
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	HPCdrCompletion
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-24]
	b	.L1031
.L1030:
	ldr	r3, .L1049+4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L1031
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	CdAudioSignalCompletion
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-24]
.L1031:
	ldr	r3, [fp, #-24]
	cmp	r3, #-1073741802
	bne	.L1029
	bl	stubMoreProcessingRequired
.L1029:
	ldr	r3, .L1049+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1032
	ldr	r3, .L1049+12
	str	r3, [fp, #-28]
	b	.L1033
.L1032:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1047
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L1048
	b	.L1046
.L1047:
	nop
.L1035:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1033
.L1046:
.L1037:
	mov	r3, #-1073741823
	str	r3, [fp, #-28]
	b	.L1033
.L1048:
	nop
.L1038:
	ldr	r3, .L1049+12
	str	r3, [fp, #-28]
	nop
.L1033:
	ldr	r3, .L1049+16
	ldr	r2, [r3]
	ldr	r3, .L1049+20
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1039
	ldr	r3, .L1049+24
	ldr	r3, [r3]
	ldr	r2, .L1049+16
	str	r3, [r2]
	ldr	r2, .L1049+28
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	b	.L1040
.L1039:
	ldr	r3, .L1049+16
	ldr	r2, [r3]
	ldr	r3, .L1049+32
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1041
	ldr	r3, [fp, #-28]
	ldr	r2, .L1049+12
	cmp	r3, r2
	bne	.L1042
	ldr	r3, .L1049+36
	ldr	r3, [r3]
	ldr	r2, .L1049+16
	str	r3, [r2]
	ldr	r2, .L1049+28
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	b	.L1040
.L1042:
	ldr	r3, .L1049+20
	ldr	r3, [r3]
	ldr	r2, .L1049+16
	str	r3, [r2]
	ldr	r2, .L1049+28
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	b	.L1040
.L1041:
	ldr	r3, .L1049+16
	ldr	r2, [r3]
	ldr	r3, .L1049+40
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1043
	ldr	r3, .L1049+44
	ldr	r3, [r3]
	ldr	r2, .L1049+16
	str	r3, [r2]
	ldr	r2, .L1049+28
	ldr	r3, [fp, #-28]
	str	r3, [r2]
	b	.L1040
.L1043:
	bl	errorFn
.L1040:
	ldr	r3, [fp, #-28]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1050:
	.align	2
.L1049:
	.word	compRegistered
	.word	routine
	.word	myIrp_PendingReturned
	.word	259
	.word	s
	.word	NP
	.word	IPC
	.word	lowerDriverReturn
	.word	MPR1
	.word	MPR3
	.word	SKIP1
	.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
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r3, r1
	strb	r3, [fp, #-9]
	ldr	r3, .L1055
	ldr	r2, [r3]
	ldr	r3, .L1055+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1052
	ldr	r3, .L1055+8
	ldr	r3, [r3]
	ldr	r2, .L1055
	str	r3, [r2]
	b	.L1051
.L1052:
	bl	errorFn
	nop
.L1051:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1056:
	.align	2
.L1055:
	.word	s
	.word	NP
	.word	DC
	.size	IofCompleteRequest, .-IofCompleteRequest
	.align	2
	.global	KeAcquireSpinLockRaiseToDpc
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeAcquireSpinLockRaiseToDpc, %function
KeAcquireSpinLockRaiseToDpc:
	@ 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]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	KeAcquireSpinLockRaiseToDpc, .-KeAcquireSpinLockRaiseToDpc
	.align	2
	.global	KeDelayExecutionThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeDelayExecutionThread, %function
KeDelayExecutionThread:
	@ 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
	mov	r3, r0
	str	r2, [fp, #-20]
	strb	r3, [fp, #-13]
	mov	r3, r1
	strb	r3, [fp, #-14]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1064
	nop
.L1061:
	mov	r3, #0
	b	.L1063
.L1064:
	nop
.L1062:
	mov	r3, #-1073741823
.L1063:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	KeDelayExecutionThread, .-KeDelayExecutionThread
	.align	2
	.global	KeInitializeEvent
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeInitializeEvent, %function
KeInitializeEvent:
	@ 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, #-8]
	str	r1, [fp, #-12]
	mov	r3, r2
	strb	r3, [fp, #-13]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	KeInitializeEvent, .-KeInitializeEvent
	.align	2
	.global	KeInitializeSemaphore
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeInitializeSemaphore, %function
KeInitializeSemaphore:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	KeInitializeSemaphore, .-KeInitializeSemaphore
	.align	2
	.global	KeInitializeSpinLock
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeInitializeSpinLock, %function
KeInitializeSpinLock:
	@ 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	KeInitializeSpinLock, .-KeInitializeSpinLock
	.align	2
	.global	KeReleaseSemaphore
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeReleaseSemaphore, %function
KeReleaseSemaphore:
	@ 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]
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	KeReleaseSemaphore, .-KeReleaseSemaphore
	.align	2
	.global	KfReleaseSpinLock
	.syntax unified
	.arm
	.fpu softvfp
	.type	KfReleaseSpinLock, %function
KfReleaseSpinLock:
	@ 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]
	mov	r3, r1
	strb	r3, [fp, #-9]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	KfReleaseSpinLock, .-KfReleaseSpinLock
	.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]
	mov	r3, r2
	strb	r3, [fp, #-21]
	ldr	r3, .L1077
	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
.L1078:
	.align	2
.L1077:
	.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]
	mov	r1, r2
	mov	r2, r3
	mov	r3, r1
	strb	r3, [fp, #-21]
	mov	r3, r2
	strb	r3, [fp, #-22]
	ldr	r3, .L1091
	ldr	r2, [r3]
	ldr	r3, .L1091+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1088
	ldr	r3, .L1091+8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L1089
	ldr	r3, .L1091+12
	ldr	r3, [r3]
	ldr	r2, .L1091
	str	r3, [r2]
	ldr	r3, .L1091+8
	mov	r2, #0
	str	r2, [r3]
	b	.L1082
.L1088:
	nop
	b	.L1080
.L1089:
	nop
.L1080:
	ldr	r3, .L1091+16
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L1083
	ldr	r3, .L1091+12
	ldr	r3, [r3]
	ldr	r2, .L1091
	str	r3, [r2]
	ldr	r3, .L1091+16
	mov	r2, #0
	str	r2, [r3]
	b	.L1082
.L1083:
	ldr	r3, .L1091
	ldr	r2, [r3]
	ldr	r3, .L1091+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1082
	bl	errorFn
.L1082:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1090
	nop
.L1085:
	mov	r3, #0
	b	.L1087
.L1090:
	nop
.L1086:
	mov	r3, #-1073741823
.L1087:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1092:
	.align	2
.L1091:
	.word	s
	.word	MPR3
	.word	setEventCalled
	.word	NP
	.word	customIrp
	.size	KeWaitForSingleObject, .-KeWaitForSingleObject
	.align	2
	.global	MmAllocateContiguousMemory
	.syntax unified
	.arm
	.fpu softvfp
	.type	MmAllocateContiguousMemory, %function
MmAllocateContiguousMemory:
	@ 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	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1102
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L1103
	b	.L1101
.L1102:
	nop
.L1095:
	ldr	r0, [fp, #-16]
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L1099
.L1101:
.L1097:
	mov	r3, #0
	b	.L1099
.L1103:
	nop
.L1098:
	mov	r3, #0
.L1099:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	MmAllocateContiguousMemory, .-MmAllocateContiguousMemory
	.align	2
	.global	MmFreeContiguousMemory
	.syntax unified
	.arm
	.fpu softvfp
	.type	MmFreeContiguousMemory, %function
MmFreeContiguousMemory:
	@ 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	MmFreeContiguousMemory, .-MmFreeContiguousMemory
	.align	2
	.global	MmMapLockedPagesSpecifyCache
	.syntax unified
	.arm
	.fpu softvfp
	.type	MmMapLockedPagesSpecifyCache, %function
MmMapLockedPagesSpecifyCache:
	@ args = 8, 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, #-8]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	mov	r3, r1
	strb	r3, [fp, #-9]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	MmMapLockedPagesSpecifyCache, .-MmMapLockedPagesSpecifyCache
	.align	2
	.global	MmPageEntireDriver
	.syntax unified
	.arm
	.fpu softvfp
	.type	MmPageEntireDriver, %function
MmPageEntireDriver:
	@ 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]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	MmPageEntireDriver, .-MmPageEntireDriver
	.align	2
	.global	MmResetDriverPaging
	.syntax unified
	.arm
	.fpu softvfp
	.type	MmResetDriverPaging, %function
MmResetDriverPaging:
	@ 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	MmResetDriverPaging, .-MmResetDriverPaging
	.align	2
	.global	MmUnlockPages
	.syntax unified
	.arm
	.fpu softvfp
	.type	MmUnlockPages, %function
MmUnlockPages:
	@ 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	MmUnlockPages, .-MmUnlockPages
	.align	2
	.global	ObReferenceObjectByHandle
	.syntax unified
	.arm
	.fpu softvfp
	.type	ObReferenceObjectByHandle, %function
ObReferenceObjectByHandle:
	@ args = 8, 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]
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1119
	nop
.L1116:
	mov	r3, #0
	b	.L1118
.L1119:
	nop
.L1117:
	mov	r3, #-1073741823
.L1118:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ObReferenceObjectByHandle, .-ObReferenceObjectByHandle
	.align	2
	.global	ObfDereferenceObject
	.syntax unified
	.arm
	.fpu softvfp
	.type	ObfDereferenceObject, %function
ObfDereferenceObject:
	@ 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	ObfDereferenceObject, .-ObfDereferenceObject
	.align	2
	.global	PoCallDriver
	.syntax unified
	.arm
	.fpu softvfp
	.type	PoCallDriver, %function
PoCallDriver:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L1142
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1123
	ldr	r3, .L1142+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1124
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	HPCdrCompletion
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-28]
	b	.L1125
.L1124:
	ldr	r3, .L1142+4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L1125
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	CdAudioSignalCompletion
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-28]
.L1125:
	ldr	r3, [fp, #-28]
	cmp	r3, #-1073741802
	bne	.L1123
	bl	stubMoreProcessingRequired
.L1123:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1140
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L1141
	b	.L1139
.L1140:
	nop
.L1127:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L1131
.L1139:
.L1129:
	mov	r3, #-1073741823
	str	r3, [fp, #-24]
	b	.L1131
.L1141:
	nop
.L1130:
	ldr	r3, .L1142+8
	str	r3, [fp, #-24]
	nop
.L1131:
	ldr	r3, .L1142+12
	ldr	r2, [r3]
	ldr	r3, .L1142+16
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1132
	ldr	r3, .L1142+20
	ldr	r3, [r3]
	ldr	r2, .L1142+12
	str	r3, [r2]
	ldr	r2, .L1142+24
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	b	.L1133
.L1132:
	ldr	r3, .L1142+12
	ldr	r2, [r3]
	ldr	r3, .L1142+28
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1134
	ldr	r3, [fp, #-24]
	ldr	r2, .L1142+8
	cmp	r3, r2
	bne	.L1135
	ldr	r3, .L1142+32
	ldr	r3, [r3]
	ldr	r2, .L1142+12
	str	r3, [r2]
	ldr	r2, .L1142+24
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	b	.L1133
.L1135:
	ldr	r3, .L1142+16
	ldr	r3, [r3]
	ldr	r2, .L1142+12
	str	r3, [r2]
	ldr	r2, .L1142+24
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	b	.L1133
.L1134:
	ldr	r3, .L1142+12
	ldr	r2, [r3]
	ldr	r3, .L1142+36
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1136
	ldr	r3, .L1142+40
	ldr	r3, [r3]
	ldr	r2, .L1142+12
	str	r3, [r2]
	ldr	r2, .L1142+24
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	b	.L1133
.L1136:
	bl	errorFn
.L1133:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1143:
	.align	2
.L1142:
	.word	compRegistered
	.word	routine
	.word	259
	.word	s
	.word	NP
	.word	IPC
	.word	lowerDriverReturn
	.word	MPR1
	.word	MPR3
	.word	SKIP1
	.word	SKIP2
	.size	PoCallDriver, .-PoCallDriver
	.align	2
	.global	PoStartNextPowerIrp
	.syntax unified
	.arm
	.fpu softvfp
	.type	PoStartNextPowerIrp, %function
PoStartNextPowerIrp:
	@ 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	PoStartNextPowerIrp, .-PoStartNextPowerIrp
	.align	2
	.global	PsCreateSystemThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	PsCreateSystemThread, %function
PsCreateSystemThread:
	@ args = 12, 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]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1151
	nop
.L1148:
	mov	r3, #0
	b	.L1150
.L1151:
	nop
.L1149:
	mov	r3, #-1073741823
.L1150:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	PsCreateSystemThread, .-PsCreateSystemThread
	.align	2
	.global	PsTerminateSystemThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	PsTerminateSystemThread, %function
PsTerminateSystemThread:
	@ 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
	bne	.L1157
	nop
.L1154:
	mov	r3, #0
	b	.L1156
.L1157:
	nop
.L1155:
	mov	r3, #-1073741823
.L1156:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	PsTerminateSystemThread, .-PsTerminateSystemThread
	.align	2
	.global	RtlAnsiStringToUnicodeString
	.syntax unified
	.arm
	.fpu softvfp
	.type	RtlAnsiStringToUnicodeString, %function
RtlAnsiStringToUnicodeString:
	@ 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]
	mov	r3, r2
	strb	r3, [fp, #-21]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1163
	nop
.L1160:
	mov	r3, #0
	b	.L1162
.L1163:
	nop
.L1161:
	mov	r3, #-1073741823
.L1162:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	RtlAnsiStringToUnicodeString, .-RtlAnsiStringToUnicodeString
	.align	2
	.global	RtlCompareMemory
	.syntax unified
	.arm
	.fpu softvfp
	.type	RtlCompareMemory, %function
RtlCompareMemory:
	@ 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, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	RtlCompareMemory, .-RtlCompareMemory
	.align	2
	.global	RtlCopyUnicodeString
	.syntax unified
	.arm
	.fpu softvfp
	.type	RtlCopyUnicodeString, %function
RtlCopyUnicodeString:
	@ 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]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	RtlCopyUnicodeString, .-RtlCopyUnicodeString
	.align	2
	.global	RtlDeleteRegistryValue
	.syntax unified
	.arm
	.fpu softvfp
	.type	RtlDeleteRegistryValue, %function
RtlDeleteRegistryValue:
	@ 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, [fp, #-8]
	cmp	r3, #0
	bne	.L1173
	nop
.L1170:
	mov	r3, #0
	b	.L1172
.L1173:
	nop
.L1171:
	mov	r3, #-1073741823
.L1172:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	RtlDeleteRegistryValue, .-RtlDeleteRegistryValue
	.align	2
	.global	RtlFreeUnicodeString
	.syntax unified
	.arm
	.fpu softvfp
	.type	RtlFreeUnicodeString, %function
RtlFreeUnicodeString:
	@ 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	RtlFreeUnicodeString, .-RtlFreeUnicodeString
	.align	2
	.global	RtlInitString
	.syntax unified
	.arm
	.fpu softvfp
	.type	RtlInitString, %function
RtlInitString:
	@ 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]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	RtlInitString, .-RtlInitString
	.align	2
	.global	RtlInitUnicodeString
	.syntax unified
	.arm
	.fpu softvfp
	.type	RtlInitUnicodeString, %function
RtlInitUnicodeString:
	@ 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]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	RtlInitUnicodeString, .-RtlInitUnicodeString
	.align	2
	.global	RtlQueryRegistryValues
	.syntax unified
	.arm
	.fpu softvfp
	.type	RtlQueryRegistryValues, %function
RtlQueryRegistryValues:
	@ args = 4, 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]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1185
	nop
.L1182:
	mov	r3, #0
	b	.L1184
.L1185:
	nop
.L1183:
	mov	r3, #-1073741823
.L1184:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	RtlQueryRegistryValues, .-RtlQueryRegistryValues
	.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
	@ 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
	bne	.L1191
	nop
.L1188:
	mov	r3, #0
	b	.L1190
.L1191:
	nop
.L1189:
	mov	r3, #-1073741823
.L1190:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ZwClose, .-ZwClose
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
