	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function channel_trigger
_channel_trigger:                       ## @channel_trigger
	.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	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %rbx
	movl	112(%rdi), %eax
	testl	%eax, %eax
	jle	LBB0_8
## %bb.1:
	movq	96(%rbx), %rcx
	movq	(%rcx), %rcx
	cmpl	(%rcx), %eax
	jg	LBB0_8
## %bb.2:
	movq	16(%rcx), %rcx
	shlq	$4, %rax
	leaq	(%rcx,%rax), %rdx
	movq	%rdx, 136(%rbx)
	movl	116(%rbx), %edx
	xorl	%esi, %esi
	cmpl	$97, %edx
	cmovll	%edx, %esi
	movslq	%esi, %rdx
	movq	(%rcx,%rax), %rsi
	movq	8(%rcx,%rax), %rax
	movslq	(%rsi,%rdx,4), %rcx
	leaq	(%rcx,%rcx,4), %rcx
	movl	(%rax,%rcx,4), %edx
	movl	%edx, %esi
	andl	$63, %esi
	cmpl	$64, %edx
	movl	$64, %edx
	cmovll	%esi, %edx
	movl	%edx, (%rbx)
	movl	4(%rax,%rcx,4), %edx
	testl	%edx, %edx
	jle	LBB0_4
## %bb.3:
	decl	%edx
	movzbl	%dl, %edx
	movl	%edx, 4(%rbx)
LBB0_4:
	cmpl	$0, 8(%rbx)
	jle	LBB0_7
## %bb.5:
	cmpl	$2, 8(%rax,%rcx,4)
	jl	LBB0_7
## %bb.6:
	leaq	(%rax,%rcx,4), %rax
	movq	%rax, 104(%rbx)
LBB0_7:
	movabsq	$140737488355328, %rax          ## imm = 0x800000000000
	movq	%rax, 12(%rbx)
	xorps	%xmm0, %xmm0
	movups	%xmm0, 144(%rbx)
	movl	$1, 20(%rbx)
LBB0_8:
	movl	120(%rbx), %eax
	cmpl	$143, %eax
	je	LBB0_10
## %bb.9:
	cmpl	$9, %eax
	jne	LBB0_14
LBB0_10:
	movl	124(%rbx), %eax
	testl	%eax, %eax
	jle	LBB0_11
## %bb.12:
	movl	%eax, 24(%rbx)
	jmp	LBB0_13
LBB0_11:
	movl	24(%rbx), %eax
LBB0_13:
	shll	$8, %eax
	movl	%eax, 12(%rbx)
LBB0_14:
	movl	128(%rbx), %eax
	leal	-16(%rax), %ecx
	cmpl	$79, %ecx
	ja	LBB0_16
## %bb.15:
	cmpl	$80, %eax
	movl	$64, %edx
	cmovbl	%ecx, %edx
	movl	%edx, (%rbx)
LBB0_16:
	movl	%eax, %ecx
	andl	$240, %ecx
	addl	$-128, %ecx
	shrl	$4, %ecx
	cmpl	$7, %ecx
	ja	LBB0_28
## %bb.17:
	leaq	LJTI0_0(%rip), %rdx
	movslq	(%rdx,%rcx,4), %rcx
	addq	%rdx, %rcx
	jmpq	*%rcx
LBB0_18:
	andl	$15, %eax
	movl	(%rbx), %ecx
	subl	%eax, %ecx
	xorl	%eax, %eax
	testl	%ecx, %ecx
	cmovgl	%ecx, %eax
	movl	%eax, (%rbx)
	jmp	LBB0_28
LBB0_19:
	andl	$15, %eax
	addl	(%rbx), %eax
	cmpl	$64, %eax
	movl	$64, %ecx
	cmovll	%eax, %ecx
	movl	%ecx, (%rbx)
	jmp	LBB0_28
LBB0_20:
	andl	$15, %eax
	je	LBB0_28
## %bb.21:
	movl	%eax, 28(%rbx)
	jmp	LBB0_28
LBB0_22:
	andl	$15, %eax
	je	LBB0_24
## %bb.23:
	movl	%eax, 32(%rbx)
LBB0_24:
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_channel_vibrato
	jmp	LBB0_28
LBB0_25:
	andl	$15, %eax
	movl	%eax, %ecx
	shll	$4, %ecx
	orl	%eax, %ecx
	movl	%ecx, 4(%rbx)
	jmp	LBB0_28
LBB0_26:
	andl	$15, %eax
	je	LBB0_28
## %bb.27:
	movl	%eax, 36(%rbx)
