	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function parse_carthw
_parse_carthw:                          ## @parse_carthw
	.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	$328, %rsp                      ## imm = 0x148
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, -368(%rbp)                ## 8-byte Spill
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	_builtin_carthw_cfg@GOTPCREL(%rip), %rax
	movq	(%rax), %r15
	leaq	L_.str(%rip), %rsi
	callq	_fopen
	movq	%rax, %rcx
	movq	%rax, -360(%rbp)                ## 8-byte Spill
	testq	%rax, %rax
	jne	LBB0_1
## %bb.2:
	leaq	L_.str.1(%rip), %rdi
	leaq	L_.str(%rip), %rsi
	callq	_fopen
	movq	%rax, %rcx
	movq	%rax, -360(%rbp)                ## 8-byte Spill
	testq	%rax, %rax
	je	LBB0_4
LBB0_1:
	movl	$0, -332(%rbp)                  ## 4-byte Folded Spill
LBB0_5:
	movl	$0, -348(%rbp)                  ## 4-byte Folded Spill
	xorl	%ebx, %ebx
	xorl	%r12d, %r12d
	movl	$0, -316(%rbp)                  ## 4-byte Folded Spill
	jmp	LBB0_8
LBB0_6:                                 ##   in Loop: Header=BB0_8 Depth=1
	movq	_EL_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.4(%rip), %rsi
	movl	-316(%rbp), %edx                ## 4-byte Reload
	movl	%r14d, %ecx
	xorl	%eax, %eax
	callq	_elprintf
LBB0_7:                                 ##   in Loop: Header=BB0_8 Depth=1
	movq	_EL_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.32(%rip), %rsi
	movl	-316(%rbp), %edx                ## 4-byte Reload
	leaq	-304(%rbp), %rcx
	xorl	%eax, %eax
	callq	_elprintf
	movl	$1, %ebx
	movl	%r13d, %r12d
	.p2align	4, 0x90
LBB0_8:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_11 Depth 2
                                        ##     Child Loop BB0_15 Depth 2
	movl	%r12d, %r13d
	movl	%ebx, %r14d
	cmpb	$0, -332(%rbp)                  ## 1-byte Folded Reload
	je	LBB0_13
## %bb.9:                               ##   in Loop: Header=BB0_8 Depth=1
	movb	(%r15), %al
	testb	%al, %al
	je	LBB0_108
## %bb.10:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	%r15, %rbx
	testb	%al, %al
	je	LBB0_16
	.p2align	4, 0x90
LBB0_11:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	cmpb	$10, %al
	je	LBB0_14
## %bb.12:                              ##   in Loop: Header=BB0_11 Depth=2
	movzbl	1(%rbx), %eax
	incq	%rbx
	testb	%al, %al
	jne	LBB0_11
	jmp	LBB0_16
	.p2align	4, 0x90
LBB0_13:                                ##   in Loop: Header=BB0_8 Depth=1
	leaq	-304(%rbp), %rdi
	movl	$256, %esi                      ## imm = 0x100
	movq	-360(%rbp), %rdx                ## 8-byte Reload
	callq	_fgets
	movq	%rax, -312(%rbp)
	testq	%rax, %rax
	jne	LBB0_17
	jmp	LBB0_107
	.p2align	4, 0x90
LBB0_14:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	%rbx, %rax
	.p2align	4, 0x90
LBB0_15:                                ##   Parent Loop BB0_8 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	leaq	1(%rax), %rbx
	cmpb	$10, 1(%rax)
	movq	%rbx, %rax
	je	LBB0_15
LBB0_16:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	%rbx, %r12
	subq	%r15, %r12
	testl	$-256, %r12d
	movl	$255, %eax
	cmovnel	%eax, %r12d
	movq	%r15, %rsi
	leaq	-304(%rbp), %r15
	movq	%r15, %rdi
	movl	%r12d, %edx
	callq	_memcpy
	movslq	%r12d, %rax
	movb	$0, -304(%rbp,%rax)
	movq	%r15, -312(%rbp)
	movq	%r15, %rax
	movq	%rbx, %r15
LBB0_17:                                ##   in Loop: Header=BB0_8 Depth=1
	incl	-316(%rbp)                      ## 4-byte Folded Spill
	movq	%rax, %rdi
	callq	_sskip
	movq	%rax, -312(%rbp)
	movb	(%rax), %al
	movl	%r14d, %ebx
	movl	%r13d, %r12d
	testb	%al, %al
	je	LBB0_8
## %bb.18:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	$0, %ebx
	movl	$0, %r12d
	cmpb	$91, %al
	je	LBB0_8
## %bb.19:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	%r14d, %ebx
	movl	%r13d, %r12d
	cmpb	$35, %al
	je	LBB0_8
## %bb.20:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	$1, %ebx
	movl	%r13d, %r12d
	testl	%r14d, %r14d
	jne	LBB0_8
## %bb.21:                              ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.3(%rip), %rdi
	leaq	-312(%rbp), %r14
	movq	%r14, %rsi
	callq	_is_expr
	testl	%eax, %eax
	je	LBB0_28
## %bb.22:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	-328(%rbp), %rsi
	xorl	%edx, %edx
	callq	_strtoul
	movq	%rax, %r14
	testl	%r14d, %r14d
	js	LBB0_6
## %bb.23:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	_Pico@GOTPCREL(%rip), %rax
	cmpl	%r14d, (%rax)
	jl	LBB0_6
## %bb.24:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-328(%rbp), %rdi
	callq	_sskip
	movq	%rax, -312(%rbp)
	cmpb	$44, (%rax)
	jne	LBB0_7
## %bb.25:                              ##   in Loop: Header=BB0_8 Depth=1
	incq	%rax
	movq	%rax, %rdi
	callq	_sskip
	movq	%rax, -312(%rbp)
	cmpb	$34, (%rax)
	jne	LBB0_7
## %bb.26:                              ##   in Loop: Header=BB0_8 Depth=1
	incq	%rax
	movq	%rax, -312(%rbp)
	movq	%rax, %rdi
	movl	$34, %esi
	callq	_strchr
	movq	%rax, -328(%rbp)
	testq	%rax, %rax
	je	LBB0_7
## %bb.27:                              ##   in Loop: Header=BB0_8 Depth=1
	movb	$0, (%rax)
	movq	-312(%rbp), %rsi
	movl	%r14d, %edi
	callq	_rom_strcmp
	xorl	%ebx, %ebx
	testq	%rax, %rax
	jmp	LBB0_41
LBB0_28:                                ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.5(%rip), %rdi
	movq	%r14, %rsi
	callq	_is_expr
	testl	%eax, %eax
	je	LBB0_31
