	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_FLAC__format_cuesheet_is_legal ## -- Begin function FLAC__format_cuesheet_is_legal
	.p2align	4, 0x90
_FLAC__format_cuesheet_is_legal:        ## @FLAC__format_cuesheet_is_legal
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	testl	%esi, %esi
	je	LBB0_13
## %bb.1:
	movl	(%rdi), %eax
	cmpl	$88199, %eax                    ## imm = 0x15887
	jg	LBB0_4
## %bb.2:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.3:
	leaq	L_.str(%rip), %rax
	jmp	LBB0_26
LBB0_13:
	movl	4(%rdi), %r9d
	testl	%r9d, %r9d
	je	LBB0_8
LBB0_14:
	movq	8(%rdi), %r10
	leal	-1(%r9), %r8d
	xorl	%r11d, %r11d
LBB0_15:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_37 Depth 2
	movl	%r11d, %r11d
	leaq	(%r11,%r11,2), %rcx
	movl	(%r10,%rcx,8), %eax
	testl	%eax, %eax
	je	LBB0_16
## %bb.18:                              ##   in Loop: Header=BB0_15 Depth=1
	testl	%esi, %esi
	je	LBB0_28
## %bb.19:                              ##   in Loop: Header=BB0_15 Depth=1
	cmpl	$170, %eax
	je	LBB0_23
## %bb.20:                              ##   in Loop: Header=BB0_15 Depth=1
	decl	%eax
	cmpl	$99, %eax
	jae	LBB0_21
LBB0_23:                                ##   in Loop: Header=BB0_15 Depth=1
	imull	$146087323, 4(%r10,%rcx,8), %eax ## imm = 0x8B51D9B
	addl	$14608732, %eax                 ## imm = 0xDEE95C
	rorl	$2, %eax
	cmpl	$7304367, %eax                  ## imm = 0x6F74AF
	jae	LBB0_24
LBB0_28:                                ##   in Loop: Header=BB0_15 Depth=1
	movl	8(%r10,%rcx,8), %r14d
	cmpl	%r8d, %r11d
	jae	LBB0_35
## %bb.29:                              ##   in Loop: Header=BB0_15 Depth=1
	testq	%r14, %r14
	je	LBB0_30
## %bb.32:                              ##   in Loop: Header=BB0_15 Depth=1
	movq	16(%r10,%rcx,8), %rdi
	cmpl	$2, (%rdi)
	jl	LBB0_36
	jmp	LBB0_33
	.p2align	4, 0x90
LBB0_35:                                ##   in Loop: Header=BB0_15 Depth=1
	testq	%r14, %r14
	je	LBB0_46
LBB0_36:                                ##   in Loop: Header=BB0_15 Depth=1
	leaq	(%r10,%rcx,8), %rcx
	addq	$16, %rcx
	xorl	%edi, %edi
	jmp	LBB0_37
	.p2align	4, 0x90
LBB0_45:                                ##   in Loop: Header=BB0_37 Depth=2
	incq	%rdi
	cmpq	%rdi, %r14
	je	LBB0_46
LBB0_37:                                ##   Parent Loop BB0_15 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	testl	%esi, %esi
	je	LBB0_41
## %bb.38:                              ##   in Loop: Header=BB0_37 Depth=2
	movq	(%rcx), %rbx
	imull	$146087323, 4(%rbx,%rdi,8), %ebx ## imm = 0x8B51D9B
	addl	$14608732, %ebx                 ## imm = 0xDEE95C
	rorl	$2, %ebx
	cmpl	$7304367, %ebx                  ## imm = 0x6F74AF
	jae	LBB0_39
LBB0_41:                                ##   in Loop: Header=BB0_37 Depth=2
	testq	%rdi, %rdi
	je	LBB0_45
## %bb.42:                              ##   in Loop: Header=BB0_37 Depth=2
	movq	(%rcx), %rbx
	movl	-8(%rbx,%rdi,8), %eax
	incl	%eax
	cmpl	%eax, (%rbx,%rdi,8)
	je	LBB0_45
	jmp	LBB0_43
	.p2align	4, 0x90
LBB0_46:                                ##   in Loop: Header=BB0_15 Depth=1
	incl	%r11d
	movl	$1, %eax
	cmpl	%r9d, %r11d
	jne	LBB0_15
	jmp	LBB0_47