LBB0_28:
	movl	116(%rbx), %eax
	testl	%eax, %eax
	jle	LBB0_51
## %bb.29:
	cmpl	$97, %eax
	jb	LBB0_31
## %bb.30:
	movl	$0, 20(%rbx)
	jmp	LBB0_51
LBB0_31:
	movl	120(%rbx), %ecx
	movl	128(%rbx), %edx
	notl	%edx
	movb	$1, %r14b
	testb	$-16, %dl
	jne	LBB0_32
LBB0_38:
	movq	104(%rbx), %rsi
	cmpl	$117, %ecx
	je	LBB0_41
## %bb.39:
	cmpl	$242, %ecx
	jne	LBB0_40
LBB0_41:
	movl	124(%rbx), %ecx
	shll	$4, %ecx
	movzbl	%cl, %edx
	addl	$-128, %edx
	jmp	LBB0_42
LBB0_32:
	cmpl	$134, %ecx
	jg	LBB0_35
## %bb.33:
	cmpl	$3, %ecx
	je	LBB0_38
## %bb.34:
	cmpl	$5, %ecx
	je	LBB0_38
	jmp	LBB0_37
LBB0_40:
	movl	12(%rsi), %edx
LBB0_42:
	addl	16(%rsi), %eax
	cmpl	$2, %eax
	movl	$1, %ecx
	cmovgel	%eax, %ecx
	cmpl	$120, %ecx
	movl	$120, %eax
	cmovbl	%ecx, %eax
	shll	$6, %eax
	sarl	%edx
	addl	%eax, %edx
	movq	96(%rbx), %rax
	movq	(%rax), %rax
	cmpq	$0, 8(%rax)
	je	LBB0_44
## %bb.43:
	movl	$7744, %eax                     ## imm = 0x1E40
	subl	%edx, %eax
	jmp	LBB0_45
LBB0_44:
	movq	_FP_SHIFT@GOTPCREL(%rip), %r15
	movb	(%r15), %cl
	shll	%cl, %edx
	movslq	%edx, %rax
	imulq	$-715827883, %rax, %rdi         ## imm = 0xD5555555
	movq	%rdi, %rax
	shrq	$63, %rax
	sarq	$39, %rdi
	addl	%eax, %edi
                                        ## kill: def $edi killed $edi killed $rdi
	callq	_exp_2
	imull	$29021, %eax, %eax              ## imm = 0x715D
	movb	(%r15), %cl
	sarl	%cl, %eax
LBB0_45:
	movl	%eax, 40(%rbx)
	testb	%r14b, %r14b
	jne	LBB0_51
## %bb.46:
	movl	%eax, 8(%rbx)
	movl	12(%rbx), %eax
	movl	48(%rbx), %ecx
	movl	%eax, 44(%rbx)
	movq	$0, 88(%rbx)
	cmpl	$3, %ecx
	jg	LBB0_48
## %bb.47:
	movq	$0, 80(%rbx)
LBB0_48:
	cmpl	$3, 52(%rbx)
	jg	LBB0_50
## %bb.49:
	movq	$0, 72(%rbx)
LBB0_50:
	xorps	%xmm0, %xmm0
	movups	%xmm0, 56(%rbx)
LBB0_51:
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_35:
	cmpl	$135, %ecx
	je	LBB0_38
## %bb.36:
	cmpl	$140, %ecx
	je	LBB0_38