## %bb.29:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	-328(%rbp), %rsi
	xorl	%edx, %edx
	callq	_strtoul
	movq	-328(%rbp), %rdx
	xorl	%ebx, %ebx
	movq	_Pico@GOTPCREL(%rip), %rcx
	cmpl	%eax, (%rcx)
	setle	%cl
	movl	%r13d, %r12d
	movl	$1, %esi
	cmovgl	%esi, %r12d
	cmpq	-312(%rbp), %rdx
	je	LBB0_7
## %bb.30:                              ##   in Loop: Header=BB0_8 Depth=1
	movb	%cl, %bl
	testl	%eax, %eax
	jns	LBB0_8
	jmp	LBB0_7
LBB0_31:                                ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.6(%rip), %rdi
	movq	%r14, %rsi
	callq	_is_expr
	testl	%eax, %eax
	je	LBB0_35
## %bb.32:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	-328(%rbp), %rsi
	xorl	%edx, %edx
	callq	_strtoul
	movq	%rax, %r14
	movq	-328(%rbp), %rax
	cmpq	-312(%rbp), %rax
	je	LBB0_7
## %bb.33:                              ##   in Loop: Header=BB0_8 Depth=1
	cmpl	$65535, %r14d                   ## imm = 0xFFFF
	ja	LBB0_7
## %bb.34:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	$396, %edi                      ## imm = 0x18C
	callq	_rom_read32
	movzwl	%ax, %eax
	xorl	%ebx, %ebx
	jmp	LBB0_40
LBB0_35:                                ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.7(%rip), %rdi
	movq	%r14, %rsi
	callq	_is_expr
	testl	%eax, %eax
	je	LBB0_42
## %bb.36:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	-328(%rbp), %rsi
	xorl	%edx, %edx
	callq	_strtoul
	movq	%rax, %r14
	movq	-328(%rbp), %rax
	cmpq	-312(%rbp), %rax
	je	LBB0_7
## %bb.37:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	-348(%rbp), %eax                ## 4-byte Reload
	testl	%eax, %eax
	jne	LBB0_39
## %bb.38:                              ##   in Loop: Header=BB0_8 Depth=1
	xorl	%eax, %eax
	callq	_rom_crc32
LBB0_39:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	movl	%eax, -348(%rbp)                ## 4-byte Spill
LBB0_40:                                ##   in Loop: Header=BB0_8 Depth=1
	cmpl	%r14d, %eax
LBB0_41:                                ##   in Loop: Header=BB0_8 Depth=1
	setne	%bl
	movl	$1, %eax
	cmovel	%eax, %r13d
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_42:                                ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.8(%rip), %rdi
	movq	%r14, %rsi
	callq	_is_expr
	testl	%eax, %eax
	je	LBB0_54
## %bb.43:                              ##   in Loop: Header=BB0_8 Depth=1
	testl	%r13d, %r13d
	je	LBB0_103