LBB0_4:
	imull	$146087323, %eax, %eax          ## imm = 0x8B51D9B
	rorl	$2, %eax
	cmpl	$7304367, %eax                  ## imm = 0x6F74AF
	jb	LBB0_7
## %bb.5:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.6:
	leaq	L_.str.1(%rip), %rax
	jmp	LBB0_26
LBB0_7:
	movslq	4(%rdi), %r9
	testq	%r9, %r9
	je	LBB0_8
## %bb.10:
	movq	8(%rdi), %rax
	leaq	(%r9,%r9,2), %rcx
	cmpl	$170, -24(%rax,%rcx,8)
	je	LBB0_14
## %bb.11:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.12:
	leaq	L_.str.3(%rip), %rax
	jmp	LBB0_26
LBB0_8:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.9:
	leaq	L_.str.2(%rip), %rax
	jmp	LBB0_26
LBB0_39:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.40:
	leaq	L_.str.10(%rip), %rax
	jmp	LBB0_26
LBB0_43:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.44:
	leaq	L_.str.11(%rip), %rax
LBB0_26:
	movq	%rax, (%rdx)
LBB0_27:
	xorl	%eax, %eax
LBB0_47:
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
LBB0_16:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.17:
	leaq	L_.str.4(%rip), %rax
	jmp	LBB0_26
LBB0_21:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.22:
	leaq	L_.str.5(%rip), %rax
	jmp	LBB0_26
LBB0_24:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.25:
	cmpl	%r8d, %r11d
	leaq	L_.str.6(%rip), %rcx
	leaq	L_.str.7(%rip), %rax
	cmoveq	%rcx, %rax
	jmp	LBB0_26
LBB0_30:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.31:
	leaq	L_.str.8(%rip), %rax
	jmp	LBB0_26
LBB0_33:
	testq	%rdx, %rdx
	je	LBB0_27
## %bb.34:
	leaq	L_.str.9(%rip), %rax
	jmp	LBB0_26
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"CD-DA cue sheet must have a lead-in length of at least 2 seconds"

L_.str.1:                               ## @.str.1
	.asciz	"CD-DA cue sheet lead-in length must be evenly divisible by 588 samples"

L_.str.2:                               ## @.str.2
	.asciz	"cue sheet must have at least one track (the lead-out)"

L_.str.3:                               ## @.str.3
	.asciz	"CD-DA cue sheet must have a lead-out track number 170 (0xAA)"

L_.str.4:                               ## @.str.4
	.asciz	"cue sheet may not have a track number 0"

L_.str.5:                               ## @.str.5
	.asciz	"CD-DA cue sheet track number must be 1-99 or 170"

L_.str.6:                               ## @.str.6
	.asciz	"CD-DA cue sheet lead-out offset must be evenly divisible by 588 samples"

L_.str.7:                               ## @.str.7
	.asciz	"CD-DA cue sheet track offset must be evenly divisible by 588 samples"

L_.str.8:                               ## @.str.8
	.asciz	"cue sheet track must have at least one index point"

L_.str.9:                               ## @.str.9
	.asciz	"cue sheet track's first index number must be 0 or 1"

L_.str.10:                              ## @.str.10
	.asciz	"CD-DA cue sheet track index offset must be evenly divisible by 588 samples"

L_.str.11:                              ## @.str.11
	.asciz	"cue sheet track index numbers must increase by 1"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_FLAC__format_cuesheet_is_legal ; -- Begin function FLAC__format_cuesheet_is_legal
	.p2align	2
_FLAC__format_cuesheet_is_legal:        ; @FLAC__format_cuesheet_is_legal
	.cfi_startproc
; %bb.0:
	cbz	w1, LBB0_4
; %bb.1:
	ldr	w8, [x0]
	mov	w9, #22663
	movk	w9, #1, lsl #16
	cmp	w8, w9
	b.gt	LBB0_22
; %bb.2:
	cbz	x2, LBB0_47
; %bb.3:
Lloh0:
	adrp	x8, l_.str@PAGE
Lloh1:
	add	x8, x8, l_.str@PAGEOFF
	b	LBB0_35
