	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function DmaSlow
_DmaSlow:                               ## @DmaSlow
	.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
	movl	%edi, %r14d
	movq	$0, -48(%rbp)
	movq	_Pico@GOTPCREL(%rip), %rsi
	movl	32(%rsi), %eax
	movq	%rax, -96(%rbp)                 ## 8-byte Spill
	movq	40(%rsi), %rax
	movzbl	15(%rax), %ecx
	movq	%rcx, -56(%rbp)                 ## 8-byte Spill
	movzbl	21(%rax), %ecx
	movzbl	22(%rax), %edx
	shlq	$9, %rdx
	leaq	(%rdx,%rcx,2), %rcx
	movzbl	23(%rax), %r12d
	movq	%r12, %r13
	shlq	$17, %r13
	movq	%rcx, -80(%rbp)                 ## 8-byte Spill
	orq	%rcx, %r13
	movq	_EL_VDPDMA@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r15d
	movl	48(%rsi), %ecx
	movl	%ecx, -68(%rbp)                 ## 4-byte Spill
	movb	$1, %cl
	testb	$8, 52(%rsi)
	jne	LBB0_2
## %bb.1:
	testb	$64, 1(%rax)
	sete	%cl
LBB0_2:
	movzbl	%cl, %eax
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	xorl	%eax, %eax
	callq	_SekCyclesDone
	movl	%eax, %r10d
	movq	_SekPc@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	leaq	L_.str(%rip), %rsi
	movl	%r15d, %edi
	movl	-68(%rbp), %edx                 ## 4-byte Reload
	movl	%r13d, %ecx
	movq	-96(%rbp), %r15                 ## 8-byte Reload
	movl	%r15d, %r8d
	movl	%r14d, %r9d
	xorl	%eax, %eax
	pushq	%rbx
	pushq	%r10
	pushq	-88(%rbp)                       ## 8-byte Folded Reload
	pushq	-56(%rbp)                       ## 8-byte Folded Reload
	callq	_elprintf
	addq	$32, %rsp
	movq	_Pico@GOTPCREL(%rip), %rbx
	addl	%r14d, 56(%rbx)
	xorl	%eax, %eax
	callq	_CheckDMA
	movl	%eax, %edi
	callq	_SekCyclesBurnRun
	movl	%r12d, %eax
	notl	%eax
	testb	$112, %al
	jne	LBB0_5
## %bb.3:
	movq	72(%rbx), %rbx
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	andl	$65534, %edi                    ## imm = 0xFFFE
	addq	%rbx, %rdi
	movq	%rdi, -48(%rbp)
	addq	$65536, %rbx                    ## imm = 0x10000
LBB0_4:
	movq	%rbx, -64(%rbp)
	jmp	LBB0_10
LBB0_5:
	movq	%r12, %rdx
	movq	%r13, %r12
	movq	_PicoAHW@GOTPCREL(%rip), %rax
	movq	_PAHW_MCD@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, (%rax)
	je	LBB0_8
## %bb.6:
	movq	%rdx, %rbx
	movq	_EL_VDPDMA@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_Pico_mcd@GOTPCREL(%rip), %r13
	movq	(%r13), %rax
	movq	(%rax), %rax
	movl	12(%rax), %edx
	leaq	L_.str.1(%rip), %rsi
	xorl	%eax, %eax
	callq	_elprintf
	movq	%r12, %rcx
	cmpl	$131071, %ecx                   ## imm = 0x1FFFF
	ja	LBB0_31
## %bb.7:
	movq	(%r13), %rax
	movq	32(%rax), %rbx
	addq	%rbx, %rcx
	movq	%rcx, -48(%rbp)
	addq	$131072, %rbx                   ## imm = 0x20000
	movq	%rbx, -64(%rbp)
	movq	%rcx, %rdi
	jmp	LBB0_10
LBB0_8:
	leaq	-48(%rbp), %rdx
	leaq	-64(%rbp), %rcx
	movq	%r12, %r13
	movl	%r13d, %edi
	movl	%r14d, %esi
	callq	_PicoDmaHook
	testq	%rax, %rax
	je	LBB0_41
## %bb.9:
	movq	-64(%rbp), %rbx
	movq	-48(%rbp), %rdi
LBB0_10:
	movq	-56(%rbp), %r13                 ## 8-byte Reload
LBB0_11:
	subq	%rdi, %rbx
	movslq	%r14d, %rax
	sarq	$3, %rbx
	cmpq	%rax, %rbx
	jge	LBB0_13