## %bb.44:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	callq	_rstrip
	movq	-312(%rbp), %rdi
	leaq	L_.str.9(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_62
## %bb.45:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.10(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_71
## %bb.46:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.11(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_72
## %bb.47:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.12(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_79
## %bb.48:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.13(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_80
## %bb.49:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.14(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_92
## %bb.50:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.15(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_96
## %bb.51:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.16(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_104
## %bb.52:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.17(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_106
## %bb.53:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	_EL_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	-312(%rbp), %rcx
	leaq	L_.str.18(%rip), %rsi
	jmp	LBB0_70
LBB0_54:                                ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.19(%rip), %rdi
	movq	%r14, %rsi
	callq	_is_expr
	testl	%eax, %eax
	je	LBB0_63
## %bb.55:                              ##   in Loop: Header=BB0_8 Depth=1
	testl	%r13d, %r13d
	je	LBB0_103
## %bb.56:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	callq	_rstrip
	movq	-312(%rbp), %rdi
	leaq	-328(%rbp), %rsi
	xorl	%edx, %edx
	callq	_strtoul
	movq	-328(%rbp), %rdi
	cmpq	-312(%rbp), %rdi
	je	LBB0_7
## %bb.57:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	%rax, %r14
	callq	_sskip
	movq	%rax, -312(%rbp)
	cmpb	$44, (%rax)
	jne	LBB0_7
## %bb.58:                              ##   in Loop: Header=BB0_8 Depth=1
	incq	%rax
	movq	%rax, %rdi
	callq	_sskip
	movq	%rax, -312(%rbp)
	movq	%rax, %rdi
	leaq	-328(%rbp), %rsi
	xorl	%edx, %edx
	callq	_strtoul
	movq	-328(%rbp), %rcx
	cmpq	-312(%rbp), %rcx
	je	LBB0_7
## %bb.59:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	%eax, %ecx
	orl	%r14d, %ecx
	shrq	$24, %rcx
	testb	%cl, %cl
	jne	LBB0_91
## %bb.60:                              ##   in Loop: Header=BB0_8 Depth=1
	cmpl	%eax, %r14d
	jg	LBB0_91
## %bb.61:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	_SRam@GOTPCREL(%rip), %rcx
	movl	%r14d, (%rcx)
	movl	%eax, 4(%rcx)
	jmp	LBB0_78
LBB0_62:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_PicoSVPStartup
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_63:                                ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.21(%rip), %rdi
	movq	%r14, %rsi
	callq	_is_expr
	testl	%eax, %eax
	je	LBB0_73
## %bb.64:                              ##   in Loop: Header=BB0_8 Depth=1
	testl	%r13d, %r13d
	je	LBB0_103
## %bb.65:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	callq	_rstrip
	movq	-312(%rbp), %rdi
	leaq	L_.str.22(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_81
## %bb.66:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.23(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_93
## %bb.67:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.24(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_97
## %bb.68:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	leaq	L_.str.25(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_105
## %bb.69:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	_EL_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	-312(%rbp), %rcx
	leaq	L_.str.26(%rip), %rsi
LBB0_70:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	-316(%rbp), %edx                ## 4-byte Reload
	xorl	%eax, %eax
	callq	_elprintf
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_71:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_PicoInitPico
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_72:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_carthw_sprot_startup
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_73:                                ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.28(%rip), %rdi
	movq	%r14, %rsi
	callq	_is_expr
	testl	%eax, %eax
	je	LBB0_82
## %bb.74:                              ##   in Loop: Header=BB0_8 Depth=1
	testl	%r13d, %r13d
	je	LBB0_103
## %bb.75:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	callq	_rstrip
	movq	-312(%rbp), %rdi
	leaq	-328(%rbp), %rsi
	xorl	%edx, %edx
	callq	_strtoul
	movq	-328(%rbp), %rcx
	cmpq	-312(%rbp), %rcx
	je	LBB0_7
## %bb.76:                              ##   in Loop: Header=BB0_8 Depth=1
	testl	%eax, %eax
	js	LBB0_7
## %bb.77:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	_SRam@GOTPCREL(%rip), %rcx
	movl	%eax, 8(%rcx)
	movq	_SRF_EEPROM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, 24(%rcx)
LBB0_78:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_79:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_carthw_ssf2_startup
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_80:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_carthw_Xin1_startup
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_81:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_SRF_ENABLED@GOTPCREL(%rip), %rax
	jmp	LBB0_94
LBB0_82:                                ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.29(%rip), %rdi
	movq	%r14, %rsi
	callq	_is_expr
	testl	%eax, %eax
	je	LBB0_98
## %bb.83:                              ##   in Loop: Header=BB0_8 Depth=1
	testl	%r13d, %r13d
	je	LBB0_103
## %bb.84:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	callq	_rstrip
	movq	-312(%rbp), %rdi
	leaq	-344(%rbp), %rsi
	leaq	-340(%rbp), %rdx
	leaq	-336(%rbp), %rcx
	callq	_parse_3_vals
	testl	%eax, %eax
	je	LBB0_7
## %bb.85:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	-344(%rbp), %eax
	cmpl	$15, %eax
	ja	LBB0_7
## %bb.86:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	-340(%rbp), %ecx
	testl	%ecx, %ecx
	js	LBB0_7
## %bb.87:                              ##   in Loop: Header=BB0_8 Depth=1
	cmpl	$15, %ecx
	jg	LBB0_7
## %bb.88:                              ##   in Loop: Header=BB0_8 Depth=1
	movl	-336(%rbp), %edx
	testl	%edx, %edx
	js	LBB0_7
## %bb.89:                              ##   in Loop: Header=BB0_8 Depth=1
	cmpl	$16, %edx
	jge	LBB0_7
## %bb.90:                              ##   in Loop: Header=BB0_8 Depth=1
	movq	_SRam@GOTPCREL(%rip), %rsi
	movl	%eax, 12(%rsi)
	movl	%ecx, 16(%rsi)
	movl	%edx, 20(%rsi)
	jmp	LBB0_78
LBB0_91:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_EL_STATUS@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	leaq	L_.str.20(%rip), %rsi
	movl	-316(%rbp), %edx                ## 4-byte Reload
	movl	%r14d, %ecx
	movl	%eax, %r8d
	xorl	%eax, %eax
	callq	_elprintf
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_92:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_carthw_realtec_startup
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_93:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_SRF_EEPROM@GOTPCREL(%rip), %rax
LBB0_94:                                ##   in Loop: Header=BB0_8 Depth=1
	movl	(%rax), %eax
	notl	%eax
	movq	_SRam@GOTPCREL(%rip), %rcx
	andl	%eax, 24(%rcx)
LBB0_95:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	_EL_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	-312(%rbp), %rdx
	xorl	%ebx, %ebx
	leaq	L_.str.27(%rip), %rsi
	xorl	%eax, %eax
	callq	_elprintf
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_96:                                ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_carthw_radica_startup
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_97:                                ##   in Loop: Header=BB0_8 Depth=1
	movq	-368(%rbp), %rax                ## 8-byte Reload
	movl	$1, (%rax)
	jmp	LBB0_95
LBB0_98:                                ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.30(%rip), %rdi
	movq	%r14, %rsi
	callq	_is_expr
	movl	%eax, %r14d
	testl	%eax, %eax
	jne	LBB0_100
## %bb.99:                              ##   in Loop: Header=BB0_8 Depth=1
	leaq	L_.str.31(%rip), %rdi
	leaq	-312(%rbp), %rsi
	callq	_is_expr
	testl	%eax, %eax
	je	LBB0_7
LBB0_100:                               ##   in Loop: Header=BB0_8 Depth=1
	testl	%r13d, %r13d
	je	LBB0_103
## %bb.101:                             ##   in Loop: Header=BB0_8 Depth=1
	movq	-312(%rbp), %rdi
	callq	_rstrip
	movq	-312(%rbp), %rdi
	leaq	-344(%rbp), %rsi
	leaq	-340(%rbp), %rdx
	leaq	-336(%rbp), %rcx
	callq	_parse_3_vals
	testl	%eax, %eax
	je	LBB0_7
## %bb.102:                             ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ecx, %ecx
	testl	%r14d, %r14d
	setne	%cl
	movl	-344(%rbp), %edi
	movl	-340(%rbp), %esi
	movl	-336(%rbp), %edx
	callq	_carthw_sprot_new_location
	jmp	LBB0_78
LBB0_103:                               ##   in Loop: Header=BB0_8 Depth=1
	movq	_EL_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	xorl	%r12d, %r12d
	leaq	L_.str.33(%rip), %rsi
	movl	-316(%rbp), %edx                ## 4-byte Reload
	leaq	-304(%rbp), %rcx
	xorl	%eax, %eax
	callq	_elprintf
	jmp	LBB0_8
LBB0_104:                               ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_carthw_pier_startup
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_105:                               ##   in Loop: Header=BB0_8 Depth=1
	movq	_PQUIRK_FORCE_6BTN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_PicoQuirks@GOTPCREL(%rip), %rcx
	orl	%eax, (%rcx)
	jmp	LBB0_95
LBB0_106:                               ##   in Loop: Header=BB0_8 Depth=1
	xorl	%ebx, %ebx
	xorl	%eax, %eax
	callq	_carthw_prot_lk3_startup
	movl	%r13d, %r12d
	jmp	LBB0_8
LBB0_107:
	movq	-360(%rbp), %rdi                ## 8-byte Reload
	callq	_fclose
LBB0_108:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_110
## %bb.109:
	addq	$328, %rsp                      ## imm = 0x148
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_4:
	movq	_EL_STATUS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.2(%rip), %rsi
	xorl	%eax, %eax
	movq	%rax, -360(%rbp)                ## 8-byte Spill
	xorl	%eax, %eax
	callq	_elprintf
	movb	$1, %al
	movl	%eax, -332(%rbp)                ## 4-byte Spill
	jmp	LBB0_5
LBB0_110:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_builtin_carthw_cfg,8,3         ## @builtin_carthw_cfg
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"r"

L_.str.1:                               ## @.str.1
	.asciz	"pico/carthw.cfg"

	.comm	_EL_STATUS,4,2                  ## @EL_STATUS
L_.str.2:                               ## @.str.2
	.asciz	"couldn't open carthw.cfg!"

L_.str.3:                               ## @.str.3
	.asciz	"check_str"

	.comm	_Pico,4,2                       ## @Pico
L_.str.4:                               ## @.str.4
	.asciz	"carthw:%d: check_str offs out of range: %d\n"

L_.str.5:                               ## @.str.5
	.asciz	"check_size_gt"

L_.str.6:                               ## @.str.6
	.asciz	"check_csum"

L_.str.7:                               ## @.str.7
	.asciz	"check_crc32"

L_.str.8:                               ## @.str.8
	.asciz	"hw"

L_.str.9:                               ## @.str.9
	.asciz	"svp"

L_.str.10:                              ## @.str.10
	.asciz	"pico"

L_.str.11:                              ## @.str.11
	.asciz	"prot"

L_.str.12:                              ## @.str.12
	.asciz	"ssf2_mapper"

L_.str.13:                              ## @.str.13
	.asciz	"x_in_1_mapper"

L_.str.14:                              ## @.str.14
	.asciz	"realtec_mapper"

L_.str.15:                              ## @.str.15
	.asciz	"radica_mapper"

L_.str.16:                              ## @.str.16
	.asciz	"piersolar_mapper"

L_.str.17:                              ## @.str.17
	.asciz	"prot_lk3"

L_.str.18:                              ## @.str.18
	.asciz	"carthw:%d: unsupported mapper: %s"

L_.str.19:                              ## @.str.19
	.asciz	"sram_range"

L_.str.20:                              ## @.str.20
	.asciz	"carthw:%d: bad sram_range: %08x - %08x"

	.comm	_SRam,28,2                      ## @SRam
L_.str.21:                              ## @.str.21
	.asciz	"prop"

L_.str.22:                              ## @.str.22
	.asciz	"no_sram"

	.comm	_SRF_ENABLED,4,2                ## @SRF_ENABLED
L_.str.23:                              ## @.str.23
	.asciz	"no_eeprom"

	.comm	_SRF_EEPROM,4,2                 ## @SRF_EEPROM
L_.str.24:                              ## @.str.24
	.asciz	"filled_sram"

L_.str.25:                              ## @.str.25
	.asciz	"force_6btn"

	.comm	_PQUIRK_FORCE_6BTN,4,2          ## @PQUIRK_FORCE_6BTN
	.comm	_PicoQuirks,4,2                 ## @PicoQuirks
L_.str.26:                              ## @.str.26
	.asciz	"carthw:%d: unsupported prop: %s"

L_.str.27:                              ## @.str.27
	.asciz	"game prop: %s"

L_.str.28:                              ## @.str.28
	.asciz	"eeprom_type"

L_.str.29:                              ## @.str.29
	.asciz	"eeprom_lines"

L_.str.30:                              ## @.str.30
	.asciz	"prot_ro_value16"

L_.str.31:                              ## @.str.31
	.asciz	"prot_rw_value16"

L_.str.32:                              ## @.str.32
	.asciz	"carthw:%d: unrecognized expression: %s"

L_.str.33:                              ## @.str.33
	.asciz	"carthw:%d: command without any checks before it: %s"

	.no_dead_strip	_parse_carthw
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function parse_carthw
_parse_carthw:                          ; @parse_carthw
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #432
	.cfi_def_cfa_offset 432
	stp	x28, x27, [sp, #336]            ; 16-byte Folded Spill
	stp	x26, x25, [sp, #352]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #368]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #384]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #400]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #416]            ; 16-byte Folded Spill
	add	x29, sp, #416
	.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
	str	x1, [sp, #24]                   ; 8-byte Folded Spill
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-96]
Lloh3:
	adrp	x8, _builtin_carthw_cfg@GOTPAGE
Lloh4:
	ldr	x8, [x8, _builtin_carthw_cfg@GOTPAGEOFF]
Lloh5:
	ldr	x19, [x8]
Lloh6:
	adrp	x1, l_.str@PAGE
Lloh7:
	add	x1, x1, l_.str@PAGEOFF
	bl	_fopen
	cbz	x0, LBB0_2
; %bb.1:
	mov	x21, x0
	mov	w27, #0
	b	LBB0_5
LBB0_2:
Lloh8:
	adrp	x0, l_.str.1@PAGE
Lloh9:
	add	x0, x0, l_.str.1@PAGEOFF
Lloh10:
	adrp	x1, l_.str@PAGE
Lloh11:
	add	x1, x1, l_.str@PAGEOFF
	bl	_fopen
	mov	x21, x0
	cbz	x0, LBB0_4
; %bb.3:
	mov	w27, #0
	b	LBB0_5
LBB0_4:
Lloh12:
	adrp	x8, _EL_STATUS@GOTPAGE
Lloh13:
	ldr	x8, [x8, _EL_STATUS@GOTPAGEOFF]
Lloh14:
	ldr	w0, [x8]
Lloh15:
	adrp	x1, l_.str.2@PAGE
Lloh16:
	add	x1, x1, l_.str.2@PAGEOFF
	bl	_elprintf
	mov	w27, #1
LBB0_5:
	str	wzr, [sp, #32]                  ; 4-byte Folded Spill
	mov	w8, #0
	mov	w9, #0
	mov	w24, #0
	mov	w22, #255
LBB0_6:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_9 Depth 2
                                        ;     Child Loop BB0_11 Depth 2
	mov	x28, x9
	mov	x23, x8
	tbz	w27, #0, LBB0_13
; %bb.7:                                ;   in Loop: Header=BB0_6 Depth=1
	ldrb	w8, [x19]
	cbz	w8, LBB0_106
; %bb.8:                                ;   in Loop: Header=BB0_6 Depth=1
	mov	x20, x19
	cbz	w8, LBB0_12
LBB0_9:                                 ;   Parent Loop BB0_6 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	cmp	w8, #10
	b.eq	LBB0_11
; %bb.10:                               ;   in Loop: Header=BB0_9 Depth=2
	ldrb	w8, [x20, #1]!
	cbnz	w8, LBB0_9
	b	LBB0_12
LBB0_11:                                ;   Parent Loop BB0_6 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldrb	w8, [x20, #1]!
	cmp	w8, #10
	b.eq	LBB0_11
LBB0_12:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x26, sp, #64
	sub	x8, x20, x19
	tst	x8, #0xffffff00
	csel	w25, w8, w22, eq
	add	x0, sp, #64
	mov	x1, x19
	mov	x2, x25
	bl	_memcpy
	strb	wzr, [x26, w25, sxtw]
	str	x26, [sp, #56]
	mov	x19, x20
	b	LBB0_14
LBB0_13:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x0, sp, #64
	mov	w1, #256
	mov	x2, x21
	bl	_fgets
	mov	x26, x0
	str	x0, [sp, #56]
	cbz	x0, LBB0_105
LBB0_14:                                ;   in Loop: Header=BB0_6 Depth=1
	add	w24, w24, #1
	mov	x0, x26
	bl	_sskip
	str	x0, [sp, #56]
	ldrb	w10, [x0]
	mov	x8, x23
	mov	x9, x28
	cbz	w10, LBB0_6
; %bb.15:                               ;   in Loop: Header=BB0_6 Depth=1
	mov	w8, #0
	mov	w9, #0
	cmp	w10, #91
	b.eq	LBB0_6
; %bb.16:                               ;   in Loop: Header=BB0_6 Depth=1
	mov	x8, x23
	mov	x9, x28
	cmp	w10, #35
	b.eq	LBB0_6
; %bb.17:                               ;   in Loop: Header=BB0_6 Depth=1
	mov	w8, #1
	mov	x9, x28
	cbnz	w23, LBB0_6
; %bb.18:                               ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh17:
	adrp	x0, l_.str.3@PAGE
Lloh18:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_is_expr
	cbz	w0, LBB0_25
; %bb.19:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
	add	x1, sp, #48
	mov	w2, #0
	bl	_strtoul
	mov	x26, x0
	tbnz	w26, #31, LBB0_28
; %bb.20:                               ;   in Loop: Header=BB0_6 Depth=1
Lloh19:
	adrp	x8, _Pico@GOTPAGE
Lloh20:
	ldr	x8, [x8, _Pico@GOTPAGEOFF]
Lloh21:
	ldr	w8, [x8]
	cmp	w8, w26
	b.lt	LBB0_28
; %bb.21:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #48]
	bl	_sskip
	str	x0, [sp, #56]
	ldrb	w8, [x0]
	cmp	w8, #44
	b.ne	LBB0_29
; %bb.22:                               ;   in Loop: Header=BB0_6 Depth=1
	add	x0, x0, #1
	bl	_sskip
	str	x0, [sp, #56]
	ldrb	w8, [x0]
	cmp	w8, #34
	b.ne	LBB0_29
; %bb.23:                               ;   in Loop: Header=BB0_6 Depth=1
	add	x0, x0, #1
	str	x0, [sp, #56]
	mov	w1, #34
	bl	_strchr
	str	x0, [sp, #48]
	cbz	x0, LBB0_29
; %bb.24:                               ;   in Loop: Header=BB0_6 Depth=1
	strb	wzr, [x0]
	ldr	x1, [sp, #56]
	mov	x0, x26
	bl	_rom_strcmp
	cmp	x0, #0
	b	LBB0_40
LBB0_25:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh22:
	adrp	x0, l_.str.5@PAGE
Lloh23:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_is_expr
	cbz	w0, LBB0_31
; %bb.26:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
	add	x1, sp, #48
	mov	w2, #0
	bl	_strtoul
	ldp	x10, x11, [sp, #48]
Lloh24:
	adrp	x8, _Pico@GOTPAGE
Lloh25:
	ldr	x8, [x8, _Pico@GOTPAGEOFF]
Lloh26:
	ldr	w8, [x8]
	cmp	w8, w0
	cset	w8, le
	csinc	w9, w28, wzr, le
	cmp	x10, x11
	b.eq	LBB0_29
; %bb.27:                               ;   in Loop: Header=BB0_6 Depth=1
	tbz	w0, #31, LBB0_6
	b	LBB0_29
LBB0_28:                                ;   in Loop: Header=BB0_6 Depth=1
Lloh27:
	adrp	x8, _EL_STATUS@GOTPAGE
Lloh28:
	ldr	x8, [x8, _EL_STATUS@GOTPAGEOFF]
Lloh29:
	ldr	w0, [x8]
                                        ; kill: def $w26 killed $w26 killed $x26 def $x26
	mov	x8, x24
	stp	x8, x26, [sp]
Lloh30:
	adrp	x1, l_.str.4@PAGE
Lloh31:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_elprintf
LBB0_29:                                ;   in Loop: Header=BB0_6 Depth=1
Lloh32:
	adrp	x8, _EL_STATUS@GOTPAGE
Lloh33:
	ldr	x8, [x8, _EL_STATUS@GOTPAGEOFF]
Lloh34:
	ldr	w0, [x8]
	add	x8, sp, #64
	stp	x24, x8, [sp]
Lloh35:
	adrp	x1, l_.str.32@PAGE
Lloh36:
	add	x1, x1, l_.str.32@PAGEOFF
LBB0_30:                                ;   in Loop: Header=BB0_6 Depth=1
	bl	_elprintf
	mov	w8, #1
	mov	x9, x28
	b	LBB0_6
LBB0_31:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh37:
	adrp	x0, l_.str.6@PAGE
Lloh38:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_is_expr
	cbz	w0, LBB0_35
; %bb.32:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
	add	x1, sp, #48
	mov	w2, #0
	bl	_strtoul
	ldp	x8, x9, [sp, #48]
	cmp	x8, x9
	b.eq	LBB0_29
; %bb.33:                               ;   in Loop: Header=BB0_6 Depth=1
	mov	x26, x0
	lsr	w8, w26, #16
	cbnz	w8, LBB0_29
; %bb.34:                               ;   in Loop: Header=BB0_6 Depth=1
	mov	w0, #396
	bl	_rom_read32
	and	w8, w0, #0xffff
	cmp	w8, w26
	b	LBB0_40
LBB0_35:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh39:
	adrp	x0, l_.str.7@PAGE
Lloh40:
	add	x0, x0, l_.str.7@PAGEOFF
	bl	_is_expr
	cbz	w0, LBB0_41
; %bb.36:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
	add	x1, sp, #48
	mov	w2, #0
	bl	_strtoul
	ldp	x8, x9, [sp, #48]
	cmp	x8, x9
	b.eq	LBB0_29
; %bb.37:                               ;   in Loop: Header=BB0_6 Depth=1
	mov	x26, x0
	ldr	w0, [sp, #32]                   ; 4-byte Folded Reload
	cbnz	w0, LBB0_39
; %bb.38:                               ;   in Loop: Header=BB0_6 Depth=1
	bl	_rom_crc32
LBB0_39:                                ;   in Loop: Header=BB0_6 Depth=1
	str	w0, [sp, #32]                   ; 4-byte Folded Spill
	cmp	w0, w26
LBB0_40:                                ;   in Loop: Header=BB0_6 Depth=1
	cset	w8, ne
	csinc	w9, w28, wzr, ne
	b	LBB0_6
LBB0_41:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh41:
	adrp	x0, l_.str.8@PAGE
Lloh42:
	add	x0, x0, l_.str.8@PAGEOFF
	bl	_is_expr
	cbz	w0, LBB0_53
; %bb.42:                               ;   in Loop: Header=BB0_6 Depth=1
	cbz	w28, LBB0_101
; %bb.43:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
	bl	_rstrip
	ldr	x0, [sp, #56]
Lloh43:
	adrp	x1, l_.str.9@PAGE
Lloh44:
	add	x1, x1, l_.str.9@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_61
; %bb.44:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh45:
	adrp	x1, l_.str.10@PAGE
Lloh46:
	add	x1, x1, l_.str.10@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_69
; %bb.45:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh47:
	adrp	x1, l_.str.11@PAGE
Lloh48:
	add	x1, x1, l_.str.11@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_70
; %bb.46:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh49:
	adrp	x1, l_.str.12@PAGE
Lloh50:
	add	x1, x1, l_.str.12@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_76
; %bb.47:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh51:
	adrp	x1, l_.str.13@PAGE
Lloh52:
	add	x1, x1, l_.str.13@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_77
; %bb.48:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh53:
	adrp	x1, l_.str.14@PAGE
Lloh54:
	add	x1, x1, l_.str.14@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_89
; %bb.49:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh55:
	adrp	x1, l_.str.15@PAGE
Lloh56:
	add	x1, x1, l_.str.15@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_94
; %bb.50:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh57:
	adrp	x1, l_.str.16@PAGE
Lloh58:
	add	x1, x1, l_.str.16@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_102
; %bb.51:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh59:
	adrp	x1, l_.str.17@PAGE
Lloh60:
	add	x1, x1, l_.str.17@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_104
; %bb.52:                               ;   in Loop: Header=BB0_6 Depth=1
Lloh61:
	adrp	x8, _EL_STATUS@GOTPAGE
Lloh62:
	ldr	x8, [x8, _EL_STATUS@GOTPAGEOFF]
Lloh63:
	ldr	w0, [x8]
	ldr	x8, [sp, #56]
	mov	x9, x24
	stp	x9, x8, [sp]
Lloh64:
	adrp	x1, l_.str.18@PAGE
Lloh65:
	add	x1, x1, l_.str.18@PAGEOFF
	b	LBB0_30
LBB0_53:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh66:
	adrp	x0, l_.str.19@PAGE
Lloh67:
	add	x0, x0, l_.str.19@PAGEOFF
	bl	_is_expr
	cbz	w0, LBB0_62
; %bb.54:                               ;   in Loop: Header=BB0_6 Depth=1
	cbz	w28, LBB0_101
; %bb.55:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
	bl	_rstrip
	ldr	x0, [sp, #56]
	add	x1, sp, #48
	mov	w2, #0
	bl	_strtoul
	mov	x20, x0
	ldp	x0, x8, [sp, #48]
	cmp	x0, x8
	b.eq	LBB0_29
; %bb.56:                               ;   in Loop: Header=BB0_6 Depth=1
	bl	_sskip
	str	x0, [sp, #56]
	ldrb	w8, [x0]
	cmp	w8, #44
	b.ne	LBB0_29
; %bb.57:                               ;   in Loop: Header=BB0_6 Depth=1
	add	x0, x0, #1
	bl	_sskip
	str	x0, [sp, #56]
	add	x1, sp, #48
	mov	w2, #0
	bl	_strtoul
	ldp	x8, x9, [sp, #48]
	cmp	x8, x9
	b.eq	LBB0_29
; %bb.58:                               ;   in Loop: Header=BB0_6 Depth=1
	orr	w8, w0, w20
	tst	x8, #0xff000000
	b.ne	LBB0_88
; %bb.59:                               ;   in Loop: Header=BB0_6 Depth=1
	cmp	w20, w0
	b.gt	LBB0_88
; %bb.60:                               ;   in Loop: Header=BB0_6 Depth=1
	mov	w8, #0
Lloh68:
	adrp	x9, _SRam@GOTPAGE
Lloh69:
	ldr	x9, [x9, _SRam@GOTPAGEOFF]
	stp	w20, w0, [x9]
	mov	x9, x28
	b	LBB0_6
LBB0_61:                                ;   in Loop: Header=BB0_6 Depth=1
	bl	_PicoSVPStartup
	b	LBB0_93
LBB0_62:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh70:
	adrp	x0, l_.str.21@PAGE
Lloh71:
	add	x0, x0, l_.str.21@PAGEOFF
	bl	_is_expr
	cbz	w0, LBB0_71
; %bb.63:                               ;   in Loop: Header=BB0_6 Depth=1
	cbz	w28, LBB0_101
; %bb.64:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
	bl	_rstrip
	ldr	x0, [sp, #56]
Lloh72:
	adrp	x1, l_.str.22@PAGE
Lloh73:
	add	x1, x1, l_.str.22@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_78
; %bb.65:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh74:
	adrp	x1, l_.str.23@PAGE
Lloh75:
	add	x1, x1, l_.str.23@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_90
; %bb.66:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh76:
	adrp	x1, l_.str.24@PAGE
Lloh77:
	add	x1, x1, l_.str.24@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_95
; %bb.67:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
Lloh78:
	adrp	x1, l_.str.25@PAGE
Lloh79:
	add	x1, x1, l_.str.25@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_103
; %bb.68:                               ;   in Loop: Header=BB0_6 Depth=1
Lloh80:
	adrp	x8, _EL_STATUS@GOTPAGE
Lloh81:
	ldr	x8, [x8, _EL_STATUS@GOTPAGEOFF]
Lloh82:
	ldr	w0, [x8]
	ldr	x8, [sp, #56]
	mov	x9, x24
	stp	x9, x8, [sp]
Lloh83:
	adrp	x1, l_.str.26@PAGE
Lloh84:
	add	x1, x1, l_.str.26@PAGEOFF
	b	LBB0_30
LBB0_69:                                ;   in Loop: Header=BB0_6 Depth=1
	bl	_PicoInitPico
	b	LBB0_93
LBB0_70:                                ;   in Loop: Header=BB0_6 Depth=1
	bl	_carthw_sprot_startup
	b	LBB0_93
LBB0_71:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh85:
	adrp	x0, l_.str.28@PAGE
Lloh86:
	add	x0, x0, l_.str.28@PAGEOFF
	bl	_is_expr
	cbz	w0, LBB0_79
; %bb.72:                               ;   in Loop: Header=BB0_6 Depth=1
	cbz	w28, LBB0_101
; %bb.73:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
	bl	_rstrip
	ldr	x0, [sp, #56]
	add	x1, sp, #48
	mov	w2, #0
	bl	_strtoul
	ldp	x8, x9, [sp, #48]
	cmp	x8, x9
	b.eq	LBB0_29
; %bb.74:                               ;   in Loop: Header=BB0_6 Depth=1
	tbnz	w0, #31, LBB0_29
; %bb.75:                               ;   in Loop: Header=BB0_6 Depth=1
	mov	w8, #0
Lloh87:
	adrp	x11, _SRam@GOTPAGE
Lloh88:
	ldr	x11, [x11, _SRam@GOTPAGEOFF]
	str	w0, [x11, #8]
Lloh89:
	adrp	x9, _SRF_EEPROM@GOTPAGE
Lloh90:
	ldr	x9, [x9, _SRF_EEPROM@GOTPAGEOFF]
Lloh91:
	ldr	w9, [x9]
	ldr	w10, [x11, #24]
	orr	w9, w10, w9
	str	w9, [x11, #24]
	mov	x9, x28
	b	LBB0_6
LBB0_76:                                ;   in Loop: Header=BB0_6 Depth=1
	bl	_carthw_ssf2_startup
	b	LBB0_93
LBB0_77:                                ;   in Loop: Header=BB0_6 Depth=1
	bl	_carthw_Xin1_startup
	b	LBB0_93
LBB0_78:                                ;   in Loop: Header=BB0_6 Depth=1
Lloh92:
	adrp	x8, _SRF_ENABLED@GOTPAGE
Lloh93:
	ldr	x8, [x8, _SRF_ENABLED@GOTPAGEOFF]
	b	LBB0_91
LBB0_79:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh94:
	adrp	x0, l_.str.29@PAGE
Lloh95:
	add	x0, x0, l_.str.29@PAGEOFF
	bl	_is_expr
	cbz	w0, LBB0_96
; %bb.80:                               ;   in Loop: Header=BB0_6 Depth=1
	cbz	w28, LBB0_101
; %bb.81:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
	bl	_rstrip
	ldr	x0, [sp, #56]
	add	x1, sp, #44
	add	x2, sp, #40
	add	x3, sp, #36
	bl	_parse_3_vals
	cbz	w0, LBB0_29
; %bb.82:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	w9, [sp, #44]
	cmp	w9, #15
	b.hi	LBB0_29
; %bb.83:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	w10, [sp, #40]
	tbnz	w10, #31, LBB0_29
; %bb.84:                               ;   in Loop: Header=BB0_6 Depth=1
	cmp	w10, #15
	b.gt	LBB0_29
; %bb.85:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	w11, [sp, #36]
	tbnz	w11, #31, LBB0_29
; %bb.86:                               ;   in Loop: Header=BB0_6 Depth=1
	cmp	w11, #16
	b.ge	LBB0_29
; %bb.87:                               ;   in Loop: Header=BB0_6 Depth=1
	mov	w8, #0
Lloh96:
	adrp	x12, _SRam@GOTPAGE
Lloh97:
	ldr	x12, [x12, _SRam@GOTPAGEOFF]
	stp	w9, w10, [x12, #12]
	mov	x9, x28
	str	w11, [x12, #20]
	b	LBB0_6
LBB0_88:                                ;   in Loop: Header=BB0_6 Depth=1
Lloh98:
	adrp	x8, _EL_STATUS@GOTPAGE
Lloh99:
	ldr	x8, [x8, _EL_STATUS@GOTPAGEOFF]
Lloh100:
	ldr	w8, [x8]
                                        ; kill: def $w0 killed $w0 killed $x0 def $x0
	mov	x9, x20
	mov	x10, x24
	stp	x9, x0, [sp, #8]
	str	x10, [sp]
	mov	x0, x8
Lloh101:
	adrp	x1, l_.str.20@PAGE
Lloh102:
	add	x1, x1, l_.str.20@PAGEOFF
	b	LBB0_30
LBB0_89:                                ;   in Loop: Header=BB0_6 Depth=1
	bl	_carthw_realtec_startup
	b	LBB0_93
LBB0_90:                                ;   in Loop: Header=BB0_6 Depth=1
Lloh103:
	adrp	x8, _SRF_EEPROM@GOTPAGE
Lloh104:
	ldr	x8, [x8, _SRF_EEPROM@GOTPAGEOFF]
LBB0_91:                                ;   in Loop: Header=BB0_6 Depth=1
	ldr	w8, [x8]
Lloh105:
	adrp	x10, _SRam@GOTPAGE
Lloh106:
	ldr	x10, [x10, _SRam@GOTPAGEOFF]
	ldr	w9, [x10, #24]
	bic	w8, w9, w8
	str	w8, [x10, #24]
LBB0_92:                                ;   in Loop: Header=BB0_6 Depth=1
Lloh107:
	adrp	x8, _EL_STATUS@GOTPAGE
Lloh108:
	ldr	x8, [x8, _EL_STATUS@GOTPAGEOFF]
Lloh109:
	ldr	w0, [x8]
	ldr	x8, [sp, #56]
	str	x8, [sp]
Lloh110:
	adrp	x1, l_.str.27@PAGE
Lloh111:
	add	x1, x1, l_.str.27@PAGEOFF
	bl	_elprintf
LBB0_93:                                ;   in Loop: Header=BB0_6 Depth=1
	mov	w8, #0
	mov	x9, x28
	b	LBB0_6
LBB0_94:                                ;   in Loop: Header=BB0_6 Depth=1
	bl	_carthw_radica_startup
	b	LBB0_93
LBB0_95:                                ;   in Loop: Header=BB0_6 Depth=1
	ldr	x8, [sp, #24]                   ; 8-byte Folded Reload
	mov	w9, #1
	str	w9, [x8]
	b	LBB0_92
LBB0_96:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh112:
	adrp	x0, l_.str.30@PAGE
Lloh113:
	add	x0, x0, l_.str.30@PAGEOFF
	bl	_is_expr
	mov	x26, x0
	cbnz	w0, LBB0_98
; %bb.97:                               ;   in Loop: Header=BB0_6 Depth=1
	add	x1, sp, #56
Lloh114:
	adrp	x0, l_.str.31@PAGE
Lloh115:
	add	x0, x0, l_.str.31@PAGEOFF
	bl	_is_expr
	cbz	w0, LBB0_29
LBB0_98:                                ;   in Loop: Header=BB0_6 Depth=1
	cbz	w28, LBB0_101
; %bb.99:                               ;   in Loop: Header=BB0_6 Depth=1
	ldr	x0, [sp, #56]
	bl	_rstrip
	ldr	x0, [sp, #56]
	add	x1, sp, #44
	add	x2, sp, #40
	add	x3, sp, #36
	bl	_parse_3_vals
	cbz	w0, LBB0_29
; %bb.100:                              ;   in Loop: Header=BB0_6 Depth=1
	cmp	w26, #0
	cset	w3, ne
	ldp	w1, w0, [sp, #40]
	ldr	w2, [sp, #36]
	bl	_carthw_sprot_new_location
	b	LBB0_93
LBB0_101:                               ;   in Loop: Header=BB0_6 Depth=1
Lloh116:
	adrp	x8, _EL_STATUS@GOTPAGE
Lloh117:
	ldr	x8, [x8, _EL_STATUS@GOTPAGEOFF]
Lloh118:
	ldr	w0, [x8]
	mov	x8, x24
	add	x9, sp, #64
	stp	x8, x9, [sp]
Lloh119:
	adrp	x1, l_.str.33@PAGE
Lloh120:
	add	x1, x1, l_.str.33@PAGEOFF
	bl	_elprintf
	mov	w9, #0
	mov	w8, #1
	b	LBB0_6
LBB0_102:                               ;   in Loop: Header=BB0_6 Depth=1
	bl	_carthw_pier_startup
	b	LBB0_93
LBB0_103:                               ;   in Loop: Header=BB0_6 Depth=1
Lloh121:
	adrp	x8, _PQUIRK_FORCE_6BTN@GOTPAGE
Lloh122:
	ldr	x8, [x8, _PQUIRK_FORCE_6BTN@GOTPAGEOFF]
Lloh123:
	ldr	w8, [x8]
Lloh124:
	adrp	x10, _PicoQuirks@GOTPAGE
Lloh125:
	ldr	x10, [x10, _PicoQuirks@GOTPAGEOFF]
	ldr	w9, [x10]
	orr	w8, w9, w8
	str	w8, [x10]
	b	LBB0_92
LBB0_104:                               ;   in Loop: Header=BB0_6 Depth=1
	bl	_carthw_prot_lk3_startup
	b	LBB0_93
LBB0_105:
	mov	x0, x21
	bl	_fclose
LBB0_106:
	ldur	x8, [x29, #-96]
Lloh126:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh127:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh128:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_108
; %bb.107:
	ldp	x29, x30, [sp, #416]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #400]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #384]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #368]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #352]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #336]            ; 16-byte Folded Reload
	add	sp, sp, #432
	ret
LBB0_108:
	bl	___stack_chk_fail
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh10, Lloh11
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpAdd	Lloh37, Lloh38
	.loh AdrpAdd	Lloh39, Lloh40
	.loh AdrpAdd	Lloh41, Lloh42
	.loh AdrpAdd	Lloh43, Lloh44
	.loh AdrpAdd	Lloh45, Lloh46
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpAdd	Lloh51, Lloh52
	.loh AdrpAdd	Lloh53, Lloh54
	.loh AdrpAdd	Lloh55, Lloh56
	.loh AdrpAdd	Lloh57, Lloh58
	.loh AdrpAdd	Lloh59, Lloh60
	.loh AdrpAdd	Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpAdd	Lloh66, Lloh67
	.loh AdrpLdrGot	Lloh68, Lloh69
	.loh AdrpAdd	Lloh70, Lloh71
	.loh AdrpAdd	Lloh72, Lloh73
	.loh AdrpAdd	Lloh74, Lloh75
	.loh AdrpAdd	Lloh76, Lloh77
	.loh AdrpAdd	Lloh78, Lloh79
	.loh AdrpAdd	Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpAdd	Lloh85, Lloh86
	.loh AdrpLdrGotLdr	Lloh89, Lloh90, Lloh91
	.loh AdrpLdrGot	Lloh87, Lloh88
	.loh AdrpLdrGot	Lloh92, Lloh93
	.loh AdrpAdd	Lloh94, Lloh95
	.loh AdrpLdrGot	Lloh96, Lloh97
	.loh AdrpAdd	Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpLdrGot	Lloh103, Lloh104
	.loh AdrpLdrGot	Lloh105, Lloh106
	.loh AdrpAdd	Lloh110, Lloh111
	.loh AdrpLdrGotLdr	Lloh107, Lloh108, Lloh109
	.loh AdrpAdd	Lloh112, Lloh113
	.loh AdrpAdd	Lloh114, Lloh115
	.loh AdrpAdd	Lloh119, Lloh120
	.loh AdrpLdrGotLdr	Lloh116, Lloh117, Lloh118
	.loh AdrpLdrGot	Lloh124, Lloh125
	.loh AdrpLdrGotLdr	Lloh121, Lloh122, Lloh123
	.loh AdrpLdrGotLdr	Lloh126, Lloh127, Lloh128
	.cfi_endproc
                                        ; -- End function
	.comm	_builtin_carthw_cfg,8,3         ; @builtin_carthw_cfg
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"r"

l_.str.1:                               ; @.str.1
	.asciz	"pico/carthw.cfg"

	.comm	_EL_STATUS,4,2                  ; @EL_STATUS
l_.str.2:                               ; @.str.2
	.asciz	"couldn't open carthw.cfg!"

l_.str.3:                               ; @.str.3
	.asciz	"check_str"

	.comm	_Pico,4,2                       ; @Pico
l_.str.4:                               ; @.str.4
	.asciz	"carthw:%d: check_str offs out of range: %d\n"

l_.str.5:                               ; @.str.5
	.asciz	"check_size_gt"

l_.str.6:                               ; @.str.6
	.asciz	"check_csum"

l_.str.7:                               ; @.str.7
	.asciz	"check_crc32"

l_.str.8:                               ; @.str.8
	.asciz	"hw"

l_.str.9:                               ; @.str.9
	.asciz	"svp"

l_.str.10:                              ; @.str.10
	.asciz	"pico"

l_.str.11:                              ; @.str.11
	.asciz	"prot"

l_.str.12:                              ; @.str.12
	.asciz	"ssf2_mapper"

l_.str.13:                              ; @.str.13
	.asciz	"x_in_1_mapper"

l_.str.14:                              ; @.str.14
	.asciz	"realtec_mapper"

l_.str.15:                              ; @.str.15
	.asciz	"radica_mapper"

l_.str.16:                              ; @.str.16
	.asciz	"piersolar_mapper"

l_.str.17:                              ; @.str.17
	.asciz	"prot_lk3"

l_.str.18:                              ; @.str.18
	.asciz	"carthw:%d: unsupported mapper: %s"

l_.str.19:                              ; @.str.19
	.asciz	"sram_range"

l_.str.20:                              ; @.str.20
	.asciz	"carthw:%d: bad sram_range: %08x - %08x"

	.comm	_SRam,28,2                      ; @SRam
l_.str.21:                              ; @.str.21
	.asciz	"prop"

l_.str.22:                              ; @.str.22
	.asciz	"no_sram"

	.comm	_SRF_ENABLED,4,2                ; @SRF_ENABLED
l_.str.23:                              ; @.str.23
	.asciz	"no_eeprom"

	.comm	_SRF_EEPROM,4,2                 ; @SRF_EEPROM
l_.str.24:                              ; @.str.24
	.asciz	"filled_sram"

l_.str.25:                              ; @.str.25
	.asciz	"force_6btn"

	.comm	_PQUIRK_FORCE_6BTN,4,2          ; @PQUIRK_FORCE_6BTN
	.comm	_PicoQuirks,4,2                 ; @PicoQuirks
l_.str.26:                              ; @.str.26
	.asciz	"carthw:%d: unsupported prop: %s"

l_.str.27:                              ; @.str.27
	.asciz	"game prop: %s"

l_.str.28:                              ; @.str.28
	.asciz	"eeprom_type"

l_.str.29:                              ; @.str.29
	.asciz	"eeprom_lines"

l_.str.30:                              ; @.str.30
	.asciz	"prot_ro_value16"

l_.str.31:                              ; @.str.31
	.asciz	"prot_rw_value16"

l_.str.32:                              ; @.str.32
	.asciz	"carthw:%d: unrecognized expression: %s"

l_.str.33:                              ; @.str.33
	.asciz	"carthw:%d: command without any checks before it: %s"

	.no_dead_strip	_parse_carthw
.subsections_via_symbols