LBB0_4:
	ldr	w8, [x0, #4]
	cbz	w8, LBB0_29
LBB0_5:
	mov	w15, #0
	sub	w9, w8, #1
	ldr	x10, [x0, #8]
	mov	w11, #24
	mov	w12, #7579
	movk	w12, #2229, lsl #16
	mov	w13, #59740
	movk	w13, #222, lsl #16
	mov	w14, #29871
	movk	w14, #111, lsl #16
LBB0_6:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_17 Depth 2
	umull	x16, w15, w11
	ldr	w16, [x10, x16]
	cbz	w16, LBB0_37
; %bb.7:                                ;   in Loop: Header=BB0_6 Depth=1
	mov	w15, w15
	cbz	w1, LBB0_11
; %bb.8:                                ;   in Loop: Header=BB0_6 Depth=1
	cmp	w16, #170
	b.eq	LBB0_10
; %bb.9:                                ;   in Loop: Header=BB0_6 Depth=1
	sub	w16, w16, #1
	cmp	w16, #99
	b.hs	LBB0_39
LBB0_10:                                ;   in Loop: Header=BB0_6 Depth=1
	madd	x16, x15, x11, x10
	ldr	w16, [x16, #4]
	madd	w16, w16, w12, w13
	ror	w16, w16, #2
	cmp	w16, w14
	b.hs	LBB0_41
LBB0_11:                                ;   in Loop: Header=BB0_6 Depth=1
	madd	x16, x15, x11, x10
	ldr	w16, [x16, #8]
	cmp	w15, w9
	b.hs	LBB0_14
; %bb.12:                               ;   in Loop: Header=BB0_6 Depth=1
	cbz	w16, LBB0_43
; %bb.13:                               ;   in Loop: Header=BB0_6 Depth=1
	madd	x17, x15, x11, x10
	ldr	x17, [x17, #16]
	ldr	w17, [x17]
	cmp	w17, #2
	b.lt	LBB0_15
	b	LBB0_45
LBB0_14:                                ;   in Loop: Header=BB0_6 Depth=1
	cbz	w16, LBB0_21
LBB0_15:                                ;   in Loop: Header=BB0_6 Depth=1
	mov	x17, #0
	madd	x0, x15, x11, x10
	add	x0, x0, #16
	b	LBB0_17
LBB0_16:                                ;   in Loop: Header=BB0_17 Depth=2
	add	x17, x17, #8
	subs	x16, x16, #1
	b.eq	LBB0_21
LBB0_17:                                ;   Parent Loop BB0_6 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	cbz	w1, LBB0_19
; %bb.18:                               ;   in Loop: Header=BB0_17 Depth=2
	ldr	x3, [x0]
	add	x3, x3, x17
	ldr	w3, [x3, #4]
	madd	w3, w3, w12, w13
	ror	w3, w3, #2
	cmp	w3, w14
	b.hs	LBB0_31
LBB0_19:                                ;   in Loop: Header=BB0_17 Depth=2
	cbz	x17, LBB0_16
; %bb.20:                               ;   in Loop: Header=BB0_17 Depth=2
	ldr	x3, [x0]
	add	x3, x3, x17
	ldr	w4, [x3]
	ldur	w3, [x3, #-8]
	add	w3, w3, #1
	cmp	w4, w3
	b.eq	LBB0_16
	b	LBB0_33
LBB0_21:                                ;   in Loop: Header=BB0_6 Depth=1
	add	w15, w15, #1
	mov	w0, #1
	cmp	w15, w8
	b.ne	LBB0_6
	b	LBB0_36
LBB0_22:
	mov	w9, #7579
	movk	w9, #2229, lsl #16
	mul	w8, w8, w9
	ror	w8, w8, #2
	mov	w9, #29871
	movk	w9, #111, lsl #16
	cmp	w8, w9
	b.lo	LBB0_25
; %bb.23:
	cbz	x2, LBB0_47
; %bb.24:
Lloh2:
	adrp	x8, l_.str.1@PAGE
Lloh3:
	add	x8, x8, l_.str.1@PAGEOFF
	b	LBB0_35
LBB0_25:
	ldr	w8, [x0, #4]
	cbz	w8, LBB0_29
; %bb.26:
	ldr	x9, [x0, #8]
	sub	w10, w8, #1
	mov	w11, #24
	smull	x10, w10, w11
	ldr	w9, [x9, x10]
	cmp	w9, #170
	b.eq	LBB0_5
; %bb.27:
	cbz	x2, LBB0_47
; %bb.28:
Lloh4:
	adrp	x8, l_.str.3@PAGE
Lloh5:
	add	x8, x8, l_.str.3@PAGEOFF
	b	LBB0_35
LBB0_29:
	cbz	x2, LBB0_47
; %bb.30:
Lloh6:
	adrp	x8, l_.str.2@PAGE
Lloh7:
	add	x8, x8, l_.str.2@PAGEOFF
	b	LBB0_35
LBB0_31:
	cbz	x2, LBB0_47
; %bb.32:
Lloh8:
	adrp	x8, l_.str.10@PAGE
Lloh9:
	add	x8, x8, l_.str.10@PAGEOFF
	b	LBB0_35
LBB0_33:
	cbz	x2, LBB0_47
; %bb.34:
Lloh10:
	adrp	x8, l_.str.11@PAGE
Lloh11:
	add	x8, x8, l_.str.11@PAGEOFF
LBB0_35:
	mov	w0, #0
	str	x8, [x2]
LBB0_36:
	ret
LBB0_37:
	cbz	x2, LBB0_47
; %bb.38:
Lloh12:
	adrp	x8, l_.str.4@PAGE
Lloh13:
	add	x8, x8, l_.str.4@PAGEOFF
	b	LBB0_35
LBB0_39:
	cbz	x2, LBB0_47
; %bb.40:
Lloh14:
	adrp	x8, l_.str.5@PAGE
Lloh15:
	add	x8, x8, l_.str.5@PAGEOFF
	b	LBB0_35
LBB0_41:
	cbz	x2, LBB0_47
; %bb.42:
Lloh16:
	adrp	x8, l_.str.7@PAGE
Lloh17:
	add	x8, x8, l_.str.7@PAGEOFF
Lloh18:
	adrp	x10, l_.str.6@PAGE
Lloh19:
	add	x10, x10, l_.str.6@PAGEOFF
	cmp	w15, w9
	csel	x8, x10, x8, eq
	b	LBB0_35
LBB0_43:
	cbz	x2, LBB0_47
; %bb.44:
Lloh20:
	adrp	x8, l_.str.8@PAGE
Lloh21:
	add	x8, x8, l_.str.8@PAGEOFF
	b	LBB0_35
LBB0_45:
	cbz	x2, LBB0_47
; %bb.46:
Lloh22:
	adrp	x8, l_.str.9@PAGE
Lloh23:
	add	x8, x8, l_.str.9@PAGEOFF
	b	LBB0_35
LBB0_47:
	mov	w0, #0
	ret
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpAdd	Lloh4, Lloh5
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpAdd	Lloh10, Lloh11
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpAdd	Lloh22, Lloh23
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"CD-DA cue sheet must have a lead-in length of at least 2 seconds"

l_.str.1:                               ; @.str.1
	.asciz	"CD-DA cue sheet lead-in length must be evenly divisible by 588 samples"

l_.str.2:                               ; @.str.2
	.asciz	"cue sheet must have at least one track (the lead-out)"

l_.str.3:                               ; @.str.3
	.asciz	"CD-DA cue sheet must have a lead-out track number 170 (0xAA)"

l_.str.4:                               ; @.str.4
	.asciz	"cue sheet may not have a track number 0"

l_.str.5:                               ; @.str.5
	.asciz	"CD-DA cue sheet track number must be 1-99 or 170"

l_.str.6:                               ; @.str.6
	.asciz	"CD-DA cue sheet lead-out offset must be evenly divisible by 588 samples"

l_.str.7:                               ; @.str.7
	.asciz	"CD-DA cue sheet track offset must be evenly divisible by 588 samples"

l_.str.8:                               ; @.str.8
	.asciz	"cue sheet track must have at least one index point"

l_.str.9:                               ; @.str.9
	.asciz	"cue sheet track's first index number must be 0 or 1"

l_.str.10:                              ; @.str.10
	.asciz	"CD-DA cue sheet track index offset must be evenly divisible by 588 samples"

l_.str.11:                              ; @.str.11
	.asciz	"cue sheet track index numbers must increase by 1"

.subsections_via_symbols