LBB0_37:
	movq	136(%rbx), %rdx
	movq	(%rdx), %rsi
	movslq	(%rsi,%rax,4), %rsi
	leaq	(%rsi,%rsi,4), %rsi
	shlq	$2, %rsi
	addq	8(%rdx), %rsi
	movq	%rsi, 104(%rbx)
	xorl	%r14d, %r14d
	jmp	LBB0_38
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_18, LBB0_18-LJTI0_0
.set L0_0_set_19, LBB0_19-LJTI0_0
.set L0_0_set_20, LBB0_20-LJTI0_0
.set L0_0_set_22, LBB0_22-LJTI0_0
.set L0_0_set_25, LBB0_25-LJTI0_0
.set L0_0_set_28, LBB0_28-LJTI0_0
.set L0_0_set_26, LBB0_26-LJTI0_0
LJTI0_0:
	.long	L0_0_set_18
	.long	L0_0_set_19
	.long	L0_0_set_20
	.long	L0_0_set_22
	.long	L0_0_set_25
	.long	L0_0_set_28
	.long	L0_0_set_28
	.long	L0_0_set_26
	.end_data_region
                                        ## -- End function
	.comm	_FP_SHIFT,4,2                   ## @FP_SHIFT
	.no_dead_strip	_channel_trigger
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function channel_trigger
lCPI0_0:
	.long	0                               ; 0x0
	.long	32768                           ; 0x8000
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_channel_trigger:                       ; @channel_trigger
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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
	mov	x19, x0
	ldr	w8, [x0, #112]
	cmp	w8, #1
	b.lt	LBB0_8
; %bb.1:
	ldr	x9, [x19, #96]
	ldr	x9, [x9]
	ldr	w10, [x9]
	cmp	w8, w10
	b.gt	LBB0_8
; %bb.2:
	ldr	x9, [x9, #16]
	add	x8, x9, x8, lsl #4
	str	x8, [x19, #136]
	ldr	w9, [x19, #116]
	cmp	w9, #97
	csel	w10, w9, wzr, lt
	ldp	x11, x9, [x8]
	ldrsw	x10, [x11, w10, sxtw #2]
	mov	w8, #20
	madd	x8, x10, x8, x9
	ldp	w11, w12, [x8]
	and	w13, w11, #0x3f
	mov	w14, #64
	cmp	w11, #64
	csel	w11, w13, w14, lt
	str	w11, [x19]
	subs	w11, w12, #1
	b.lt	LBB0_4
; %bb.3:
	and	w11, w11, #0xff
	str	w11, [x19, #4]
LBB0_4:
	ldr	w11, [x19, #8]
	cmp	w11, #1
	b.lt	LBB0_7
; %bb.5:
	mov	w11, #20
	madd	x9, x10, x11, x9
	ldr	w9, [x9, #8]
	cmp	w9, #2
	b.lt	LBB0_7
; %bb.6:
	str	x8, [x19, #104]
LBB0_7:
	stp	xzr, xzr, [x19, #144]
Lloh0:
	adrp	x8, lCPI0_0@PAGE
Lloh1:
	ldr	d0, [x8, lCPI0_0@PAGEOFF]
	stur	d0, [x19, #12]
	mov	w8, #1
	str	w8, [x19, #20]
LBB0_8:
	ldr	w8, [x19, #120]
	cmp	w8, #143
	ccmp	w8, #9, #4, ne
	b.ne	LBB0_13
; %bb.9:
	ldr	w8, [x19, #124]
	cmp	w8, #0
	b.le	LBB0_11
; %bb.10:
	str	w8, [x19, #24]
	b	LBB0_12
LBB0_11:
	ldr	w8, [x19, #24]
LBB0_12:
	lsl	w8, w8, #8
	str	w8, [x19, #12]
LBB0_13:
	ldr	w8, [x19, #128]
	sub	w9, w8, #16
	cmp	w9, #79
	b.hi	LBB0_15
; %bb.14:
	mov	w10, #64
	cmp	w8, #80
	csel	w9, w9, w10, lo
	str	w9, [x19]
LBB0_15:
	and	w9, w8, #0xf0
	sub	w9, w9, #128
	lsr	w9, w9, #4
	cmp	w9, #7
	b.hi	LBB0_27
; %bb.16:
Lloh2:
	adrp	x10, lJTI0_0@PAGE
Lloh3:
	add	x10, x10, lJTI0_0@PAGEOFF
	adr	x11, LBB0_17
	ldrb	w12, [x10, x9]
	add	x11, x11, x12, lsl #2
	br	x11
LBB0_17:
	and	w8, w8, #0xf
	ldr	w9, [x19]
	sub	w8, w9, w8
	cmp	w8, #0
	csel	w8, w8, wzr, gt
	str	w8, [x19]
	b	LBB0_27
LBB0_18:
	and	w8, w8, #0xf
	ldr	w9, [x19]
	add	w8, w9, w8
	mov	w9, #64
	cmp	w8, #64
	csel	w8, w8, w9, lt
	str	w8, [x19]
	b	LBB0_27
LBB0_19:
	ands	w8, w8, #0xf
	b.eq	LBB0_27
; %bb.20:
	str	w8, [x19, #28]
	b	LBB0_27
LBB0_21:
	ands	w8, w8, #0xf
	b.eq	LBB0_23
; %bb.22:
	str	w8, [x19, #32]
LBB0_23:
	mov	x0, x19
	mov	w1, #0
	bl	_channel_vibrato
	b	LBB0_27
LBB0_24:
	and	w8, w8, #0xf
	bfi	w8, w8, #4, #4
	str	w8, [x19, #4]
	b	LBB0_27
LBB0_25:
	ands	w8, w8, #0xf
	b.eq	LBB0_27
; %bb.26:
	str	w8, [x19, #36]
LBB0_27:
	ldr	w8, [x19, #116]
	cmp	w8, #1
	b.lt	LBB0_46
; %bb.28:
	cmp	w8, #97
	b.lo	LBB0_30
; %bb.29:
	str	wzr, [x19, #20]
	b	LBB0_46
LBB0_30:
	ldr	w9, [x19, #128]
	mvn	w10, w9
	ldr	w9, [x19, #120]
	mov	w20, #1
	tst	w10, #0xf0
	b.ne	LBB0_34
LBB0_31:
	ldr	x10, [x19, #104]
	cmp	w9, #117
	b.eq	LBB0_33
; %bb.32:
	cmp	w9, #242
	b.ne	LBB0_37
LBB0_33:
	ldr	w9, [x19, #124]
	ubfiz	w9, w9, #4, #4
	sub	w9, w9, #128
	b	LBB0_38
LBB0_34:
	cmp	w9, #134
	b.gt	LBB0_47
; %bb.35:
	cmp	w9, #3
	b.eq	LBB0_31
; %bb.36:
	cmp	w9, #5
	b.eq	LBB0_31
	b	LBB0_49
LBB0_37:
	ldr	w9, [x10, #12]
LBB0_38:
	ldr	w10, [x10, #16]
	add	w8, w10, w8
	cmp	w8, #1
	csinc	w8, w8, wzr, gt
	mov	w10, #120
	cmp	w8, #120
	csel	w8, w8, w10, lo
	lsl	w8, w8, #6
	add	w8, w8, w9, asr #1
	ldr	x9, [x19, #96]
	ldr	x9, [x9]
	ldr	x9, [x9, #8]
	cbz	x9, LBB0_40
; %bb.39:
	mov	w9, #7744
	sub	w8, w9, w8
	str	w8, [x19, #40]
	tbz	w20, #0, LBB0_41
	b	LBB0_46
LBB0_40:
Lloh4:
	adrp	x21, _FP_SHIFT@GOTPAGE
Lloh5:
	ldr	x21, [x21, _FP_SHIFT@GOTPAGEOFF]
	ldr	w9, [x21]
	lsl	w8, w8, w9
	mov	w9, #21845
	movk	w9, #54613, lsl #16
	smull	x8, w8, w9
	lsr	x9, x8, #63
	asr	x8, x8, #39
	add	w0, w8, w9
	bl	_exp_2
	mov	w8, #29021
	mul	w8, w0, w8
	ldr	w9, [x21]
	asr	w8, w8, w9
	str	w8, [x19, #40]
	tbnz	w20, #0, LBB0_46
LBB0_41:
	str	w8, [x19, #8]
	ldr	w8, [x19, #12]
	str	w8, [x19, #44]
	str	xzr, [x19, #88]
	ldr	w8, [x19, #48]
	cmp	w8, #3
	b.gt	LBB0_43
; %bb.42:
	str	xzr, [x19, #80]
LBB0_43:
	ldr	w8, [x19, #52]
	cmp	w8, #3
	b.gt	LBB0_45
; %bb.44:
	str	xzr, [x19, #72]
LBB0_45:
	stp	xzr, xzr, [x19, #56]
LBB0_46:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
LBB0_47:
	cmp	w9, #135
	b.eq	LBB0_31
; %bb.48:
	cmp	w9, #140
	b.eq	LBB0_31
LBB0_49:
	mov	w20, #0
	ldr	x10, [x19, #136]
	ldp	x11, x10, [x10]
	ldrsw	x11, [x11, x8, lsl #2]
	mov	w12, #20
	madd	x10, x11, x12, x10
	str	x10, [x19, #104]
	b	LBB0_31
	.loh AdrpLdr	Lloh0, Lloh1
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh4, Lloh5
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_17-LBB0_17)>>2
	.byte	(LBB0_18-LBB0_17)>>2
	.byte	(LBB0_19-LBB0_17)>>2
	.byte	(LBB0_21-LBB0_17)>>2
	.byte	(LBB0_24-LBB0_17)>>2
	.byte	(LBB0_27-LBB0_17)>>2
	.byte	(LBB0_27-LBB0_17)>>2
	.byte	(LBB0_25-LBB0_17)>>2
                                        ; -- End function
	.comm	_FP_SHIFT,4,2                   ; @FP_SHIFT
	.no_dead_strip	_channel_trigger
.subsections_via_symbols