## %bb.12:
	movq	_EL_ANOMALY@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_EL_VDPDMA@GOTPCREL(%rip), %rax
	orl	(%rax), %edi
	leaq	L_.str.4(%rip), %rsi
	xorl	%eax, %eax
	callq	_elprintf
	movl	%ebx, %r14d
LBB0_13:
	movq	_Pico@GOTPCREL(%rip), %rbx
	movl	48(%rbx), %edx
	cmpq	$5, %rdx
	ja	LBB0_20
## %bb.14:
	leaq	LJTI0_0(%rip), %rax
	movslq	(%rax,%rdx,4), %rcx
	addq	%rax, %rcx
	jmpq	*%rcx
LBB0_15:
	movq	_EL_LOGMASK@GOTPCREL(%rip), %rax
	movq	_EL_VDPDMA@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	testl	%edi, (%rax)
	jne	LBB0_21
	jmp	LBB0_37
LBB0_16:
	movq	%rbx, %r12
	movq	8(%rbx), %rax
	cmpb	$2, %r13b
	jne	LBB0_34
## %bb.17:
	movl	%r15d, %ecx
	andl	$1, %ecx
	jne	LBB0_34
## %bb.18:
	leal	(%r15,%r14,2), %ebx
	cmpl	$65535, %ebx                    ## imm = 0xFFFF
	ja	LBB0_34
## %bb.19:
	andl	$-2, %r15d
	leaq	(%rax,%r15,4), %rdi
	movq	-48(%rbp), %rsi
	movl	%r14d, %edx
	callq	_memcpy16
	jmp	LBB0_36
LBB0_20:
	movq	_EL_VDPDMA@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
LBB0_21:
	movq	_EL_ANOMALY@GOTPCREL(%rip), %rax
	orl	(%rax), %edi
	leaq	L_.str.5(%rip), %rsi
                                        ## kill: def $edx killed $edx killed $rdx
	xorl	%eax, %eax
	callq	_elprintf
	jmp	LBB0_37
LBB0_22:
	movl	$1, 60(%rbx)
	movl	%r15d, %eax
	andl	$127, %eax
	testl	%r14d, %r14d
	je	LBB0_30
## %bb.23:
	movq	16(%rbx), %rcx
	decl	%r14d
	.p2align	4, 0x90
LBB0_24:                                ## =>This Inner Loop Header: Depth=1
	movq	-48(%rbp), %rdx
	leaq	8(%rdx), %rsi
	movq	%rsi, -48(%rbp)
	movq	(%rdx), %rdx
	movl	%eax, %esi
	shrl	%esi
	movq	%rdx, (%rcx,%rsi,8)
	addl	%r13d, %eax
	subl	$1, %r14d
	setb	%dl
	cmpl	$127, %eax
	ja	LBB0_30
## %bb.25:                              ##   in Loop: Header=BB0_24 Depth=1
	testb	%dl, %dl
	je	LBB0_24
	jmp	LBB0_30
LBB0_26:
	movl	%r15d, %eax
	andl	$127, %eax
	testl	%r14d, %r14d
	je	LBB0_30
## %bb.27:
	movq	24(%rbx), %rcx
	decl	%r14d
	.p2align	4, 0x90
LBB0_28:                                ## =>This Inner Loop Header: Depth=1
	movq	-48(%rbp), %rdx
	leaq	8(%rdx), %rsi
	movq	%rsi, -48(%rbp)
	movq	(%rdx), %rdx
	movl	%eax, %esi
	shrl	%esi
	movq	%rdx, (%rcx,%rsi,8)
	addl	%r13d, %eax
	subl	$1, %r14d
	setb	%dl
	cmpl	$127, %eax
	ja	LBB0_30
## %bb.29:                              ##   in Loop: Header=BB0_28 Depth=1
	testb	%dl, %dl
	je	LBB0_28
LBB0_30:
	andl	$65280, %r15d                   ## imm = 0xFF00
	orl	%eax, %r15d
	jmp	LBB0_37
LBB0_31:
	movl	%ebx, %eax
	andl	$126, %eax
	cmpl	$16, %eax
	movq	-80(%rbp), %rdx                 ## 8-byte Reload
	jne	LBB0_39
## %bb.32:
	leal	-2(%rcx), %edi
	movq	(%r13), %rax
	movq	(%rax), %rcx
	movl	12(%rcx), %ecx
	testb	$4, %cl
	jne	LBB0_43
