	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_AUDIO_Init                     ## -- Begin function AUDIO_Init
	.p2align	4, 0x90
_AUDIO_Init:                            ## @AUDIO_Init
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	___AIInitFlag@GOTPCREL(%rip), %r14
	cmpl	$0, (%r14)
	jne	LBB0_4
## %bb.1:
	movq	%rdi, %rbx
	movl	$31524, %edi                    ## imm = 0x7B24
	callq	_nanosecs_to_ticks
	movq	_bound_32KHz@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movl	$42024, %edi                    ## imm = 0xA428
	callq	_nanosecs_to_ticks
	movq	_bound_48KHz@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movl	$42000, %edi                    ## imm = 0xA410
	callq	_nanosecs_to_ticks
	movq	_min_wait@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movl	$63000, %edi                    ## imm = 0xF618
	callq	_nanosecs_to_ticks
	movq	_max_wait@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	movl	$3000, %edi                     ## imm = 0xBB8
	callq	_nanosecs_to_ticks
	movq	_buffer@GOTPCREL(%rip), %rcx
	movq	_AI_AIINTVLD@GOTPCREL(%rip), %rdx
	movq	_AI_AIINTMSK@GOTPCREL(%rip), %rsi
	movl	(%rsi), %esi
	orl	(%rdx), %esi
	movq	%rax, (%rcx)
	movq	_AI_PSTAT@GOTPCREL(%rip), %rax
	orl	(%rax), %esi
	notl	%esi
	movq	__aiReg@GOTPCREL(%rip), %r15
	movq	(%r15), %rax
	movq	_AI_CONTROL@GOTPCREL(%rip), %r12
	movq	(%r12), %rcx
	andl	%esi, (%rax,%rcx,4)
	movl	$0, 4(%rax)
	movl	$0, 12(%rax)
	movq	_AI_SCRESET@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edi
	orl	(%rax,%rcx,4), %edi
	movl	%edi, (%rax,%rcx,4)
	movl	$6, %esi
	movl	$1, %edx
	callq	__SHIFTR
	xorl	$1, %eax
	movq	_AI_SAMPLERATE_48KHZ@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_3
## %bb.2:
	movq	_AI_DMAFR@GOTPCREL(%rip), %r13
	movl	(%r13), %eax
	notl	%eax
	movq	(%r15), %rcx
	movq	(%r12), %rdx
	andl	%eax, (%rcx,%rdx,4)
	callq	__CPU_ISR_Disable
	xorl	%eax, %eax
	callq	___AISRCINIT
	movl	(%r13), %eax
	movq	(%r15), %rcx
	movq	(%r12), %rdx
	orl	%eax, (%rcx,%rdx,4)
	callq	__CPU_ISR_Restore
LBB0_3:
	movq	___AID_Callback@GOTPCREL(%rip), %rax
	movq	$0, (%rax)
	movq	___OldStack@GOTPCREL(%rip), %rax
	movq	$0, (%rax)
	movq	___CallbackStack@GOTPCREL(%rip), %rax
	movq	%rbx, (%rax)
	movq	_IRQ_DSP_AI@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	movq	___AIDHandler@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	xorl	%edx, %edx
	callq	_IRQ_Request
	movl	(%rbx), %edi
	callq	_IRQMASK
	movl	%eax, %edi
	callq	___UnmaskIrq
	movl	$1, (%r14)
LBB0_4:
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	___AIInitFlag,4,2               ## @__AIInitFlag
	.comm	_bound_32KHz,8,3                ## @bound_32KHz
	.comm	_bound_48KHz,8,3                ## @bound_48KHz
	.comm	_min_wait,8,3                   ## @min_wait
	.comm	_max_wait,8,3                   ## @max_wait
	.comm	_buffer,8,3                     ## @buffer
	.comm	_AI_AIINTVLD,4,2                ## @AI_AIINTVLD
	.comm	_AI_AIINTMSK,4,2                ## @AI_AIINTMSK
	.comm	_AI_PSTAT,4,2                   ## @AI_PSTAT
	.comm	__aiReg,8,3                     ## @_aiReg
	.comm	_AI_CONTROL,8,3                 ## @AI_CONTROL
	.comm	_AI_SCRESET,4,2                 ## @AI_SCRESET
	.comm	_AI_SAMPLERATE_48KHZ,4,2        ## @AI_SAMPLERATE_48KHZ
	.comm	_AI_DMAFR,4,2                   ## @AI_DMAFR
	.comm	___AID_Callback,8,3             ## @__AID_Callback
	.comm	___OldStack,8,3                 ## @__OldStack
	.comm	___CallbackStack,8,3            ## @__CallbackStack
	.comm	_IRQ_DSP_AI,4,2                 ## @IRQ_DSP_AI
	.comm	___AIDHandler,4,2               ## @__AIDHandler
	.comm	_IRQ_AI,4,2                     ## @IRQ_AI
	.comm	___AISHandler,4,2               ## @__AISHandler
	.comm	___AIS_Callback,8,3             ## @__AIS_Callback
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_AUDIO_Init                     ; -- Begin function AUDIO_Init
	.p2align	2
