	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function play
_play:                                  ## @play
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$56, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r15
	movl	$0, -80(%rbp)
	movl	$1, -84(%rbp)
	movl	$1, -88(%rbp)
	movq	_fd@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_CDIOREADTOCHEADER@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-96(%rbp), %rdx
	callq	_ioctl
	testl	%eax, %eax
	js	LBB0_16
## %bb.1:
	movl	-96(%rbp), %r12d
	subl	-92(%rbp), %r12d
	leal	8(,%r12,4), %edi
	callq	_read_toc_entrys
	testl	%eax, %eax
	js	LBB0_16
## %bb.2:
	incl	%r12d
	testq	%r15, %r15
	je	LBB0_10
## %bb.3:
	cmpb	$0, (%r15)
	je	LBB0_10
## %bb.4:
	movq	%r15, %rdi
	movl	$35, %esi
	callq	_strchr
	testq	%rax, %rax
	je	LBB0_18
## %bb.5:
	movl	$0, -60(%rbp)
	leaq	L_.str(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-60(%rbp), %rcx
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$2, %eax
	je	LBB0_7
## %bb.6:
	leaq	L_.str.1(%rip), %rsi
	leaq	-68(%rbp), %rdx
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$1, %eax
	jne	LBB0_107
LBB0_7:
	movl	-60(%rbp), %esi
	testl	%esi, %esi
	je	LBB0_34
## %bb.8:
	movl	-68(%rbp), %edi
	jmp	LBB0_15
LBB0_10:
	movq	_msf@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	movq	_toc_buffer@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	%r12d, %ecx
	je	LBB0_13
## %bb.11:
	movzbl	4(%rax,%rcx,8), %edi
	movzbl	5(%rax,%rcx,8), %esi
	movzbl	6(%rax,%rcx,8), %edx
	callq	_msf2lba
	jmp	LBB0_14
LBB0_13:
	movl	(%rax,%rcx,8), %edi
	callq	_ntohl
LBB0_14:
	xorl	%edi, %edi
	movl	%eax, %esi
LBB0_15:
	callq	_play_blocks
LBB0_16:
	movl	%eax, %ebx
LBB0_17:
	movl	%ebx, %eax
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_18:
	movq	%r15, %rdi
	movl	$58, %esi
	callq	_strchr
	testq	%rax, %rax
	je	LBB0_36
## %bb.19:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	leaq	-52(%rbp), %rbx
	leaq	-56(%rbp), %r14
	leaq	-48(%rbp), %r13
	leaq	-60(%rbp), %r10
	leaq	L_.str.2(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-64(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	pushq	%rbx
	pushq	%r14
	pushq	%r13
	pushq	%r10
	callq	_sscanf
	addq	$32, %rsp
	cmpl	$8, %eax
	je	LBB0_32
## %bb.20:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	subq	$8, %rsp
	leaq	L_.str.3(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-60(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	leaq	-52(%rbp), %rbx
	pushq	%rbx
	pushq	%r14
	pushq	%r13
	callq	_sscanf
	addq	$32, %rsp
	cmpl	$7, %eax
	je	LBB0_32
## %bb.21:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	subq	$8, %rsp
	leaq	L_.str.4(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-64(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	pushq	%r14
	pushq	%r13
	leaq	-60(%rbp), %rbx
	pushq	%rbx
	callq	_sscanf
	addq	$32, %rsp
	cmpl	$7, %eax
	je	LBB0_32
## %bb.22:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	subq	$8, %rsp
	leaq	L_.str.5(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-64(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	leaq	-52(%rbp), %rbx
	pushq	%rbx
	pushq	%r14
	pushq	%r13
	callq	_sscanf
	addq	$32, %rsp
	cmpl	$7, %eax
	je	LBB0_32
## %bb.23:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	leaq	L_.str.6(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-64(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	pushq	%r14
	pushq	%r13
	callq	_sscanf
	addq	$16, %rsp
	cmpl	$6, %eax
	je	LBB0_32
## %bb.24:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	leaq	L_.str.7(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-48(%rbp), %r13
	movq	%r15, %rdi
	movq	%r13, %r9
	xorl	%eax, %eax
	leaq	-52(%rbp), %rbx
	pushq	%rbx
	pushq	%r14
	callq	_sscanf
	addq	$16, %rsp
	cmpl	$6, %eax
	je	LBB0_32
## %bb.25:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	leaq	L_.str.8(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-64(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	pushq	%r13
	leaq	-60(%rbp), %rbx
	pushq	%rbx
	callq	_sscanf
	addq	$16, %rsp
	cmpl	$6, %eax
	je	LBB0_32
## %bb.26:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	subq	$8, %rsp
	leaq	L_.str.9(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-48(%rbp), %rbx
	movq	%r15, %rdi
	movq	%rbx, %r9
	xorl	%eax, %eax
	pushq	%r14
	callq	_sscanf
	addq	$16, %rsp
	cmpl	$5, %eax
	je	LBB0_32
## %bb.27:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	subq	$8, %rsp
	leaq	L_.str.10(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-60(%rbp), %r13
	movq	%r15, %rdi
	movq	%r13, %r9
	xorl	%eax, %eax
	pushq	%rbx
	callq	_sscanf
	addq	$16, %rsp
	cmpl	$5, %eax
	je	LBB0_32
## %bb.28:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	subq	$8, %rsp
	leaq	L_.str.11(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-64(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	pushq	%r13
	callq	_sscanf
	addq	$16, %rsp
	cmpl	$5, %eax
	je	LBB0_32
## %bb.29:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	leaq	L_.str.12(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-60(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$4, %eax
	je	LBB0_32
## %bb.30:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	leaq	L_.str.13(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	leaq	-64(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$4, %eax
	je	LBB0_32
## %bb.31:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	leaq	L_.str.14(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-76(%rbp), %rcx
	leaq	-72(%rbp), %r8
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$3, %eax
	jne	LBB0_99
LBB0_32:
	movl	-68(%rbp), %ecx
	cmpl	%r12d, %ecx
	movl	%r12d, %eax
	cmovbl	%ecx, %eax
	decl	%eax
	testl	%ecx, %ecx
	cmovel	%ecx, %eax
	movl	%eax, -68(%rbp)
	movq	_msf@GOTPCREL(%rip), %r14
	cmpq	$0, (%r14)
	movq	_toc_buffer@GOTPCREL(%rip), %r15
	movq	(%r15), %rdx
	je	LBB0_45
## %bb.33:
	movb	4(%rdx,%rax,8), %cl
	movb	%cl, -43(%rbp)
	movb	5(%rdx,%rax,8), %bl
	movb	%bl, -42(%rbp)
	movb	6(%rdx,%rax,8), %al
	movb	%al, -41(%rbp)
	jmp	LBB0_46
LBB0_34:
	movq	_msf@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	movq	_toc_buffer@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	%r12d, %ecx
	je	LBB0_54
## %bb.35:
	movzbl	4(%rax,%rcx,8), %edi
	movzbl	5(%rax,%rcx,8), %esi
	movzbl	6(%rax,%rcx,8), %edx
	callq	_msf2lba
	jmp	LBB0_55
LBB0_36:
	leaq	L_.str.23(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-84(%rbp), %rcx
	leaq	-80(%rbp), %r8
	leaq	-88(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$4, %eax
	je	LBB0_42
## %bb.37:
	leaq	L_.str.24(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-84(%rbp), %rcx
	leaq	-80(%rbp), %r8
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$3, %eax
	je	LBB0_42
## %bb.38:
	leaq	L_.str.25(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-80(%rbp), %rcx
	leaq	-88(%rbp), %r8
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$3, %eax
	je	LBB0_42
## %bb.39:
	leaq	L_.str.26(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-84(%rbp), %rcx
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$2, %eax
	je	LBB0_42
## %bb.40:
	leaq	L_.str.27(%rip), %rsi
	leaq	-68(%rbp), %rdx
	leaq	-80(%rbp), %rcx
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$2, %eax
	je	LBB0_42
## %bb.41:
	leaq	L_.str.28(%rip), %rsi
	leaq	-68(%rbp), %rdx
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$1, %eax
	jne	LBB0_107
LBB0_42:
	movl	-80(%rbp), %edx
	testl	%edx, %edx
	jne	LBB0_44
## %bb.43:
	movl	%r12d, -80(%rbp)
	movl	%r12d, %edx
LBB0_44:
	movl	-68(%rbp), %edi
	movl	-84(%rbp), %esi
	movl	-88(%rbp), %ecx
	callq	_play_track
	jmp	LBB0_16
LBB0_45:
	movl	(%rdx,%rax,8), %edi
	callq	_ntohl
	leaq	-43(%rbp), %rsi
	leaq	-42(%rbp), %rdx
	leaq	-41(%rbp), %rcx
	movl	%eax, %edi
	callq	_lba2msf
	movb	-43(%rbp), %cl
LBB0_46:
	movl	-76(%rbp), %eax
	movzbl	%cl, %edx
	cmpl	%edx, %eax
	jbe	LBB0_48
LBB0_47:
	movl	-68(%rbp), %esi
	leaq	L_.str.15(%rip), %rdi
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_printf
	jmp	LBB0_17
LBB0_48:
	jne	LBB0_52
## %bb.49:
	movzbl	-42(%rbp), %ecx
	cmpl	%ecx, -72(%rbp)
	ja	LBB0_47
## %bb.50:
	jne	LBB0_52
## %bb.51:
	movzbl	-41(%rbp), %ecx
	cmpl	%ecx, -64(%rbp)
	ja	LBB0_47
LBB0_52:
	movzbl	-41(%rbp), %ecx
	addl	-64(%rbp), %ecx
	movl	%ecx, -64(%rbp)
	cmpl	$74, %ecx
	jbe	LBB0_56
## %bb.53:
	movl	%ecx, %esi
	imulq	$458129845, %rsi, %rdi          ## imm = 0x1B4E81B5
	shrq	$35, %rdi
	imull	$75, %edi, %esi
	addl	-72(%rbp), %edi
	subl	%esi, %ecx
	movl	%ecx, -64(%rbp)
	jmp	LBB0_57
LBB0_54:
	movl	(%rax,%rcx,8), %edi
	callq	_ntohl
LBB0_55:
	movl	%eax, %esi
	movl	-68(%rbp), %edi
	subl	%edi, %esi
	movl	%esi, -60(%rbp)
	jmp	LBB0_15
LBB0_56:
	movl	-72(%rbp), %edi
LBB0_57:
	movzbl	-42(%rbp), %esi
	addl	%edi, %esi
	cmpl	$60, %esi
	jb	LBB0_59
## %bb.58:
	movl	%esi, %edi
	movl	$2290649225, %ebx               ## imm = 0x88888889
	imulq	%rdi, %rbx
	shrq	$37, %rbx
	addl	%ebx, %eax
	imull	$60, %ebx, %edi
	subl	%edi, %esi
LBB0_59:
	movl	%esi, -72(%rbp)
	addl	%edx, %eax
	movl	%eax, -76(%rbp)
	movl	-60(%rbp), %edx
	testl	%edx, %edx
	je	LBB0_62
## %bb.60:
	cmpl	%r12d, %edx
	jbe	LBB0_67
## %bb.61:
	movl	%r12d, -60(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	jmp	LBB0_86
LBB0_62:
	movl	-48(%rbp), %r8d
	movl	-56(%rbp), %edi
	movl	-52(%rbp), %ebx
	testl	%r8d, %r8d
	jne	LBB0_73
## %bb.63:
	testl	%edi, %edi
	jne	LBB0_73
## %bb.64:
	testl	%ebx, %ebx
	jne	LBB0_73
## %bb.65:
	movl	%r12d, -60(%rbp)
	cmpq	$0, (%r14)
	movq	(%r15), %rax
	movl	%r12d, %ecx
	je	LBB0_98
## %bb.66:
	movzbl	4(%rax,%rcx,8), %edx
	movl	%edx, -48(%rbp)
	movzbl	5(%rax,%rcx,8), %edx
	movl	%edx, -56(%rbp)
	movzbl	6(%rax,%rcx,8), %eax
	movl	%eax, -52(%rbp)
	jmp	LBB0_86
LBB0_67:
	cmpl	$0, -48(%rbp)
	movl	-52(%rbp), %eax
	jne	LBB0_70
## %bb.68:
	cmpl	$0, -56(%rbp)
	jne	LBB0_70
## %bb.69:
	testl	%eax, %eax
	je	LBB0_71
LBB0_70:
	decl	%edx
	movl	%edx, -60(%rbp)
LBB0_71:
	cmpq	$0, (%r14)
	movq	(%r15), %rcx
	movl	%edx, %edx
	je	LBB0_78
## %bb.72:
	movb	4(%rcx,%rdx,8), %bl
	movb	%bl, -43(%rbp)
	movb	5(%rcx,%rdx,8), %bl
	movb	%bl, -42(%rbp)
	movb	6(%rcx,%rdx,8), %cl
	movb	%cl, -41(%rbp)
	jmp	LBB0_79
LBB0_73:
	movl	-68(%rbp), %edx
	movl	%edx, -60(%rbp)
	addl	%ebx, %ecx
	cmpl	$75, %ecx
	jb	LBB0_75
## %bb.74:
	movl	%ecx, %edx
	imulq	$458129845, %rdx, %rdx          ## imm = 0x1B4E81B5
	shrq	$35, %rdx
	addl	%edx, %edi
	imull	$75, %edx, %edx
	subl	%edx, %ecx
LBB0_75:
	movl	%ecx, -52(%rbp)
	addl	%esi, %edi
	cmpl	$61, %edi
	jb	LBB0_77
## %bb.76:
	movl	%edi, %ecx
	movl	$2290649225, %edx               ## imm = 0x88888889
	imulq	%rcx, %rdx
	shrq	$37, %rdx
	addl	%edx, %r8d
	imull	$60, %edx, %ecx
	subl	%ecx, %edi
LBB0_77:
	movl	%edi, -56(%rbp)
	addl	%eax, %r8d
	movl	%r8d, -48(%rbp)
	jmp	LBB0_86
LBB0_78:
	movl	(%rcx,%rdx,8), %edi
	callq	_ntohl
	leaq	-43(%rbp), %rsi
	leaq	-42(%rbp), %rdx
	leaq	-41(%rbp), %rcx
	movl	%eax, %edi
	callq	_lba2msf
	movb	-41(%rbp), %cl
	movl	-52(%rbp), %eax
LBB0_79:
	movzbl	%cl, %ecx
	addl	%eax, %ecx
	movl	%ecx, -52(%rbp)
	cmpl	$74, %ecx
	jbe	LBB0_81
## %bb.80:
	movl	%ecx, %eax
	imulq	$458129845, %rax, %rdx          ## imm = 0x1B4E81B5
	shrq	$35, %rdx
	imull	$75, %edx, %eax
	addl	-56(%rbp), %edx
	subl	%eax, %ecx
	movl	%ecx, -52(%rbp)
	jmp	LBB0_82
LBB0_81:
	movl	-56(%rbp), %edx
LBB0_82:
	movzbl	-42(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -56(%rbp)
	cmpl	$60, %eax
	jbe	LBB0_84
## %bb.83:
	movl	%eax, %edx
	movl	$2290649225, %ecx               ## imm = 0x88888889
	imulq	%rdx, %rcx
	shrq	$37, %rcx
	imull	$60, %ecx, %edx
	addl	-48(%rbp), %ecx
	subl	%edx, %eax
	movl	%eax, -56(%rbp)
	jmp	LBB0_85
LBB0_84:
	movl	-48(%rbp), %ecx
LBB0_85:
	movzbl	-43(%rbp), %eax
	addl	%ecx, %eax
	movl	%eax, -48(%rbp)
LBB0_86:
	cmpq	$0, (%r14)
	movq	(%r15), %rax
	movl	%r12d, %ecx
	je	LBB0_88
## %bb.87:
	movb	4(%rax,%rcx,8), %dl
	movb	%dl, -43(%rbp)
	movb	5(%rax,%rcx,8), %dl
	movb	%dl, -42(%rbp)
	movb	6(%rax,%rcx,8), %al
	movb	%al, -41(%rbp)
	jmp	LBB0_89
LBB0_88:
	movl	(%rax,%rcx,8), %edi
	callq	_ntohl
	leaq	-43(%rbp), %rsi
	leaq	-42(%rbp), %rdx
	leaq	-41(%rbp), %rcx
	movl	%eax, %edi
	callq	_lba2msf
LBB0_89:
	movl	-48(%rbp), %ecx
	cmpl	%r12d, -60(%rbp)
	jae	LBB0_96
## %bb.90:
	movzbl	-43(%rbp), %eax
	cmpl	%eax, %ecx
	jbe	LBB0_92
LBB0_91:
	leaq	L_str(%rip), %rdi
	callq	_puts
	jmp	LBB0_108
LBB0_92:
	jne	LBB0_96
## %bb.93:
	movzbl	-42(%rbp), %eax
	cmpl	%eax, -56(%rbp)
	ja	LBB0_91
## %bb.94:
	jne	LBB0_96
## %bb.95:
	movzbl	-41(%rbp), %eax
	cmpl	%eax, -52(%rbp)
	ja	LBB0_91
LBB0_96:
	movl	-76(%rbp), %edi
	movl	-72(%rbp), %esi
	movl	-64(%rbp), %edx
	movl	-56(%rbp), %r8d
	movl	-52(%rbp), %r9d
LBB0_97:
	callq	_play_msf
	jmp	LBB0_16
LBB0_98:
	movl	(%rax,%rcx,8), %edi
	callq	_ntohl
	leaq	-43(%rbp), %rsi
	leaq	-42(%rbp), %rdx
	leaq	-41(%rbp), %rcx
	movl	%eax, %edi
	callq	_lba2msf
	movzbl	-43(%rbp), %eax
	movl	%eax, -48(%rbp)
	movzbl	-42(%rbp), %eax
	movl	%eax, -56(%rbp)
	movzbl	-41(%rbp), %eax
	movl	%eax, -52(%rbp)
	jmp	LBB0_86
LBB0_99:
	movl	$0, -64(%rbp)
	movl	$0, -52(%rbp)
	movl	$0, -56(%rbp)
	movl	$0, -48(%rbp)
	movl	$0, -60(%rbp)
	leaq	L_.str.17(%rip), %rsi
	leaq	-76(%rbp), %rdx
	leaq	-72(%rbp), %rcx
	leaq	-64(%rbp), %r8
	leaq	-48(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	leaq	-52(%rbp), %rbx
	movq	%rbx, %r13
	pushq	%rbx
	movq	%r14, %rbx
	pushq	%r14
	callq	_sscanf
	addq	$16, %rsp
	cmpl	$6, %eax
	je	LBB0_105
## %bb.100:
	subq	$8, %rsp
	leaq	L_.str.18(%rip), %rsi
	leaq	-76(%rbp), %rdx
	leaq	-72(%rbp), %rcx
	leaq	-64(%rbp), %r8
	leaq	-48(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	pushq	%rbx
	callq	_sscanf
	addq	$16, %rsp
	cmpl	$5, %eax
	je	LBB0_105
## %bb.101:
	subq	$8, %rsp
	leaq	L_.str.19(%rip), %rsi
	leaq	-76(%rbp), %rdx
	leaq	-72(%rbp), %rcx
	leaq	-48(%rbp), %r8
	leaq	-56(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	pushq	%r13
	callq	_sscanf
	addq	$16, %rsp
	cmpl	$5, %eax
	je	LBB0_105
## %bb.102:
	leaq	L_.str.20(%rip), %rsi
	leaq	-76(%rbp), %rdx
	leaq	-72(%rbp), %rcx
	leaq	-64(%rbp), %r8
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$3, %eax
	je	LBB0_105
## %bb.103:
	leaq	L_.str.21(%rip), %rsi
	leaq	-76(%rbp), %rdx
	leaq	-72(%rbp), %rcx
	leaq	-48(%rbp), %r8
	leaq	-56(%rbp), %r9
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$4, %eax
	je	LBB0_105
## %bb.104:
	leaq	L_.str.22(%rip), %rsi
	leaq	-76(%rbp), %rdx
	leaq	-72(%rbp), %rcx
	movq	%r15, %rdi
	xorl	%eax, %eax
	callq	_sscanf
	cmpl	$2, %eax
	jne	LBB0_107
LBB0_105:
	movl	-48(%rbp), %ecx
	testl	%ecx, %ecx
	je	LBB0_109
## %bb.106:
	movl	-56(%rbp), %r8d
	movl	-52(%rbp), %r9d
	jmp	LBB0_113
LBB0_107:
	leaq	L_.str.29(%rip), %rdi
	callq	_warnx
LBB0_108:
	xorl	%ebx, %ebx
	jmp	LBB0_17
LBB0_109:
	movq	_msf@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	movq	_toc_buffer@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	%r12d, %edx
	je	LBB0_111
## %bb.110:
	movzbl	4(%rax,%rdx,8), %ecx
	movl	%ecx, -48(%rbp)
	movzbl	5(%rax,%rdx,8), %r8d
	movl	%r8d, -56(%rbp)
	movzbl	6(%rax,%rdx,8), %r9d
	jmp	LBB0_112
LBB0_111:
	movl	(%rax,%rdx,8), %edi
	callq	_ntohl
	leaq	-43(%rbp), %rsi
	leaq	-42(%rbp), %rdx
	leaq	-41(%rbp), %rcx
	movl	%eax, %edi
	callq	_lba2msf
	movzbl	-43(%rbp), %ecx
	movl	%ecx, -48(%rbp)
	movzbl	-42(%rbp), %r8d
	movl	%r8d, -56(%rbp)
	movzbl	-41(%rbp), %r9d
LBB0_112:
	movl	%r9d, -52(%rbp)
LBB0_113:
	movl	-76(%rbp), %edi
	movl	-72(%rbp), %esi
	movl	-64(%rbp), %edx
	jmp	LBB0_97
	.cfi_endproc
                                        ## -- End function
	.comm	_fd,4,2                         ## @fd
	.comm	_CDIOREADTOCHEADER,4,2          ## @CDIOREADTOCHEADER
	.comm	_msf,8,3                        ## @msf
	.comm	_toc_buffer,8,3                 ## @toc_buffer
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"#%d%d"

L_.str.1:                               ## @.str.1
	.asciz	"#%d"

L_.str.2:                               ## @.str.2
	.asciz	"%d %d:%d.%d %d %d:%d.%d"

L_.str.3:                               ## @.str.3
	.asciz	"%d %d:%d %d %d:%d.%d"

L_.str.4:                               ## @.str.4
	.asciz	"%d %d:%d.%d %d %d:%d"

L_.str.5:                               ## @.str.5
	.asciz	"%d %d:%d.%d %d:%d.%d"

L_.str.6:                               ## @.str.6
	.asciz	"%d %d:%d.%d %d:%d"

L_.str.7:                               ## @.str.7
	.asciz	"%d %d:%d %d:%d.%d"

L_.str.8:                               ## @.str.8
	.asciz	"%d %d:%d.%d %d %d"

L_.str.9:                               ## @.str.9
	.asciz	"%d %d:%d %d:%d"

L_.str.10:                              ## @.str.10
	.asciz	"%d %d:%d %d %d"

L_.str.11:                              ## @.str.11
	.asciz	"%d %d:%d.%d %d"

L_.str.12:                              ## @.str.12
	.asciz	"%d %d:%d %d"

L_.str.13:                              ## @.str.13
	.asciz	"%d %d:%d.%d"

L_.str.14:                              ## @.str.14
	.asciz	"%d %d:%d"

L_.str.15:                              ## @.str.15
	.asciz	"Track %d is not that long.\n"

L_.str.17:                              ## @.str.17
	.asciz	"%d:%d.%d%d:%d.%d"

L_.str.18:                              ## @.str.18
	.asciz	"%d:%d.%d%d:%d"

L_.str.19:                              ## @.str.19
	.asciz	"%d:%d%d:%d.%d"

L_.str.20:                              ## @.str.20
	.asciz	"%d:%d.%d"

L_.str.21:                              ## @.str.21
	.asciz	"%d:%d%d:%d"

L_.str.22:                              ## @.str.22
	.asciz	"%d:%d"

L_.str.23:                              ## @.str.23
	.asciz	"%d.%d%d.%d"

L_.str.24:                              ## @.str.24
	.asciz	"%d.%d%d"

L_.str.25:                              ## @.str.25
	.asciz	"%d%d.%d"

L_.str.26:                              ## @.str.26
	.asciz	"%d.%d"

L_.str.27:                              ## @.str.27
	.asciz	"%d%d"

L_.str.28:                              ## @.str.28
	.asciz	"%d"

L_.str.29:                              ## @.str.29
	.asciz	"invalid command arguments"

L_str:                                  ## @str
	.asciz	"The playing time of the disc is not that long."

	.no_dead_strip	_play
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function play
_play:                                  ; @play
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #224
	.cfi_def_cfa_offset 224
	stp	x28, x27, [sp, #128]            ; 16-byte Folded Spill
	stp	x26, x25, [sp, #144]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #160]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #176]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #192]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #208]            ; 16-byte Folded Spill
	add	x29, sp, #208
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x19, x0
	mov	w8, #1
	stp	w8, wzr, [x29, #-100]
	str	w8, [sp, #104]
Lloh0:
	adrp	x8, _fd@GOTPAGE
Lloh1:
	ldr	x8, [x8, _fd@GOTPAGEOFF]
Lloh2:
	ldr	w0, [x8]
Lloh3:
	adrp	x8, _CDIOREADTOCHEADER@GOTPAGE
Lloh4:
	ldr	x8, [x8, _CDIOREADTOCHEADER@GOTPAGEOFF]
Lloh5:
	ldr	w1, [x8]
	sub	x2, x29, #88
	bl	_ioctl
	tbnz	w0, #31, LBB0_14
; %bb.1:
	ldp	w8, w9, [x29, #-88]
	sub	w20, w8, w9
	lsl	w8, w20, #2
	add	w0, w8, #8
	bl	_read_toc_entrys
	tbnz	w0, #31, LBB0_14
; %bb.2:
	add	w20, w20, #1
	cbz	x19, LBB0_9
; %bb.3:
	ldrb	w8, [x19]
	cbz	w8, LBB0_9
; %bb.4:
	mov	x0, x19
	mov	w1, #35
	bl	_strchr
	cbz	x0, LBB0_15
; %bb.5:
	str	wzr, [sp, #100]
	add	x8, sp, #100
	sub	x21, x29, #92
	stp	x21, x8, [sp]
Lloh6:
	adrp	x1, l_.str@PAGE
Lloh7:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #2
	b.eq	LBB0_7
; %bb.6:
	str	x21, [sp]
Lloh8:
	adrp	x1, l_.str.1@PAGE
Lloh9:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #1
	b.ne	LBB0_104
LBB0_7:
	ldr	w1, [sp, #100]
	cbz	w1, LBB0_31
; %bb.8:
	ldur	w0, [x29, #-92]
	b	LBB0_13
LBB0_9:
Lloh10:
	adrp	x8, _msf@GOTPAGE
Lloh11:
	ldr	x8, [x8, _msf@GOTPAGEOFF]
Lloh12:
	ldr	x9, [x8]
Lloh13:
	adrp	x8, _toc_buffer@GOTPAGE
Lloh14:
	ldr	x8, [x8, _toc_buffer@GOTPAGEOFF]
Lloh15:
	ldr	x8, [x8]
	cbz	x9, LBB0_11
; %bb.10:
	add	x8, x8, x20, lsl #3
	ldrb	w0, [x8, #4]
	ldrb	w1, [x8, #5]
	ldrb	w2, [x8, #6]
	bl	_msf2lba
	b	LBB0_12
LBB0_11:
	lsl	x9, x20, #3
	ldr	w0, [x8, x9]
	bl	_ntohl
LBB0_12:
	mov	x1, x0
	mov	w0, #0
LBB0_13:
	bl	_play_blocks
LBB0_14:
	ldp	x29, x30, [sp, #208]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #192]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #176]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #160]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #144]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #128]            ; 16-byte Folded Reload
	add	sp, sp, #224
	ret
LBB0_15:
	mov	x0, x19
	mov	w1, #58
	bl	_strchr
	cbz	x0, LBB0_33
; %bb.16:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x21, sp, #76
	add	x22, sp, #84
	stp	x22, x21, [sp, #48]
	add	x23, sp, #92
	add	x24, sp, #100
	stp	x24, x23, [sp, #32]
	add	x8, sp, #80
	add	x26, sp, #88
	stp	x26, x8, [sp, #16]
	add	x25, sp, #96
	sub	x27, x29, #92
Lloh16:
	adrp	x1, l_.str.2@PAGE
Lloh17:
	add	x1, x1, l_.str.2@PAGEOFF
	stp	x27, x25, [sp]
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #8
	b.eq	LBB0_29
; %bb.17:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	stp	x22, x21, [sp, #40]
	stp	x24, x23, [sp, #24]
	stp	x25, x26, [sp, #8]
Lloh18:
	adrp	x1, l_.str.3@PAGE
Lloh19:
	add	x1, x1, l_.str.3@PAGEOFF
	str	x27, [sp]
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #7
	b.eq	LBB0_29
; %bb.18:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x21, sp, #84
	add	x22, sp, #92
	add	x8, sp, #100
	stp	x22, x21, [sp, #40]
	add	x24, sp, #80
	add	x25, sp, #88
	stp	x24, x8, [sp, #24]
	add	x23, sp, #96
	sub	x26, x29, #92
Lloh20:
	adrp	x1, l_.str.4@PAGE
Lloh21:
	add	x1, x1, l_.str.4@PAGEOFF
	stp	x23, x25, [sp, #8]
	str	x26, [sp]
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #7
	b.eq	LBB0_29
; %bb.19:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x8, sp, #76
	stp	x21, x8, [sp, #40]
	stp	x24, x22, [sp, #24]
	stp	x23, x25, [sp, #8]
Lloh22:
	adrp	x1, l_.str.5@PAGE
Lloh23:
	add	x1, x1, l_.str.5@PAGEOFF
	str	x26, [sp]
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #7
	b.eq	LBB0_29
; %bb.20:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x21, sp, #84
	add	x22, sp, #92
	stp	x22, x21, [sp, #32]
	add	x8, sp, #80
	add	x23, sp, #88
	stp	x23, x8, [sp, #16]
	add	x24, sp, #96
	sub	x25, x29, #92
	stp	x25, x24, [sp]
Lloh24:
	adrp	x1, l_.str.6@PAGE
Lloh25:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #6
	b.eq	LBB0_29
; %bb.21:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x8, sp, #76
	stp	x21, x8, [sp, #32]
	stp	x23, x22, [sp, #16]
	stp	x25, x24, [sp]
Lloh26:
	adrp	x1, l_.str.7@PAGE
Lloh27:
	add	x1, x1, l_.str.7@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #6
	b.eq	LBB0_29
; %bb.22:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x21, sp, #92
	add	x8, sp, #100
	stp	x8, x21, [sp, #32]
	add	x8, sp, #80
	add	x22, sp, #88
	stp	x22, x8, [sp, #16]
	add	x23, sp, #96
	sub	x24, x29, #92
	stp	x24, x23, [sp]
Lloh28:
	adrp	x1, l_.str.8@PAGE
Lloh29:
	add	x1, x1, l_.str.8@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #6
	b.eq	LBB0_29
; %bb.23:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x8, sp, #84
	stp	x21, x8, [sp, #24]
	stp	x23, x22, [sp, #8]
	str	x24, [sp]
Lloh30:
	adrp	x1, l_.str.9@PAGE
Lloh31:
	add	x1, x1, l_.str.9@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #5
	b.eq	LBB0_29
; %bb.24:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x8, sp, #92
	add	x22, sp, #100
	add	x21, sp, #88
	stp	x22, x8, [sp, #24]
	add	x23, sp, #96
	sub	x24, x29, #92
	stp	x23, x21, [sp, #8]
	str	x24, [sp]
Lloh32:
	adrp	x1, l_.str.10@PAGE
Lloh33:
	add	x1, x1, l_.str.10@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #5
	b.eq	LBB0_29
; %bb.25:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x8, sp, #80
	stp	x8, x22, [sp, #24]
	stp	x23, x21, [sp, #8]
	str	x24, [sp]
Lloh34:
	adrp	x1, l_.str.11@PAGE
Lloh35:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #5
	b.eq	LBB0_29
; %bb.26:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x8, sp, #100
	add	x21, sp, #88
	stp	x21, x8, [sp, #16]
	add	x22, sp, #96
	sub	x23, x29, #92
	stp	x23, x22, [sp]
Lloh36:
	adrp	x1, l_.str.12@PAGE
Lloh37:
	add	x1, x1, l_.str.12@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #4
	b.eq	LBB0_29
; %bb.27:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x8, sp, #80
	stp	x21, x8, [sp, #16]
	stp	x23, x22, [sp]
Lloh38:
	adrp	x1, l_.str.13@PAGE
Lloh39:
	add	x1, x1, l_.str.13@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #4
	b.eq	LBB0_29
; %bb.28:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x21, sp, #88
	add	x22, sp, #96
	sub	x8, x29, #92
	stp	x22, x21, [sp, #8]
	str	x8, [sp]
Lloh40:
	adrp	x1, l_.str.14@PAGE
Lloh41:
	add	x1, x1, l_.str.14@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #3
	b.ne	LBB0_96
LBB0_29:
	ldur	w8, [x29, #-92]
	cmp	w8, w20
	csel	w9, w8, w20, lo
	sub	w9, w9, #1
	cmp	w8, #0
	csel	w8, wzr, w9, eq
	stur	w8, [x29, #-92]
Lloh42:
	adrp	x19, _msf@GOTPAGE
Lloh43:
	ldr	x19, [x19, _msf@GOTPAGEOFF]
	ldr	x10, [x19]
Lloh44:
	adrp	x21, _toc_buffer@GOTPAGE
Lloh45:
	ldr	x21, [x21, _toc_buffer@GOTPAGEOFF]
	ldr	x9, [x21]
	cbz	x10, LBB0_42
; %bb.30:
	add	x9, x9, x8, lsl #3
	ldrb	w8, [x9, #4]
	strb	w8, [sp, #75]
	ldrb	w10, [x9, #5]
	strb	w10, [sp, #74]
	ldrb	w9, [x9, #6]
	strb	w9, [sp, #73]
	b	LBB0_43
LBB0_31:
Lloh46:
	adrp	x8, _msf@GOTPAGE
Lloh47:
	ldr	x8, [x8, _msf@GOTPAGEOFF]
Lloh48:
	ldr	x9, [x8]
Lloh49:
	adrp	x8, _toc_buffer@GOTPAGE
Lloh50:
	ldr	x8, [x8, _toc_buffer@GOTPAGEOFF]
Lloh51:
	ldr	x8, [x8]
	cbz	x9, LBB0_51
; %bb.32:
	add	x8, x8, x20, lsl #3
	ldrb	w0, [x8, #4]
	ldrb	w1, [x8, #5]
	ldrb	w2, [x8, #6]
	bl	_msf2lba
	b	LBB0_52
LBB0_33:
	add	x8, sp, #104
	sub	x21, x29, #96
	stp	x21, x8, [sp, #16]
	sub	x22, x29, #100
	sub	x23, x29, #92
	stp	x23, x22, [sp]
Lloh52:
	adrp	x1, l_.str.23@PAGE
Lloh53:
	add	x1, x1, l_.str.23@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #4
	b.eq	LBB0_39
; %bb.34:
	stp	x22, x21, [sp, #8]
	str	x23, [sp]
Lloh54:
	adrp	x1, l_.str.24@PAGE
Lloh55:
	add	x1, x1, l_.str.24@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #3
	b.eq	LBB0_39
; %bb.35:
	add	x8, sp, #104
	str	x8, [sp, #16]
	sub	x8, x29, #96
	sub	x21, x29, #92
	stp	x21, x8, [sp]
Lloh56:
	adrp	x1, l_.str.25@PAGE
Lloh57:
	add	x1, x1, l_.str.25@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #3
	b.eq	LBB0_39
; %bb.36:
	sub	x8, x29, #100
	stp	x21, x8, [sp]
Lloh58:
	adrp	x1, l_.str.26@PAGE
Lloh59:
	add	x1, x1, l_.str.26@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #2
	b.eq	LBB0_39
; %bb.37:
	sub	x8, x29, #96
	sub	x21, x29, #92
	stp	x21, x8, [sp]
Lloh60:
	adrp	x1, l_.str.27@PAGE
Lloh61:
	add	x1, x1, l_.str.27@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #2
	b.eq	LBB0_39
; %bb.38:
	str	x21, [sp]
Lloh62:
	adrp	x1, l_.str.28@PAGE
Lloh63:
	add	x1, x1, l_.str.28@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #1
	b.ne	LBB0_104
LBB0_39:
	ldur	w2, [x29, #-96]
	cbnz	w2, LBB0_41
; %bb.40:
	stur	w20, [x29, #-96]
	mov	x2, x20
LBB0_41:
	ldur	w0, [x29, #-92]
	ldur	w1, [x29, #-100]
	ldr	w3, [sp, #104]
	bl	_play_track
	b	LBB0_14
LBB0_42:
	lsl	x8, x8, #3
	ldr	w0, [x9, x8]
	bl	_ntohl
	add	x1, sp, #75
	add	x2, sp, #74
	add	x3, sp, #73
	bl	_lba2msf
	ldrb	w8, [sp, #75]
LBB0_43:
	ldr	w9, [sp, #96]
	cmp	w9, w8
	b.ls	LBB0_45
LBB0_44:
	ldur	w8, [x29, #-92]
	str	x8, [sp]
Lloh64:
	adrp	x0, l_.str.15@PAGE
Lloh65:
	add	x0, x0, l_.str.15@PAGEOFF
	bl	_printf
	b	LBB0_105
LBB0_45:
	b.ne	LBB0_49
; %bb.46:
	ldr	w10, [sp, #88]
	ldrb	w11, [sp, #74]
	cmp	w10, w11
	b.hi	LBB0_44
; %bb.47:
	b.ne	LBB0_49
; %bb.48:
	ldr	w10, [sp, #80]
	ldrb	w11, [sp, #73]
	cmp	w10, w11
	b.hi	LBB0_44
LBB0_49:
	ldrb	w10, [sp, #73]
	ldr	w11, [sp, #80]
	add	w10, w11, w10
	str	w10, [sp, #80]
	cmp	w10, #74
	b.ls	LBB0_53
; %bb.50:
	mov	w11, #33205
	movk	w11, #6990, lsl #16
	umull	x11, w10, w11
	lsr	x12, x11, #35
	ldr	w11, [sp, #88]
	add	w11, w11, w12
	mov	w13, #75
	msub	w10, w12, w13, w10
	str	w10, [sp, #80]
	b	LBB0_54
LBB0_51:
	lsl	x9, x20, #3
	ldr	w0, [x8, x9]
	bl	_ntohl
LBB0_52:
	mov	x8, x0
	ldur	w0, [x29, #-92]
	sub	w1, w8, w0
	str	w1, [sp, #100]
	b	LBB0_13
LBB0_53:
	ldr	w11, [sp, #88]
LBB0_54:
	ldrb	w12, [sp, #74]
	add	w11, w11, w12
	cmp	w11, #60
	b.lo	LBB0_56
; %bb.55:
	mov	w12, #34953
	movk	w12, #34952, lsl #16
	umull	x12, w11, w12
	lsr	x12, x12, #37
	add	w9, w12, w9
	mov	w13, #60
	msub	w11, w12, w13, w11
LBB0_56:
	str	w11, [sp, #88]
	add	w8, w9, w8
	str	w8, [sp, #96]
	ldr	w9, [sp, #100]
	cbz	w9, LBB0_59
; %bb.57:
	cmp	w9, w20
	b.ls	LBB0_64
; %bb.58:
	str	w20, [sp, #100]
	str	wzr, [sp, #76]
	str	wzr, [sp, #84]
	str	wzr, [sp, #92]
	b	LBB0_84
LBB0_59:
	ldr	w9, [sp, #92]
	ldr	w12, [sp, #84]
	ldr	w13, [sp, #76]
	cbnz	w9, LBB0_70
; %bb.60:
	cbnz	w12, LBB0_70
; %bb.61:
	cbnz	w13, LBB0_70
; %bb.62:
	str	w20, [sp, #100]
	ldr	x9, [x19]
	ldr	x8, [x21]
	cbz	x9, LBB0_95
; %bb.63:
	add	x8, x8, x20, lsl #3
	ldrb	w9, [x8, #4]
	str	w9, [sp, #92]
	ldrb	w9, [x8, #5]
	str	w9, [sp, #84]
	ldrb	w8, [x8, #6]
	str	w8, [sp, #76]
	b	LBB0_84
LBB0_64:
	ldr	w10, [sp, #92]
	ldr	w8, [sp, #76]
	cbnz	w10, LBB0_67
; %bb.65:
	ldr	w10, [sp, #84]
	cbnz	w10, LBB0_67
; %bb.66:
	cbz	w8, LBB0_68
LBB0_67:
	sub	w9, w9, #1
	str	w9, [sp, #100]
LBB0_68:
	ldr	x11, [x19]
	ldr	x10, [x21]
	mov	w9, w9
	cbz	x11, LBB0_75
; %bb.69:
	add	x9, x10, x9, lsl #3
	ldrb	w10, [x9, #4]
	strb	w10, [sp, #75]
	ldrb	w10, [x9, #5]
	strb	w10, [sp, #74]
	ldrb	w9, [x9, #6]
	strb	w9, [sp, #73]
	b	LBB0_76
LBB0_70:
	ldur	w14, [x29, #-92]
	str	w14, [sp, #100]
	add	w10, w10, w13
	cmp	w10, #75
	b.lo	LBB0_72
; %bb.71:
	mov	w13, #33205
	movk	w13, #6990, lsl #16
	umull	x13, w10, w13
	lsr	x13, x13, #35
	add	w12, w13, w12
	mov	w14, #75
	msub	w10, w13, w14, w10
LBB0_72:
	str	w10, [sp, #76]
	add	w10, w12, w11
	cmp	w10, #61
	b.lo	LBB0_74
; %bb.73:
	mov	w11, #34953
	movk	w11, #34952, lsl #16
	umull	x11, w10, w11
	lsr	x11, x11, #37
	add	w9, w11, w9
	mov	w12, #60
	msub	w10, w11, w12, w10
LBB0_74:
	str	w10, [sp, #84]
	b	LBB0_83
LBB0_75:
	lsl	x8, x9, #3
	ldr	w0, [x10, x8]
	bl	_ntohl
	add	x1, sp, #75
	add	x2, sp, #74
	add	x3, sp, #73
	bl	_lba2msf
	ldrb	w9, [sp, #73]
	ldr	w8, [sp, #76]
LBB0_76:
	add	w8, w8, w9
	str	w8, [sp, #76]
	cmp	w8, #74
	b.ls	LBB0_78
; %bb.77:
	mov	w9, #33205
	movk	w9, #6990, lsl #16
	umull	x9, w8, w9
	lsr	x10, x9, #35
	ldr	w9, [sp, #84]
	add	w9, w9, w10
	mov	w11, #75
	msub	w8, w10, w11, w8
	str	w8, [sp, #76]
	b	LBB0_79
LBB0_78:
	ldr	w9, [sp, #84]
LBB0_79:
	ldrb	w8, [sp, #74]
	add	w8, w9, w8
	str	w8, [sp, #84]
	cmp	w8, #60
	b.ls	LBB0_81
; %bb.80:
	mov	w9, #34953
	movk	w9, #34952, lsl #16
	umull	x9, w8, w9
	lsr	x10, x9, #37
	ldr	w9, [sp, #92]
	add	w9, w9, w10
	mov	w11, #60
	msub	w8, w10, w11, w8
	str	w8, [sp, #84]
	b	LBB0_82
LBB0_81:
	ldr	w9, [sp, #92]
LBB0_82:
	ldrb	w8, [sp, #75]
LBB0_83:
	add	w8, w9, w8
	str	w8, [sp, #92]
LBB0_84:
	ldr	x9, [x19]
	ldr	x8, [x21]
	cbz	x9, LBB0_86
; %bb.85:
	add	x8, x8, x20, lsl #3
	ldrb	w9, [x8, #4]
	strb	w9, [sp, #75]
	ldrb	w9, [x8, #5]
	strb	w9, [sp, #74]
	ldrb	w8, [x8, #6]
	strb	w8, [sp, #73]
	b	LBB0_87
LBB0_86:
	lsl	x9, x20, #3
	ldr	w0, [x8, x9]
	bl	_ntohl
	add	x1, sp, #75
	add	x2, sp, #74
	add	x3, sp, #73
	bl	_lba2msf
LBB0_87:
	ldr	w8, [sp, #100]
	ldr	w3, [sp, #92]
	cmp	w8, w20
	b.hs	LBB0_94
; %bb.88:
	ldrb	w8, [sp, #75]
	cmp	w3, w8
	b.ls	LBB0_90
LBB0_89:
Lloh66:
	adrp	x0, l_str@PAGE
Lloh67:
	add	x0, x0, l_str@PAGEOFF
	bl	_puts
	b	LBB0_105
LBB0_90:
	b.ne	LBB0_94
; %bb.91:
	ldr	w8, [sp, #84]
	ldrb	w9, [sp, #74]
	cmp	w8, w9
	b.hi	LBB0_89
; %bb.92:
	b.ne	LBB0_94
; %bb.93:
	ldr	w8, [sp, #76]
	ldrb	w9, [sp, #73]
	cmp	w8, w9
	b.hi	LBB0_89
LBB0_94:
	ldr	w0, [sp, #96]
	ldp	w4, w1, [sp, #84]
	ldp	w5, w2, [sp, #76]
	bl	_play_msf
	b	LBB0_14
LBB0_95:
	lsl	x9, x20, #3
	ldr	w0, [x8, x9]
	bl	_ntohl
	add	x1, sp, #75
	add	x2, sp, #74
	add	x3, sp, #73
	bl	_lba2msf
	ldrb	w8, [sp, #75]
	str	w8, [sp, #92]
	ldrb	w8, [sp, #74]
	str	w8, [sp, #84]
	ldrb	w8, [sp, #73]
	str	w8, [sp, #76]
	b	LBB0_84
LBB0_96:
	str	xzr, [sp, #80]
	str	wzr, [sp, #76]
	str	wzr, [sp, #92]
	str	wzr, [sp, #100]
	add	x8, sp, #76
	add	x23, sp, #84
	stp	x23, x8, [sp, #32]
	add	x24, sp, #92
	add	x25, sp, #80
	stp	x25, x24, [sp, #16]
	stp	x22, x21, [sp]
Lloh68:
	adrp	x1, l_.str.17@PAGE
Lloh69:
	add	x1, x1, l_.str.17@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #6
	b.eq	LBB0_102
; %bb.97:
	stp	x24, x23, [sp, #24]
	add	x21, sp, #88
	add	x22, sp, #96
	stp	x21, x25, [sp, #8]
	str	x22, [sp]
Lloh70:
	adrp	x1, l_.str.18@PAGE
Lloh71:
	add	x1, x1, l_.str.18@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #5
	b.eq	LBB0_102
; %bb.98:
	add	x8, sp, #76
	str	x8, [sp, #32]
	add	x8, sp, #84
	add	x9, sp, #92
	stp	x9, x8, [sp, #16]
	stp	x22, x21, [sp]
Lloh72:
	adrp	x1, l_.str.19@PAGE
Lloh73:
	add	x1, x1, l_.str.19@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #5
	b.eq	LBB0_102
; %bb.99:
	add	x8, sp, #80
	add	x21, sp, #88
	add	x22, sp, #96
	stp	x21, x8, [sp, #8]
	str	x22, [sp]
Lloh74:
	adrp	x1, l_.str.20@PAGE
Lloh75:
	add	x1, x1, l_.str.20@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #3
	b.eq	LBB0_102
; %bb.100:
	add	x8, sp, #84
	add	x9, sp, #92
	stp	x9, x8, [sp, #16]
	stp	x22, x21, [sp]
Lloh76:
	adrp	x1, l_.str.21@PAGE
Lloh77:
	add	x1, x1, l_.str.21@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #4
	b.eq	LBB0_102
; %bb.101:
	add	x8, sp, #88
	add	x9, sp, #96
	stp	x9, x8, [sp]
Lloh78:
	adrp	x1, l_.str.22@PAGE
Lloh79:
	add	x1, x1, l_.str.22@PAGEOFF
	mov	x0, x19
	bl	_sscanf
	cmp	w0, #2
	b.ne	LBB0_104
LBB0_102:
	ldr	w3, [sp, #92]
	cbz	w3, LBB0_106
; %bb.103:
	ldr	w4, [sp, #84]
	ldr	w5, [sp, #76]
	b	LBB0_110
LBB0_104:
Lloh80:
	adrp	x0, l_.str.29@PAGE
Lloh81:
	add	x0, x0, l_.str.29@PAGEOFF
	bl	_warnx
LBB0_105:
	mov	w0, #0
	b	LBB0_14
LBB0_106:
Lloh82:
	adrp	x8, _msf@GOTPAGE
Lloh83:
	ldr	x8, [x8, _msf@GOTPAGEOFF]
Lloh84:
	ldr	x9, [x8]
Lloh85:
	adrp	x8, _toc_buffer@GOTPAGE
Lloh86:
	ldr	x8, [x8, _toc_buffer@GOTPAGEOFF]
Lloh87:
	ldr	x8, [x8]
	cbz	x9, LBB0_108
; %bb.107:
	add	x8, x8, x20, lsl #3
	ldrb	w3, [x8, #4]
	str	w3, [sp, #92]
	ldrb	w4, [x8, #5]
	str	w4, [sp, #84]
	ldrb	w5, [x8, #6]
	b	LBB0_109
LBB0_108:
	lsl	x9, x20, #3
	ldr	w0, [x8, x9]
	bl	_ntohl
	add	x1, sp, #75
	add	x2, sp, #74
	add	x3, sp, #73
	bl	_lba2msf
	ldrb	w3, [sp, #75]
	str	w3, [sp, #92]
	ldrb	w4, [sp, #74]
	str	w4, [sp, #84]
	ldrb	w5, [sp, #73]
LBB0_109:
	str	w5, [sp, #76]
LBB0_110:
	ldr	w0, [sp, #96]
	ldr	w1, [sp, #88]
	ldr	w2, [sp, #80]
	bl	_play_msf
	b	LBB0_14
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpAdd	Lloh36, Lloh37
	.loh AdrpAdd	Lloh38, Lloh39
	.loh AdrpAdd	Lloh40, Lloh41
	.loh AdrpLdrGot	Lloh44, Lloh45
	.loh AdrpLdrGot	Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpAdd	Lloh52, Lloh53
	.loh AdrpAdd	Lloh54, Lloh55
	.loh AdrpAdd	Lloh56, Lloh57
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpAdd	Lloh62, Lloh63
	.loh AdrpAdd	Lloh64, Lloh65
	.loh AdrpAdd	Lloh66, Lloh67
	.loh AdrpAdd	Lloh68, Lloh69
	.loh AdrpAdd	Lloh70, Lloh71
	.loh AdrpAdd	Lloh72, Lloh73
	.loh AdrpAdd	Lloh74, Lloh75
	.loh AdrpAdd	Lloh76, Lloh77
	.loh AdrpAdd	Lloh78, Lloh79
	.loh AdrpAdd	Lloh80, Lloh81
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpLdrGotLdr	Lloh82, Lloh83, Lloh84
	.cfi_endproc
                                        ; -- End function
	.comm	_fd,4,2                         ; @fd
	.comm	_CDIOREADTOCHEADER,4,2          ; @CDIOREADTOCHEADER
	.comm	_msf,8,3                        ; @msf
	.comm	_toc_buffer,8,3                 ; @toc_buffer
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"#%d%d"

l_.str.1:                               ; @.str.1
	.asciz	"#%d"

l_.str.2:                               ; @.str.2
	.asciz	"%d %d:%d.%d %d %d:%d.%d"

l_.str.3:                               ; @.str.3
	.asciz	"%d %d:%d %d %d:%d.%d"

l_.str.4:                               ; @.str.4
	.asciz	"%d %d:%d.%d %d %d:%d"

l_.str.5:                               ; @.str.5
	.asciz	"%d %d:%d.%d %d:%d.%d"

l_.str.6:                               ; @.str.6
	.asciz	"%d %d:%d.%d %d:%d"

l_.str.7:                               ; @.str.7
	.asciz	"%d %d:%d %d:%d.%d"

l_.str.8:                               ; @.str.8
	.asciz	"%d %d:%d.%d %d %d"

l_.str.9:                               ; @.str.9
	.asciz	"%d %d:%d %d:%d"

l_.str.10:                              ; @.str.10
	.asciz	"%d %d:%d %d %d"

l_.str.11:                              ; @.str.11
	.asciz	"%d %d:%d.%d %d"

l_.str.12:                              ; @.str.12
	.asciz	"%d %d:%d %d"

l_.str.13:                              ; @.str.13
	.asciz	"%d %d:%d.%d"

l_.str.14:                              ; @.str.14
	.asciz	"%d %d:%d"

l_.str.15:                              ; @.str.15
	.asciz	"Track %d is not that long.\n"

l_.str.17:                              ; @.str.17
	.asciz	"%d:%d.%d%d:%d.%d"

l_.str.18:                              ; @.str.18
	.asciz	"%d:%d.%d%d:%d"

l_.str.19:                              ; @.str.19
	.asciz	"%d:%d%d:%d.%d"

l_.str.20:                              ; @.str.20
	.asciz	"%d:%d.%d"

l_.str.21:                              ; @.str.21
	.asciz	"%d:%d%d:%d"

l_.str.22:                              ; @.str.22
	.asciz	"%d:%d"

l_.str.23:                              ; @.str.23
	.asciz	"%d.%d%d.%d"

l_.str.24:                              ; @.str.24
	.asciz	"%d.%d%d"

l_.str.25:                              ; @.str.25
	.asciz	"%d%d.%d"

l_.str.26:                              ; @.str.26
	.asciz	"%d.%d"

l_.str.27:                              ; @.str.27
	.asciz	"%d%d"

l_.str.28:                              ; @.str.28
	.asciz	"%d"

l_.str.29:                              ; @.str.29
	.asciz	"invalid command arguments"

l_str:                                  ; @str
	.asciz	"The playing time of the disc is not that long."

	.no_dead_strip	_play
.subsections_via_symbols