## %bb.33:
	movq	24(%rax), %rbx
	andl	$262142, %edi                   ## imm = 0x3FFFE
	addq	%rbx, %rdi
	movq	%rdi, -48(%rbp)
	addq	$262144, %rbx                   ## imm = 0x40000
	jmp	LBB0_4
LBB0_34:
	movl	%r15d, %ebx
	testl	%r14d, %r14d
	je	LBB0_36
	.p2align	4, 0x90
LBB0_35:                                ## =>This Inner Loop Header: Depth=1
	movq	-48(%rbp), %rcx
	leaq	8(%rcx), %rdx
	movq	%rdx, -48(%rbp)
	movl	(%rcx), %ecx
	movl	%ecx, %edx
	shll	$8, %edx
	movl	%ecx, %esi
	shrl	$8, %esi
	orl	%edx, %esi
	testb	$1, %bl
	cmovel	%ecx, %esi
	movl	%ebx, %ecx
	shrl	%ecx
	movq	%rsi, (%rax,%rcx,8)
	addl	%r13d, %ebx
	decl	%r14d
	jne	LBB0_35
LBB0_36:
	movq	_PDRAW_DIRTY_SPRITES@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_rendstatus@GOTPCREL(%rip), %rcx
	orl	%eax, (%rcx)
	movl	%ebx, %r15d
	movq	%r12, %rbx
LBB0_37:
	movl	%r15d, 32(%rbx)
LBB0_38:
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_39:
	andl	$127, %ebx
	cmpl	$1, %ebx
	jne	LBB0_45
## %bb.40:
	movq	(%r13), %rax
	movq	(%rax), %rcx
	movq	8(%rax), %rax
	movl	12(%rcx), %ecx
	sarl	$6, %ecx
	movslq	%ecx, %rcx
	movq	(%rax,%rcx,8), %rbx
	movl	%edx, %eax
	leaq	(%rbx,%rax,4), %rdi
	movq	%rdi, -48(%rbp)
	addq	$524288, %rbx                   ## imm = 0x80000
	jmp	LBB0_4
LBB0_41:
	movq	%rbx, %rdx
	movl	(%rbx), %ebx
	cmpl	%ebx, %r13d
	jae	LBB0_46
## %bb.42:
	movq	64(%rdx), %rax
	movl	%r13d, %edi
	addq	%rax, %rdi
	movq	%rdi, -48(%rbp)
	addq	%rax, %rbx
	jmp	LBB0_4
LBB0_43:
	cmpl	$2228223, %edi                  ## imm = 0x21FFFF
	movq	-56(%rbp), %r13                 ## 8-byte Reload
	ja	LBB0_47
## %bb.44:
	andl	$1, %ecx
	movq	16(%rax), %rax
	movq	(%rax,%rcx,8), %rbx
	andl	$131070, %edi                   ## imm = 0x1FFFE
	addq	%rbx, %rdi
	movq	%rdi, -48(%rbp)
	addq	$131072, %rbx                   ## imm = 0x20000
	movq	%rbx, -64(%rbp)
	jmp	LBB0_11
LBB0_45:
	movq	_EL_ANOMALY@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_EL_VDPDMA@GOTPCREL(%rip), %rax
	orl	(%rax), %edi
	movq	_Pico@GOTPCREL(%rip), %rax
	movl	48(%rax), %edx
	leaq	L_.str.2(%rip), %rsi
                                        ## kill: def $ecx killed $ecx killed $rcx
	movl	%r15d, %r8d
	xorl	%eax, %eax
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_elprintf                       ## TAILCALL
LBB0_46:
	movq	_EL_ANOMALY@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_EL_VDPDMA@GOTPCREL(%rip), %rax
	orl	(%rax), %edi
	movl	48(%rdx), %edx
	leaq	L_.str.3(%rip), %rsi
	movl	%r13d, %ecx
	movl	%r15d, %r8d
	xorl	%eax, %eax
	callq	_elprintf
	jmp	LBB0_38