_AUDIO_Init:                            ; @AUDIO_Init
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
Lloh0:
	adrp	x20, ___AIInitFlag@GOTPAGE
Lloh1:
	ldr	x20, [x20, ___AIInitFlag@GOTPAGEOFF]
	ldr	w8, [x20]
	cbnz	w8, LBB0_4
; %bb.1:
	mov	x19, x0
	mov	w0, #31524
	bl	_nanosecs_to_ticks
Lloh2:
	adrp	x8, _bound_32KHz@GOTPAGE
Lloh3:
	ldr	x8, [x8, _bound_32KHz@GOTPAGEOFF]
Lloh4:
	str	x0, [x8]
	mov	w0, #42024
	bl	_nanosecs_to_ticks
Lloh5:
	adrp	x8, _bound_48KHz@GOTPAGE
Lloh6:
	ldr	x8, [x8, _bound_48KHz@GOTPAGEOFF]
Lloh7:
	str	x0, [x8]
	mov	w0, #42000
	bl	_nanosecs_to_ticks
Lloh8:
	adrp	x8, _min_wait@GOTPAGE
Lloh9:
	ldr	x8, [x8, _min_wait@GOTPAGEOFF]
Lloh10:
	str	x0, [x8]
	mov	w0, #63000
	bl	_nanosecs_to_ticks
Lloh11:
	adrp	x8, _max_wait@GOTPAGE
Lloh12:
	ldr	x8, [x8, _max_wait@GOTPAGEOFF]
Lloh13:
	str	x0, [x8]
	mov	w0, #3000
	bl	_nanosecs_to_ticks
Lloh14:
	adrp	x8, _buffer@GOTPAGE
Lloh15:
	ldr	x8, [x8, _buffer@GOTPAGEOFF]
Lloh16:
	str	x0, [x8]
Lloh17:
	adrp	x8, _AI_AIINTVLD@GOTPAGE
Lloh18:
	ldr	x8, [x8, _AI_AIINTVLD@GOTPAGEOFF]
Lloh19:
	ldr	w8, [x8]
Lloh20:
	adrp	x9, _AI_AIINTMSK@GOTPAGE
Lloh21:
	ldr	x9, [x9, _AI_AIINTMSK@GOTPAGEOFF]
Lloh22:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh23:
	adrp	x9, _AI_PSTAT@GOTPAGE
Lloh24:
	ldr	x9, [x9, _AI_PSTAT@GOTPAGEOFF]
Lloh25:
	ldr	w9, [x9]
	orr	w8, w8, w9
Lloh26:
	adrp	x22, __aiReg@GOTPAGE
Lloh27:
	ldr	x22, [x22, __aiReg@GOTPAGEOFF]
Lloh28:
	adrp	x23, _AI_CONTROL@GOTPAGE