LBB0_47:
                                        ## kill: def $edi killed $edi killed $rdi
	movl	%r15d, %esi
	movl	%r14d, %edx
	movl	%r13d, %ecx
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_DmaSlowCell                    ## TAILCALL
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_15, LBB0_15-LJTI0_0
.set L0_0_set_16, LBB0_16-LJTI0_0
.set L0_0_set_20, LBB0_20-LJTI0_0
.set L0_0_set_22, LBB0_22-LJTI0_0
.set L0_0_set_26, LBB0_26-LJTI0_0
LJTI0_0:
	.long	L0_0_set_15
	.long	L0_0_set_16
	.long	L0_0_set_20
	.long	L0_0_set_22
	.long	L0_0_set_20
	.long	L0_0_set_26
	.end_data_region
                                        ## -- End function
	.comm	_Pico,80,3                      ## @Pico
	.comm	_EL_VDPDMA,4,2                  ## @EL_VDPDMA
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"DmaSlow[%i] %06x->%04x len %i inc=%i blank %i [%i] @ %06x"

	.comm	_SekPc,4,2                      ## @SekPc
	.comm	_PicoAHW,4,2                    ## @PicoAHW
	.comm	_PAHW_MCD,4,2                   ## @PAHW_MCD
L_.str.1:                               ## @.str.1
	.asciz	"DmaSlow CD, r3=%02x"

	.comm	_Pico_mcd,8,3                   ## @Pico_mcd
	.comm	_EL_ANOMALY,4,2                 ## @EL_ANOMALY
L_.str.2:                               ## @.str.2
	.asciz	"DmaSlow[%i] %06x->%04x: FIXME: unsupported src"

L_.str.3:                               ## @.str.3
	.asciz	"DmaSlow[%i] %06x->%04x: invalid src"

L_.str.4:                               ## @.str.4
	.asciz	"DmaSlow overflow"

	.comm	_PDRAW_DIRTY_SPRITES,4,2        ## @PDRAW_DIRTY_SPRITES
	.comm	_rendstatus,4,2                 ## @rendstatus
	.comm	_EL_LOGMASK,4,2                 ## @EL_LOGMASK
L_.str.5:                               ## @.str.5
	.asciz	"DMA with bad type %i"

	.no_dead_strip	_DmaSlow
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function DmaSlow
_DmaSlow:                               ; @DmaSlow
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #176
	.cfi_def_cfa_offset 176
	stp	x28, x27, [sp, #80]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #96]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #112]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #128]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #144]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #160]            ; 16-byte Folded Spill
	add	x29, sp, #160
	.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	x21, x0
	str	xzr, [sp, #72]
Lloh0:
	adrp	x10, _Pico@GOTPAGE
Lloh1:
	ldr	x10, [x10, _Pico@GOTPAGEOFF]
	ldr	w19, [x10, #32]
	ldr	x8, [x10, #40]
	ldrb	w20, [x8, #15]
	ldrb	w9, [x8, #21]
	lsl	x26, x9, #1
	ldrb	w9, [x8, #22]
	bfi	x26, x9, #9, #8
	ldrb	w27, [x8, #23]
	mov	x22, x26
	bfi	x22, x27, #17, #8
Lloh2:
	adrp	x24, _EL_VDPDMA@GOTPAGE
Lloh3:
	ldr	x24, [x24, _EL_VDPDMA@GOTPAGEOFF]
	ldr	w23, [x24]
	ldr	w28, [x10, #48]
	ldrb	w9, [x10, #52]
	tbnz	w9, #3, LBB0_2
; %bb.1:
	ldrb	w8, [x8, #1]
	tst	w8, #0x40
	cset	w25, eq
	b	LBB0_3
LBB0_2:
	mov	w25, #1
LBB0_3:
	bl	_SekCyclesDone
                                        ; kill: def $w0 killed $w0 def $x0
Lloh4:
	adrp	x8, _SekPc@GOTPAGE
Lloh5:
	ldr	x8, [x8, _SekPc@GOTPAGEOFF]
Lloh6:
	ldr	w8, [x8]
	stp	x0, x8, [sp, #48]
	mov	w8, w25
	stp	x20, x8, [sp, #32]
	mov	x8, x21
	mov	x9, x19
	stp	x9, x8, [sp, #16]
	mov	x8, x22
Lloh7:
	adrp	x1, l_.str@PAGE
Lloh8:
	add	x1, x1, l_.str@PAGEOFF
	stp	x28, x8, [sp]
	mov	x0, x23
	bl	_elprintf
Lloh9:
	adrp	x28, _Pico@GOTPAGE
Lloh10:
	ldr	x28, [x28, _Pico@GOTPAGEOFF]
	ldr	w8, [x28, #56]
	add	w8, w8, w21
	str	w8, [x28, #56]
	bl	_CheckDMA
	bl	_SekCyclesBurnRun
	mvn	w8, w27
	tst	w8, #0x70
	b.ne	LBB0_5
; %bb.4:
	ldr	x9, [x28, #72]
	and	x8, x26, #0xfffe
	add	x8, x9, x8
	str	x8, [sp, #72]
	add	x9, x9, #16, lsl #12            ; =65536
	b	LBB0_9
LBB0_5:
Lloh11:
	adrp	x8, _PicoAHW@GOTPAGE
Lloh12:
	ldr	x8, [x8, _PicoAHW@GOTPAGEOFF]
Lloh13:
	ldr	w8, [x8]
Lloh14:
	adrp	x9, _PAHW_MCD@GOTPAGE
Lloh15:
	ldr	x9, [x9, _PAHW_MCD@GOTPAGEOFF]
Lloh16:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_15
; %bb.6:
	ldr	w0, [x24]
Lloh17:
	adrp	x23, _Pico_mcd@GOTPAGE
Lloh18:
	ldr	x23, [x23, _Pico_mcd@GOTPAGEOFF]
	ldr	x8, [x23]
	ldr	x8, [x8]
	ldr	w8, [x8, #12]
	str	x8, [sp]
Lloh19:
	adrp	x1, l_.str.1@PAGE
Lloh20:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_elprintf
	lsr	w8, w22, #17
	cbnz	w8, LBB0_32
; %bb.7:
	ldr	x8, [x23]
	ldr	x9, [x8, #32]
	add	x8, x9, x22
LBB0_8:
	str	x8, [sp, #72]
	add	x9, x9, #32, lsl #12            ; =131072
LBB0_9:
	str	x9, [sp, #64]
LBB0_10:
	sxtw	x10, w21
	sub	x8, x9, x8
	cmp	x10, x8, asr #3
	b.le	LBB0_12
; %bb.11:
	lsr	x21, x8, #3
	ldr	w8, [x24]
Lloh21:
	adrp	x9, _EL_ANOMALY@GOTPAGE
Lloh22:
	ldr	x9, [x9, _EL_ANOMALY@GOTPAGEOFF]
Lloh23:
	ldr	w9, [x9]
	orr	w0, w9, w8
Lloh24:
	adrp	x1, l_.str.4@PAGE
Lloh25:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_elprintf
                                        ; kill: def $w21 killed $w21 killed $x21 def $x21
LBB0_12:
	ldr	w8, [x28, #48]
	cmp	w8, #5
	b.hi	LBB0_21
; %bb.13:
Lloh26:
	adrp	x9, lJTI0_0@PAGE
Lloh27:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_14
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_14:
Lloh28:
	adrp	x9, _EL_LOGMASK@GOTPAGE
Lloh29:
	ldr	x9, [x9, _EL_LOGMASK@GOTPAGEOFF]
Lloh30:
	ldr	w10, [x9]
	ldr	w9, [x24]
	tst	w9, w10
	b.ne	LBB0_22
	b	LBB0_38
LBB0_15:
	add	x2, sp, #72
	add	x3, sp, #64
	mov	x0, x22
	mov	x1, x21
	bl	_PicoDmaHook
	cbz	x0, LBB0_42
; %bb.16:
	ldp	x9, x8, [sp, #64]
	b	LBB0_10
LBB0_17:
	ldr	x8, [x28, #8]
	cmp	w20, #2
	b.ne	LBB0_35
; %bb.18:
	tbnz	w19, #0, LBB0_35
; %bb.19:
	add	w22, w19, w21, lsl #1
	lsr	w9, w22, #16
	cbnz	w9, LBB0_35
; %bb.20:
	lsl	x9, x19, #2
	and	x9, x9, #0x3fffffff8
	add	x0, x8, x9
	ldr	x1, [sp, #72]
	mov	x2, x21
	bl	_memcpy16
	mov	x19, x22
	b	LBB0_37
LBB0_21:
	ldr	w9, [x24]
LBB0_22:
Lloh31:
	adrp	x10, _EL_ANOMALY@GOTPAGE
Lloh32:
	ldr	x10, [x10, _EL_ANOMALY@GOTPAGEOFF]
Lloh33:
	ldr	w10, [x10]
	orr	w0, w10, w9
                                        ; kill: def $w8 killed $w8 killed $x8 def $x8
	str	x8, [sp]
Lloh34:
	adrp	x1, l_.str.5@PAGE
Lloh35:
	add	x1, x1, l_.str.5@PAGEOFF
	bl	_elprintf
	b	LBB0_38
LBB0_23:
	mov	w8, #1
	str	w8, [x28, #60]
	and	w8, w19, #0x7f
	cbz	w21, LBB0_31
; %bb.24:
	ldr	x9, [x28, #16]
	sub	w11, w21, #1
LBB0_25:                                ; =>This Inner Loop Header: Depth=1
	mov	x10, x11
	ldr	x11, [sp, #72]
	add	x12, x11, #8
	str	x12, [sp, #72]
	ldr	x11, [x11]
	lsr	w12, w8, #1
	str	x11, [x9, w12, uxtw #3]
	add	w8, w8, w20
	cmp	w8, #127
	b.hi	LBB0_31
; %bb.26:                               ;   in Loop: Header=BB0_25 Depth=1
	sub	w11, w10, #1
	cbnz	w10, LBB0_25
	b	LBB0_31
LBB0_27:
	and	w8, w19, #0x7f
	cbz	w21, LBB0_31
; %bb.28:
	ldr	x9, [x28, #24]
	sub	w11, w21, #1
LBB0_29:                                ; =>This Inner Loop Header: Depth=1
	mov	x10, x11
	ldr	x11, [sp, #72]
	add	x12, x11, #8
	str	x12, [sp, #72]
	ldr	x11, [x11]
	lsr	w12, w8, #1
	str	x11, [x9, w12, uxtw #3]
	add	w8, w8, w20
	cmp	w8, #127
	b.hi	LBB0_31
; %bb.30:                               ;   in Loop: Header=BB0_29 Depth=1
	sub	w11, w10, #1
	cbnz	w10, LBB0_29
LBB0_31:
	and	w9, w19, #0xff00
	orr	w19, w8, w9
	b	LBB0_38
LBB0_32:
	and	w8, w27, #0x7e
	cmp	w8, #16
	b.ne	LBB0_40
; %bb.33:
	sub	w0, w22, #2
	ldr	x8, [x23]
	ldr	x9, [x8]
	ldr	w9, [x9, #12]
	tbnz	w9, #2, LBB0_44
; %bb.34:
	ldr	x9, [x8, #24]
	and	w8, w0, #0x3fffe
	add	x8, x9, x8
	str	x8, [sp, #72]
	add	x9, x9, #64, lsl #12            ; =262144
	b	LBB0_9
LBB0_35:
	cbz	w21, LBB0_37
LBB0_36:                                ; =>This Inner Loop Header: Depth=1
	ldr	x9, [sp, #72]
	add	x10, x9, #8
	str	x10, [sp, #72]
	ldr	w9, [x9]
	lsl	w10, w9, #8
	orr	w10, w10, w9, lsr #8
	tst	w19, #0x1
	csel	w9, w9, w10, eq
	lsr	w10, w19, #1
	str	x9, [x8, w10, uxtw #3]
	add	w19, w19, w20
	subs	w21, w21, #1
	b.ne	LBB0_36
LBB0_37:
Lloh36:
	adrp	x8, _PDRAW_DIRTY_SPRITES@GOTPAGE
Lloh37:
	ldr	x8, [x8, _PDRAW_DIRTY_SPRITES@GOTPAGEOFF]
Lloh38:
	ldr	w8, [x8]
Lloh39:
	adrp	x9, _rendstatus@GOTPAGE
Lloh40:
	ldr	x9, [x9, _rendstatus@GOTPAGEOFF]
	ldr	w10, [x9]
	orr	w8, w10, w8
	str	w8, [x9]
LBB0_38:
	str	w19, [x28, #32]
LBB0_39:
	ldp	x29, x30, [sp, #160]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #144]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #128]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #112]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #96]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #80]             ; 16-byte Folded Reload
	add	sp, sp, #176
	ret
LBB0_40:
	and	w8, w27, #0x7f
	cmp	w8, #1
	b.ne	LBB0_46
; %bb.41:
	ldr	x8, [x23]
	ldp	x8, x9, [x8]
	ldr	w8, [x8, #12]
	asr	w8, w8, #6
	ldr	x9, [x9, w8, sxtw #3]
	add	x8, x9, w26, uxtw #2
	str	x8, [sp, #72]
	add	x9, x9, #128, lsl #12           ; =524288
	b	LBB0_9
LBB0_42:
	ldr	w9, [x28]
	cmp	w22, w9
	b.hs	LBB0_47
; %bb.43:
	ldr	x10, [x28, #64]
	add	x8, x10, w22, uxtw
	str	x8, [sp, #72]
	add	x9, x10, x9
	b	LBB0_9
LBB0_44:
	lsr	w10, w0, #17
	cmp	w10, #16
	b.hi	LBB0_48
; %bb.45:
	and	x9, x9, #0x1
	ldr	x8, [x8, #16]
	ldr	x9, [x8, x9, lsl #3]
	and	w8, w0, #0x1fffe
	add	x8, x9, x8
	b	LBB0_8
LBB0_46:
	ldr	w8, [x24]
Lloh41:
	adrp	x9, _EL_ANOMALY@GOTPAGE
Lloh42:
	ldr	x9, [x9, _EL_ANOMALY@GOTPAGEOFF]
Lloh43:
	ldr	w9, [x9]
	orr	w0, w9, w8
                                        ; kill: def $w19 killed $w19 killed $x19 def $x19
	ldr	w8, [x28, #48]
                                        ; kill: def $w22 killed $w22 killed $x22 def $x22
	stp	x22, x19, [sp, #8]
	str	x8, [sp]
Lloh44:
	adrp	x1, l_.str.2@PAGE
Lloh45:
	add	x1, x1, l_.str.2@PAGEOFF
	bl	_elprintf
	b	LBB0_39
LBB0_47:
	ldr	w8, [x24]
Lloh46:
	adrp	x9, _EL_ANOMALY@GOTPAGE
Lloh47:
	ldr	x9, [x9, _EL_ANOMALY@GOTPAGEOFF]
Lloh48:
	ldr	w9, [x9]
	orr	w0, w9, w8
                                        ; kill: def $w19 killed $w19 killed $x19 def $x19
	ldr	w8, [x28, #48]
                                        ; kill: def $w22 killed $w22 killed $x22 def $x22
	stp	x22, x19, [sp, #8]
	str	x8, [sp]
Lloh49:
	adrp	x1, l_.str.3@PAGE
Lloh50:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	_elprintf
	b	LBB0_39
LBB0_48:
	mov	x1, x19
	mov	x2, x21
	mov	x3, x20
	ldp	x29, x30, [sp, #160]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #144]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #128]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #112]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #96]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #80]             ; 16-byte Folded Reload
	add	sp, sp, #176
	b	_DmaSlowCell
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGot	Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpAdd	Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_14-LBB0_14)>>2
	.byte	(LBB0_17-LBB0_14)>>2
	.byte	(LBB0_21-LBB0_14)>>2
	.byte	(LBB0_23-LBB0_14)>>2
	.byte	(LBB0_21-LBB0_14)>>2
	.byte	(LBB0_27-LBB0_14)>>2
                                        ; -- End function
	.comm	_Pico,80,3                      ; @Pico
	.comm	_EL_VDPDMA,4,2                  ; @EL_VDPDMA
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"DmaSlow[%i] %06x->%04x len %i inc=%i blank %i [%i] @ %06x"

	.comm	_SekPc,4,2                      ; @SekPc
	.comm	_PicoAHW,4,2                    ; @PicoAHW
	.comm	_PAHW_MCD,4,2                   ; @PAHW_MCD
l_.str.1:                               ; @.str.1
	.asciz	"DmaSlow CD, r3=%02x"

	.comm	_Pico_mcd,8,3                   ; @Pico_mcd
	.comm	_EL_ANOMALY,4,2                 ; @EL_ANOMALY
l_.str.2:                               ; @.str.2
	.asciz	"DmaSlow[%i] %06x->%04x: FIXME: unsupported src"

l_.str.3:                               ; @.str.3
	.asciz	"DmaSlow[%i] %06x->%04x: invalid src"

l_.str.4:                               ; @.str.4
	.asciz	"DmaSlow overflow"

	.comm	_PDRAW_DIRTY_SPRITES,4,2        ; @PDRAW_DIRTY_SPRITES
	.comm	_rendstatus,4,2                 ; @rendstatus
	.comm	_EL_LOGMASK,4,2                 ; @EL_LOGMASK
l_.str.5:                               ; @.str.5
	.asciz	"DMA with bad type %i"

	.no_dead_strip	_DmaSlow
.subsections_via_symbols