Lloh29:
	ldr	x23, [x23, _AI_CONTROL@GOTPAGEOFF]
	ldr	x9, [x22]
	ldr	x10, [x23]
	lsl	x10, x10, #2
	ldr	w11, [x9, x10]
	bic	w8, w11, w8
	str	w8, [x9, x10]
	str	wzr, [x9, #4]
	str	wzr, [x9, #12]
	ldr	w8, [x9, x10]
Lloh30:
	adrp	x11, _AI_SCRESET@GOTPAGE
Lloh31:
	ldr	x11, [x11, _AI_SCRESET@GOTPAGEOFF]
Lloh32:
	ldr	w11, [x11]
	orr	w0, w11, w8
	str	w0, [x9, x10]
	mov	w21, #1
	mov	w1, #6
	mov	w2, #1
	bl	__SHIFTR
	eor	w8, w0, #0x1
Lloh33:
	adrp	x9, _AI_SAMPLERATE_48KHZ@GOTPAGE
Lloh34:
	ldr	x9, [x9, _AI_SAMPLERATE_48KHZ@GOTPAGEOFF]
Lloh35:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ne	LBB0_3
; %bb.2:
Lloh36:
	adrp	x24, _AI_DMAFR@GOTPAGE
Lloh37:
	ldr	x24, [x24, _AI_DMAFR@GOTPAGEOFF]
	ldr	w8, [x24]
	ldr	x9, [x22]
	ldr	x10, [x23]
	lsl	x10, x10, #2
	ldr	w11, [x9, x10]
	bic	w8, w11, w8
	str	w8, [x9, x10]
	bl	__CPU_ISR_Disable
	bl	___AISRCINIT
	ldr	w8, [x24]
	ldr	x9, [x22]
	ldr	x10, [x23]
	lsl	x10, x10, #2
	ldr	w11, [x9, x10]
	orr	w8, w11, w8
	str	w8, [x9, x10]
	bl	__CPU_ISR_Restore
LBB0_3:
Lloh38:
	adrp	x8, ___AID_Callback@GOTPAGE
Lloh39:
	ldr	x8, [x8, ___AID_Callback@GOTPAGEOFF]
Lloh40:
	str	xzr, [x8]
Lloh41:
	adrp	x8, ___OldStack@GOTPAGE
Lloh42:
	ldr	x8, [x8, ___OldStack@GOTPAGEOFF]
Lloh43:
	str	xzr, [x8]
Lloh44:
	adrp	x8, ___CallbackStack@GOTPAGE
Lloh45:
	ldr	x8, [x8, ___CallbackStack@GOTPAGEOFF]
Lloh46:
	str	x19, [x8]
Lloh47:
	adrp	x19, _IRQ_DSP_AI@GOTPAGE
Lloh48:
	ldr	x19, [x19, _IRQ_DSP_AI@GOTPAGEOFF]
	ldr	w0, [x19]
Lloh49:
	adrp	x8, ___AIDHandler@GOTPAGE
Lloh50:
	ldr	x8, [x8, ___AIDHandler@GOTPAGEOFF]
Lloh51:
	ldr	w1, [x8]
	mov	x2, #0
	bl	_IRQ_Request
	ldr	w0, [x19]
	bl	_IRQMASK
	bl	___UnmaskIrq
	str	w21, [x20]
LBB0_4:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGot	Lloh28, Lloh29
	.loh AdrpLdrGot	Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotStr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotStr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotStr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotStr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotStr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGot	Lloh47, Lloh48
	.loh AdrpLdrGotStr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGotStr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotStr	Lloh38, Lloh39, Lloh40
	.cfi_endproc
                                        ; -- End function
	.comm	___AIInitFlag,4,2               ; @__AIInitFlag
	.comm	_bound_32KHz,8,3                ; @bound_32KHz
	.comm	_bound_48KHz,8,3                ; @bound_48KHz
	.comm	_min_wait,8,3                   ; @min_wait
	.comm	_max_wait,8,3                   ; @max_wait
	.comm	_buffer,8,3                     ; @buffer
	.comm	_AI_AIINTVLD,4,2                ; @AI_AIINTVLD
	.comm	_AI_AIINTMSK,4,2                ; @AI_AIINTMSK
	.comm	_AI_PSTAT,4,2                   ; @AI_PSTAT
	.comm	__aiReg,8,3                     ; @_aiReg
	.comm	_AI_CONTROL,8,3                 ; @AI_CONTROL
	.comm	_AI_SCRESET,4,2                 ; @AI_SCRESET
	.comm	_AI_SAMPLERATE_48KHZ,4,2        ; @AI_SAMPLERATE_48KHZ
	.comm	_AI_DMAFR,4,2                   ; @AI_DMAFR
	.comm	___AID_Callback,8,3             ; @__AID_Callback
	.comm	___OldStack,8,3                 ; @__OldStack
	.comm	___CallbackStack,8,3            ; @__CallbackStack
	.comm	_IRQ_DSP_AI,4,2                 ; @IRQ_DSP_AI
	.comm	___AIDHandler,4,2               ; @__AIDHandler
	.comm	_IRQ_AI,4,2                     ; @IRQ_AI
	.comm	___AISHandler,4,2               ; @__AISHandler
	.comm	___AIS_Callback,8,3             ; @__AIS_Callback
.subsections_via_symbols
