	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_sdl_input_update               ## -- Begin function sdl_input_update
	.p2align	4, 0x90
_sdl_input_update:                      ## @sdl_input_update
	.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	%r12
	pushq	%rbx
	subq	$16, %rsp
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	xorl	%ebx, %ebx
	xorl	%edi, %edi
	callq	_SDL_GetKeyState
	movq	%rax, %r12
	movq	_input@GOTPCREL(%rip), %r14
	movq	16(%r14), %rdx
	movq	_joynum@GOTPCREL(%rip), %r15
	movq	(%r15), %rcx
	leaq	(%rdx,%rcx,4), %rax
	movl	$0, (%rdx,%rcx,4)
	movq	(%r14), %rdx
	movl	(%rdx,%rcx,4), %edx
	addl	$-128, %edx
	cmpl	$5, %edx
	ja	LBB0_55
## %bb.1:
	leaq	LJTI0_0(%rip), %rsi
	movslq	(%rsi,%rdx,4), %rdx
	addq	%rsi, %rdx
	jmpq	*%rdx
LBB0_2:
	movq	_SDLK_a@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	cmpl	$0, (%r12,%rdx,4)
	je	LBB0_31
## %bb.3:
	movq	_INPUT_START@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	movl	%edx, (%rax)
	jmp	LBB0_32
LBB0_4:
	leaq	-36(%rbp), %rdi
	leaq	-40(%rbp), %rsi
	callq	_SDL_GetRelativeMouseState
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	subl	-36(%rbp), %ecx
	movzbl	%cl, %esi
	movq	8(%r14), %rdi
	movq	(%r15), %rcx
	movq	(%rdi,%rcx,8), %rdi
	movl	%esi, (%rdi)
	subl	-40(%rbp), %edx
	movzbl	%dl, %edx
	movl	%edx, 4(%rdi)
	movq	_SDL_BUTTON_LMASK@GOTPCREL(%rip), %rdx
	testl	%eax, (%rdx)
	je	LBB0_6
## %bb.5:
	movq	_INPUT_B@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	movq	16(%r14), %rsi
	orl	%edx, (%rsi,%rcx,4)
LBB0_6:
	movq	_SDL_BUTTON_RMASK@GOTPCREL(%rip), %rdx
	testl	%eax, (%rdx)
	je	LBB0_108
## %bb.7:
	movq	_INPUT_C@GOTPCREL(%rip), %rax
	jmp	LBB0_20
LBB0_8:
	leaq	-36(%rbp), %rdi
	xorl	%esi, %esi
	callq	_SDL_GetMouseState
	movl	%eax, %ecx
	movl	-36(%rbp), %eax
	shll	$8, %eax
	movq	_VIDEO_WIDTH@GOTPCREL(%rip), %rsi
	cltd
	idivl	(%rsi)
	movq	8(%r14), %rsi
	movq	(%r15), %rdx
	movq	(%rsi,%rdx,8), %rsi
	movl	%eax, (%rsi)
	movq	_SDL_BUTTON_LMASK@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	je	LBB0_108
## %bb.9:
	movq	_INPUT_B@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	16(%r14), %rcx
	orl	%eax, (%rcx,%rdx,4)
	jmp	LBB0_108
LBB0_10:
	leaq	-36(%rbp), %rdi
	leaq	-40(%rbp), %rsi
	callq	_SDL_GetRelativeMouseState
	movl	-36(%rbp), %esi
	addl	%esi, %esi
	movq	8(%r14), %rdx
	movq	(%r15), %rcx
	movq	(%rdx,%rcx,8), %rdx
	movl	%esi, (%rdx)
	movl	-40(%rbp), %esi
	addl	%esi, %esi
	movl	%esi, 4(%rdx)
	movq	_config@GOTPCREL(%rip), %rdi
	cmpl	$0, (%rdi)
	jne	LBB0_12
## %bb.11:
	negl	%esi
	movl	%esi, 4(%rdx)
LBB0_12:
	movq	_SDL_BUTTON_LMASK@GOTPCREL(%rip), %rdx
	testl	%eax, (%rdx)
	je	LBB0_14
## %bb.13:
	movq	_INPUT_B@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	movq	16(%r14), %rsi
	orl	%edx, (%rsi,%rcx,4)
LBB0_14:
	movq	_SDL_BUTTON_RMASK@GOTPCREL(%rip), %rdx
	testl	%eax, (%rdx)
	je	LBB0_16
## %bb.15:
	movq	_INPUT_C@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	movq	16(%r14), %rsi
	orl	%edx, (%rsi,%rcx,4)
LBB0_16:
	movq	_SDL_BUTTON_MMASK@GOTPCREL(%rip), %rdx
	testl	%eax, (%rdx)
	je	LBB0_18
## %bb.17:
	movq	_INPUT_A@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	16(%r14), %rdx
	orl	%eax, (%rdx,%rcx,4)
LBB0_18:
	movq	_SDLK_f@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpl	$0, (%r12,%rax,4)
	je	LBB0_108
## %bb.19:
	movq	_INPUT_START@GOTPCREL(%rip), %rax
LBB0_20:
	movl	(%rax), %eax
	movq	16(%r14), %rdx
	orl	%eax, (%rdx,%rcx,4)
	jmp	LBB0_108
LBB0_21:
	leaq	-36(%rbp), %rdi
	leaq	-40(%rbp), %rsi
	callq	_SDL_GetMouseState
	movl	%eax, %ecx
	movq	_bitmap@GOTPCREL(%rip), %rdi
	movl	(%rdi), %eax
	imull	-36(%rbp), %eax
	movq	_VIDEO_WIDTH@GOTPCREL(%rip), %rsi
	cltd
	idivl	(%rsi)
	movq	8(%r14), %rdx
	movq	(%r15), %rsi
	movq	(%rdx,%rsi,8), %rbx
	movl	%eax, (%rbx)
	movl	4(%rdi), %eax
	imull	-40(%rbp), %eax
	movq	_VIDEO_HEIGHT@GOTPCREL(%rip), %rdi
	cltd
	idivl	(%rdi)
	movl	%eax, 4(%rbx)
	movq	_SDL_BUTTON_LMASK@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	je	LBB0_23
## %bb.22:
	movq	_INPUT_B@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	16(%r14), %rdx
	orl	%eax, (%rdx,%rsi,4)
LBB0_23:
	movq	_SDL_BUTTON_RMASK@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	je	LBB0_25
## %bb.24:
	movq	_INPUT_C@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	16(%r14), %rdx
	orl	%eax, (%rdx,%rsi,4)
LBB0_25:
	movq	_SDL_BUTTON_MMASK@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	je	LBB0_27
## %bb.26:
	movq	_INPUT_A@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	16(%r14), %rcx
	orl	%eax, (%rcx,%rsi,4)
LBB0_27:
	movq	_SDLK_f@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpl	$0, (%r12,%rax,4)
	je	LBB0_108
## %bb.28:
	movq	_INPUT_START@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	16(%r14), %rcx
	orl	%eax, (%rcx,%rsi,4)
	jmp	LBB0_108
LBB0_29:
	movq	_SDLK_g@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_48
## %bb.30:
	movq	_INPUT_ACTIVATOR_7L@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ebx
	movl	%ebx, (%rax)
	jmp	LBB0_49
LBB0_31:
	xorl	%edx, %edx
LBB0_32:
	movq	_SDLK_s@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	je	LBB0_34
## %bb.33:
	movq	_INPUT_A@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, (%rax)
LBB0_34:
	movq	_SDLK_d@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	je	LBB0_36
## %bb.35:
	movq	_INPUT_C@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, (%rax)
LBB0_36:
	movq	_SDLK_f@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	je	LBB0_38
## %bb.37:
	movq	_INPUT_Y@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, (%rax)
LBB0_38:
	movq	_SDLK_z@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	je	LBB0_40
## %bb.39:
	movq	_INPUT_B@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, (%rax)
LBB0_40:
	movq	_SDLK_x@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	je	LBB0_42
## %bb.41:
	movq	_INPUT_X@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, (%rax)
LBB0_42:
	movq	_SDLK_c@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	je	LBB0_44
## %bb.43:
	movq	_INPUT_MODE@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, (%rax)
LBB0_44:
	movq	_SDLK_v@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	je	LBB0_46
## %bb.45:
	movq	_INPUT_Z@GOTPCREL(%rip), %rsi
	orl	(%rsi), %edx
	movl	%edx, (%rax)
LBB0_46:
	movq	_SDLK_UP@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpl	$0, (%r12,%rax,4)
	je	LBB0_81
## %bb.47:
	movq	8(%r14), %rdx
	movq	(%rdx,%rcx,8), %rax
	addl	$-2, 4(%rax)
	jmp	LBB0_84
LBB0_48:
	xorl	%ebx, %ebx
LBB0_49:
	movq	_SDLK_h@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_51
## %bb.50:
	movq	_INPUT_ACTIVATOR_7U@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_51:
	movq	_SDLK_j@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_53
## %bb.52:
	movq	_INPUT_ACTIVATOR_8L@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_53:
	movq	_SDLK_k@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_55
## %bb.54:
	movq	_INPUT_ACTIVATOR_8U@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_55:
	movq	_SDLK_a@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_57
## %bb.56:
	movq	_INPUT_A@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_57:
	movq	_SDLK_s@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_59
## %bb.58:
	movq	_INPUT_B@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_59:
	movq	_SDLK_d@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_61
## %bb.60:
	movq	_INPUT_C@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_61:
	movq	_SDLK_f@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_63
## %bb.62:
	movq	_INPUT_START@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_63:
	movq	_SDLK_z@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_65
## %bb.64:
	movq	_INPUT_X@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_65:
	movq	_SDLK_x@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_67
## %bb.66:
	movq	_INPUT_Y@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_67:
	movq	_SDLK_c@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_69
## %bb.68:
	movq	_INPUT_Z@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_69:
	movq	_SDLK_v@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_71
## %bb.70:
	movq	_INPUT_MODE@GOTPCREL(%rip), %rcx
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_71:
	movq	_SDLK_UP@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_73
## %bb.72:
	movq	_INPUT_UP@GOTPCREL(%rip), %rcx
	jmp	LBB0_75
LBB0_73:
	movq	_SDLK_DOWN@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_76
## %bb.74:
	movq	_INPUT_DOWN@GOTPCREL(%rip), %rcx
LBB0_75:
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
LBB0_76:
	movq	_SDLK_LEFT@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_78
## %bb.77:
	movq	_INPUT_LEFT@GOTPCREL(%rip), %rcx
	jmp	LBB0_80
LBB0_78:
	movq	_SDLK_RIGHT@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpl	$0, (%r12,%rcx,4)
	je	LBB0_108
## %bb.79:
	movq	_INPUT_RIGHT@GOTPCREL(%rip), %rcx
LBB0_80:
	orl	(%rcx), %ebx
	movl	%ebx, (%rax)
	jmp	LBB0_108
LBB0_81:
	movq	_SDLK_DOWN@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpl	$0, (%r12,%rax,4)
	movq	8(%r14), %rdx
	movq	(%rdx,%rcx,8), %rax
	je	LBB0_83
## %bb.82:
	addl	$2, 4(%rax)
	jmp	LBB0_84
LBB0_83:
	movl	$128, 4(%rax)
LBB0_84:
	movq	_SDLK_LEFT@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rdi
	movl	$-2, %esi
	cmpl	$0, (%r12,%rdi,4)
	jne	LBB0_86
## %bb.85:
	movq	_SDLK_RIGHT@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rdi
	movl	$2, %esi
	cmpl	$0, (%r12,%rdi,4)
	je	LBB0_116
LBB0_86:
	addl	(%rax), %esi
LBB0_87:
	movl	%esi, (%rax)
	movq	_SDLK_KP8@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	je	LBB0_89
LBB0_88:
	movq	8(%rdx,%rcx,8), %rcx
	addl	$-2, (%rcx)
	jmp	LBB0_92
LBB0_89:
	movq	_SDLK_KP2@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	je	LBB0_117
## %bb.90:
	movq	8(%rdx,%rcx,8), %rcx
LBB0_91:
	addl	$2, (%rcx)
LBB0_92:
	movl	(%rax), %esi
	movl	$255, %edx
	cmpl	$255, %esi
	jg	LBB0_95
## %bb.93:
	testl	%esi, %esi
	jns	LBB0_96
## %bb.94:
	xorl	%edx, %edx
LBB0_95:
	movl	%edx, (%rax)
LBB0_96:
	movl	4(%rax), %esi
	movl	$255, %edx
	cmpl	$255, %esi
	jg	LBB0_99
## %bb.97:
	testl	%esi, %esi
	jns	LBB0_100
## %bb.98:
	xorl	%edx, %edx
LBB0_99:
	movl	%edx, 4(%rax)
LBB0_100:
	movl	(%rcx), %edx
	movl	$255, %eax
	cmpl	$255, %edx
	jg	LBB0_103
## %bb.101:
	testl	%edx, %edx
	jns	LBB0_104
## %bb.102:
	xorl	%eax, %eax
LBB0_103:
	movl	%eax, (%rcx)
LBB0_104:
	movl	4(%rcx), %eax
	cmpl	$256, %eax                      ## imm = 0x100
	jl	LBB0_106
## %bb.105:
	movl	$255, 4(%rcx)
	jmp	LBB0_108
LBB0_106:
	testl	%eax, %eax
	jns	LBB0_108
## %bb.107:
	movl	$0, 4(%rcx)
LBB0_108:
	movq	_system_hw@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_SYSTEM_PICO@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_115
## %bb.109:
	leaq	-36(%rbp), %rdi
	leaq	-40(%rbp), %rsi
	callq	_SDL_GetMouseState
	movl	%eax, %ecx
	imull	$321, -36(%rbp), %eax           ## imm = 0x141
	movq	_VIDEO_WIDTH@GOTPCREL(%rip), %rsi
	cltd
	idivl	(%rsi)
	addl	$60, %eax
	movq	8(%r14), %rdx
	movq	(%rdx), %rsi
	movl	%eax, (%rsi)
	imull	$252, -40(%rbp), %eax
	movq	_VIDEO_HEIGHT@GOTPCREL(%rip), %rdi
	cltd
	idivl	(%rdi)
	addl	$508, %eax                      ## imm = 0x1FC
	movl	%eax, 4(%rsi)
	movq	_SDL_BUTTON_MMASK@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	je	LBB0_111
## %bb.110:
	movq	_pico_current@GOTPCREL(%rip), %rax
	incl	(%rax)
LBB0_111:
	movq	_SDL_BUTTON_RMASK@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	je	LBB0_113
## %bb.112:
	movq	_INPUT_B@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	16(%r14), %rdx
	movq	(%r15), %rsi
	orl	%eax, (%rdx,%rsi,4)
LBB0_113:
	movq	_SDL_BUTTON_LMASK@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	je	LBB0_115
## %bb.114:
	movq	_INPUT_A@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	16(%r14), %rcx
	movq	(%r15), %rdx
	orl	%eax, (%rcx,%rdx,4)
LBB0_115:
	movq	%r12, %rdi
	callq	_free
	movl	$1, %eax
	addq	$16, %rsp
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_116:
	movl	$128, %esi
	jmp	LBB0_87
LBB0_117:
	movq	_SDLK_KP4@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	jne	LBB0_88
## %bb.118:
	movq	_SDLK_KP6@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%r12,%rsi,4)
	movq	8(%rdx,%rcx,8), %rcx
	jne	LBB0_91
## %bb.120:
	movl	$128, (%rcx)
	jmp	LBB0_92
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_2, LBB0_2-LJTI0_0
.set L0_0_set_4, LBB0_4-LJTI0_0
.set L0_0_set_8, LBB0_8-LJTI0_0
.set L0_0_set_10, LBB0_10-LJTI0_0
.set L0_0_set_21, LBB0_21-LJTI0_0
.set L0_0_set_29, LBB0_29-LJTI0_0
LJTI0_0:
	.long	L0_0_set_2
	.long	L0_0_set_4
	.long	L0_0_set_8
	.long	L0_0_set_10
	.long	L0_0_set_21
	.long	L0_0_set_29
	.end_data_region
                                        ## -- End function
	.comm	_input,24,3                     ## @input
	.comm	_joynum,8,3                     ## @joynum
	.comm	_bitmap,8,2                     ## @bitmap
	.comm	_VIDEO_WIDTH,4,2                ## @VIDEO_WIDTH
	.comm	_VIDEO_HEIGHT,4,2               ## @VIDEO_HEIGHT
	.comm	_SDL_BUTTON_LMASK,4,2           ## @SDL_BUTTON_LMASK
	.comm	_INPUT_B,4,2                    ## @INPUT_B
	.comm	_SDL_BUTTON_RMASK,4,2           ## @SDL_BUTTON_RMASK
	.comm	_INPUT_C,4,2                    ## @INPUT_C
	.comm	_SDL_BUTTON_MMASK,4,2           ## @SDL_BUTTON_MMASK
	.comm	_INPUT_A,4,2                    ## @INPUT_A
	.comm	_SDLK_f,8,3                     ## @SDLK_f
	.comm	_INPUT_START,4,2                ## @INPUT_START
	.comm	_config,4,2                     ## @config
	.comm	_SDLK_a,8,3                     ## @SDLK_a
	.comm	_SDLK_s,8,3                     ## @SDLK_s
	.comm	_SDLK_d,8,3                     ## @SDLK_d
	.comm	_INPUT_Y,4,2                    ## @INPUT_Y
	.comm	_SDLK_z,8,3                     ## @SDLK_z
	.comm	_SDLK_x,8,3                     ## @SDLK_x
	.comm	_INPUT_X,4,2                    ## @INPUT_X
	.comm	_SDLK_c,8,3                     ## @SDLK_c
	.comm	_INPUT_MODE,4,2                 ## @INPUT_MODE
	.comm	_SDLK_v,8,3                     ## @SDLK_v
	.comm	_INPUT_Z,4,2                    ## @INPUT_Z
	.comm	_SDLK_UP,8,3                    ## @SDLK_UP
	.comm	_SDLK_DOWN,8,3                  ## @SDLK_DOWN
	.comm	_SDLK_LEFT,8,3                  ## @SDLK_LEFT
	.comm	_SDLK_RIGHT,8,3                 ## @SDLK_RIGHT
	.comm	_SDLK_KP8,8,3                   ## @SDLK_KP8
	.comm	_SDLK_KP2,8,3                   ## @SDLK_KP2
	.comm	_SDLK_KP4,8,3                   ## @SDLK_KP4
	.comm	_SDLK_KP6,8,3                   ## @SDLK_KP6
	.comm	_SDLK_g,8,3                     ## @SDLK_g
	.comm	_INPUT_ACTIVATOR_7L,4,2         ## @INPUT_ACTIVATOR_7L
	.comm	_SDLK_h,8,3                     ## @SDLK_h
	.comm	_INPUT_ACTIVATOR_7U,4,2         ## @INPUT_ACTIVATOR_7U
	.comm	_SDLK_j,8,3                     ## @SDLK_j
	.comm	_INPUT_ACTIVATOR_8L,4,2         ## @INPUT_ACTIVATOR_8L
	.comm	_SDLK_k,8,3                     ## @SDLK_k
	.comm	_INPUT_ACTIVATOR_8U,4,2         ## @INPUT_ACTIVATOR_8U
	.comm	_INPUT_UP,4,2                   ## @INPUT_UP
	.comm	_INPUT_DOWN,4,2                 ## @INPUT_DOWN
	.comm	_INPUT_LEFT,4,2                 ## @INPUT_LEFT
	.comm	_INPUT_RIGHT,4,2                ## @INPUT_RIGHT
	.comm	_system_hw,8,3                  ## @system_hw
	.comm	_SYSTEM_PICO,8,3                ## @SYSTEM_PICO
	.comm	_pico_current,4,2               ## @pico_current
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_sdl_input_update               ; -- Begin function sdl_input_update
	.p2align	2
_sdl_input_update:                      ; @sdl_input_update
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.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
	mov	x0, #0
	bl	_SDL_GetKeyState
	mov	x19, x0
Lloh0:
	adrp	x20, _input@GOTPAGE
Lloh1:
	ldr	x20, [x20, _input@GOTPAGEOFF]
	ldr	x8, [x20, #16]
Lloh2:
	adrp	x21, _joynum@GOTPAGE
Lloh3:
	ldr	x21, [x21, _joynum@GOTPAGEOFF]
	ldr	x9, [x21]
	lsl	x10, x9, #2
	add	x8, x8, x10
	str	wzr, [x8]
	ldr	x11, [x20]
	ldr	w10, [x11, x10]
	sub	w10, w10, #128
	cmp	w10, #5
	b.hi	LBB0_20
; %bb.1:
Lloh4:
	adrp	x11, lJTI0_0@PAGE
Lloh5:
	add	x11, x11, lJTI0_0@PAGEOFF
	adr	x12, LBB0_2
	ldrb	w13, [x11, x10]
	add	x12, x12, x13, lsl #2
	br	x12
LBB0_2:
Lloh6:
	adrp	x10, _SDLK_a@GOTPAGE
Lloh7:
	ldr	x10, [x10, _SDLK_a@GOTPAGEOFF]
Lloh8:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_4
; %bb.3:
Lloh9:
	adrp	x10, _INPUT_START@GOTPAGE
Lloh10:
	ldr	x10, [x10, _INPUT_START@GOTPAGEOFF]
Lloh11:
	ldr	w10, [x10]
	str	w10, [x8]
LBB0_4:
Lloh12:
	adrp	x11, _SDLK_s@GOTPAGE
Lloh13:
	ldr	x11, [x11, _SDLK_s@GOTPAGEOFF]
Lloh14:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_6
; %bb.5:
Lloh15:
	adrp	x11, _INPUT_A@GOTPAGE
Lloh16:
	ldr	x11, [x11, _INPUT_A@GOTPAGEOFF]
Lloh17:
	ldr	w11, [x11]
	orr	w10, w10, w11
	str	w10, [x8]
LBB0_6:
Lloh18:
	adrp	x11, _SDLK_d@GOTPAGE
Lloh19:
	ldr	x11, [x11, _SDLK_d@GOTPAGEOFF]
Lloh20:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_8
; %bb.7:
Lloh21:
	adrp	x11, _INPUT_C@GOTPAGE
Lloh22:
	ldr	x11, [x11, _INPUT_C@GOTPAGEOFF]
Lloh23:
	ldr	w11, [x11]
	orr	w10, w10, w11
	str	w10, [x8]
LBB0_8:
Lloh24:
	adrp	x11, _SDLK_f@GOTPAGE
Lloh25:
	ldr	x11, [x11, _SDLK_f@GOTPAGEOFF]
Lloh26:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_10
; %bb.9:
Lloh27:
	adrp	x11, _INPUT_Y@GOTPAGE
Lloh28:
	ldr	x11, [x11, _INPUT_Y@GOTPAGEOFF]
Lloh29:
	ldr	w11, [x11]
	orr	w10, w10, w11
	str	w10, [x8]
LBB0_10:
Lloh30:
	adrp	x11, _SDLK_z@GOTPAGE
Lloh31:
	ldr	x11, [x11, _SDLK_z@GOTPAGEOFF]
Lloh32:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_12
; %bb.11:
Lloh33:
	adrp	x11, _INPUT_B@GOTPAGE
Lloh34:
	ldr	x11, [x11, _INPUT_B@GOTPAGEOFF]
Lloh35:
	ldr	w11, [x11]
	orr	w10, w10, w11
	str	w10, [x8]
LBB0_12:
Lloh36:
	adrp	x11, _SDLK_x@GOTPAGE
Lloh37:
	ldr	x11, [x11, _SDLK_x@GOTPAGEOFF]
Lloh38:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_14
; %bb.13:
Lloh39:
	adrp	x11, _INPUT_X@GOTPAGE
Lloh40:
	ldr	x11, [x11, _INPUT_X@GOTPAGEOFF]
Lloh41:
	ldr	w11, [x11]
	orr	w10, w10, w11
	str	w10, [x8]
LBB0_14:
Lloh42:
	adrp	x11, _SDLK_c@GOTPAGE
Lloh43:
	ldr	x11, [x11, _SDLK_c@GOTPAGEOFF]
Lloh44:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_16
; %bb.15:
Lloh45:
	adrp	x11, _INPUT_MODE@GOTPAGE
Lloh46:
	ldr	x11, [x11, _INPUT_MODE@GOTPAGEOFF]
Lloh47:
	ldr	w11, [x11]
	orr	w10, w10, w11
	str	w10, [x8]
LBB0_16:
Lloh48:
	adrp	x11, _SDLK_v@GOTPAGE
Lloh49:
	ldr	x11, [x11, _SDLK_v@GOTPAGEOFF]
Lloh50:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_18
; %bb.17:
Lloh51:
	adrp	x11, _INPUT_Z@GOTPAGE
Lloh52:
	ldr	x11, [x11, _INPUT_Z@GOTPAGEOFF]
Lloh53:
	ldr	w11, [x11]
	orr	w10, w10, w11
	str	w10, [x8]
LBB0_18:
Lloh54:
	adrp	x8, _SDLK_UP@GOTPAGE
Lloh55:
	ldr	x8, [x8, _SDLK_UP@GOTPAGEOFF]
Lloh56:
	ldr	x8, [x8]
	ldr	w8, [x19, x8, lsl #2]
	cbz	w8, LBB0_74
; %bb.19:
	ldr	x10, [x20, #8]
	ldr	x8, [x10, x9, lsl #3]
	ldr	w11, [x8, #4]
	sub	w11, w11, #2
	b	LBB0_77
LBB0_20:
	mov	w9, #0
	b	LBB0_48
LBB0_21:
	add	x0, sp, #12
	add	x1, sp, #8
	bl	_SDL_GetRelativeMouseState
	ldr	w8, [sp, #12]
	neg	w8, w8
	and	w8, w8, #0xff
	ldr	x9, [x20, #8]
	ldr	x10, [x21]
	ldr	x9, [x9, x10, lsl #3]
	str	w8, [x9]
	ldr	w8, [sp, #8]
	neg	w8, w8
	and	w8, w8, #0xff
	str	w8, [x9, #4]
Lloh57:
	adrp	x8, _SDL_BUTTON_LMASK@GOTPAGE
Lloh58:
	ldr	x8, [x8, _SDL_BUTTON_LMASK@GOTPAGEOFF]
Lloh59:
	ldr	w9, [x8]
	lsl	x8, x10, #2
	tst	w9, w0
	b.eq	LBB0_23
; %bb.22:
Lloh60:
	adrp	x9, _INPUT_B@GOTPAGE
Lloh61:
	ldr	x9, [x9, _INPUT_B@GOTPAGEOFF]
Lloh62:
	ldr	w9, [x9]
	ldr	x10, [x20, #16]
	ldr	w11, [x10, x8]
	orr	w9, w11, w9
	str	w9, [x10, x8]
LBB0_23:
Lloh63:
	adrp	x9, _SDL_BUTTON_RMASK@GOTPAGE
Lloh64:
	ldr	x9, [x9, _SDL_BUTTON_RMASK@GOTPAGEOFF]
Lloh65:
	ldr	w9, [x9]
	tst	w9, w0
	b.eq	LBB0_106
; %bb.24:
Lloh66:
	adrp	x9, _INPUT_C@GOTPAGE
Lloh67:
	ldr	x9, [x9, _INPUT_C@GOTPAGEOFF]
	b	LBB0_38
LBB0_25:
	add	x0, sp, #12
	mov	x1, #0
	bl	_SDL_GetMouseState
	ldr	w8, [sp, #12]
Lloh68:
	adrp	x9, _VIDEO_WIDTH@GOTPAGE
Lloh69:
	ldr	x9, [x9, _VIDEO_WIDTH@GOTPAGEOFF]
	lsl	w10, w8, #8
Lloh70:
	ldr	w9, [x9]
	ldr	x11, [x20, #8]
	ldr	x8, [x21]
	ldr	x11, [x11, x8, lsl #3]
	sdiv	w9, w10, w9
	str	w9, [x11]
Lloh71:
	adrp	x9, _SDL_BUTTON_LMASK@GOTPAGE
Lloh72:
	ldr	x9, [x9, _SDL_BUTTON_LMASK@GOTPAGEOFF]
Lloh73:
	ldr	w9, [x9]
	tst	w9, w0
	b.eq	LBB0_106
; %bb.26:
Lloh74:
	adrp	x9, _INPUT_B@GOTPAGE
Lloh75:
	ldr	x9, [x9, _INPUT_B@GOTPAGEOFF]
Lloh76:
	ldr	w9, [x9]
	ldr	x10, [x20, #16]
	lsl	x8, x8, #2
	b	LBB0_39
LBB0_27:
	add	x0, sp, #12
	add	x1, sp, #8
	bl	_SDL_GetRelativeMouseState
	ldr	w8, [sp, #12]
	lsl	w10, w8, #1
	ldr	x9, [x20, #8]
	ldr	x8, [x21]
	ldr	x9, [x9, x8, lsl #3]
	str	w10, [x9]
	ldr	w10, [sp, #8]
	lsl	w10, w10, #1
	str	w10, [x9, #4]
Lloh77:
	adrp	x11, _config@GOTPAGE
Lloh78:
	ldr	x11, [x11, _config@GOTPAGEOFF]
Lloh79:
	ldr	w11, [x11]
	cbnz	w11, LBB0_29
; %bb.28:
	neg	w10, w10
	str	w10, [x9, #4]
LBB0_29:
Lloh80:
	adrp	x9, _SDL_BUTTON_LMASK@GOTPAGE
Lloh81:
	ldr	x9, [x9, _SDL_BUTTON_LMASK@GOTPAGEOFF]
Lloh82:
	ldr	w9, [x9]
	lsl	x8, x8, #2
	tst	w9, w0
	b.ne	LBB0_31
	b	LBB0_32
LBB0_30:
	add	x0, sp, #12
	add	x1, sp, #8
	bl	_SDL_GetMouseState
	ldr	w8, [sp, #12]
Lloh83:
	adrp	x9, _bitmap@GOTPAGE
Lloh84:
	ldr	x9, [x9, _bitmap@GOTPAGEOFF]
	ldr	w10, [x9]
	mul	w8, w10, w8
Lloh85:
	adrp	x10, _VIDEO_WIDTH@GOTPAGE
Lloh86:
	ldr	x10, [x10, _VIDEO_WIDTH@GOTPAGEOFF]
Lloh87:
	ldr	w10, [x10]
	sdiv	w8, w8, w10
	ldr	x10, [x20, #8]
	ldr	x11, [x21]
	ldr	x10, [x10, x11, lsl #3]
	str	w8, [x10]
	ldr	w8, [sp, #8]
	ldr	w9, [x9, #4]
	mul	w8, w9, w8
Lloh88:
	adrp	x9, _VIDEO_HEIGHT@GOTPAGE
Lloh89:
	ldr	x9, [x9, _VIDEO_HEIGHT@GOTPAGEOFF]
Lloh90:
	ldr	w9, [x9]
	sdiv	w8, w8, w9
	str	w8, [x10, #4]
Lloh91:
	adrp	x8, _SDL_BUTTON_LMASK@GOTPAGE
Lloh92:
	ldr	x8, [x8, _SDL_BUTTON_LMASK@GOTPAGEOFF]
Lloh93:
	ldr	w9, [x8]
	lsl	x8, x11, #2
	tst	w9, w0
	b.eq	LBB0_32
LBB0_31:
Lloh94:
	adrp	x9, _INPUT_B@GOTPAGE
Lloh95:
	ldr	x9, [x9, _INPUT_B@GOTPAGEOFF]
Lloh96:
	ldr	w9, [x9]
	ldr	x10, [x20, #16]
	ldr	w11, [x10, x8]
	orr	w9, w11, w9
	str	w9, [x10, x8]
LBB0_32:
Lloh97:
	adrp	x9, _SDL_BUTTON_RMASK@GOTPAGE
Lloh98:
	ldr	x9, [x9, _SDL_BUTTON_RMASK@GOTPAGEOFF]
Lloh99:
	ldr	w9, [x9]
	tst	w9, w0
	b.eq	LBB0_34
; %bb.33:
Lloh100:
	adrp	x9, _INPUT_C@GOTPAGE
Lloh101:
	ldr	x9, [x9, _INPUT_C@GOTPAGEOFF]
Lloh102:
	ldr	w9, [x9]
	ldr	x10, [x20, #16]
	ldr	w11, [x10, x8]
	orr	w9, w11, w9
	str	w9, [x10, x8]
LBB0_34:
Lloh103:
	adrp	x9, _SDL_BUTTON_MMASK@GOTPAGE
Lloh104:
	ldr	x9, [x9, _SDL_BUTTON_MMASK@GOTPAGEOFF]
Lloh105:
	ldr	w9, [x9]
	tst	w9, w0
	b.eq	LBB0_36
; %bb.35:
Lloh106:
	adrp	x9, _INPUT_A@GOTPAGE
Lloh107:
	ldr	x9, [x9, _INPUT_A@GOTPAGEOFF]
Lloh108:
	ldr	w9, [x9]
	ldr	x10, [x20, #16]
	ldr	w11, [x10, x8]
	orr	w9, w11, w9
	str	w9, [x10, x8]
LBB0_36:
Lloh109:
	adrp	x9, _SDLK_f@GOTPAGE
Lloh110:
	ldr	x9, [x9, _SDLK_f@GOTPAGEOFF]
Lloh111:
	ldr	x9, [x9]
	ldr	w9, [x19, x9, lsl #2]
	cbz	w9, LBB0_106
; %bb.37:
Lloh112:
	adrp	x9, _INPUT_START@GOTPAGE
Lloh113:
	ldr	x9, [x9, _INPUT_START@GOTPAGEOFF]
LBB0_38:
	ldr	w9, [x9]
	ldr	x10, [x20, #16]
LBB0_39:
	ldr	w11, [x10, x8]
	orr	w9, w11, w9
	str	w9, [x10, x8]
	b	LBB0_106
LBB0_40:
Lloh114:
	adrp	x9, _SDLK_g@GOTPAGE
Lloh115:
	ldr	x9, [x9, _SDLK_g@GOTPAGEOFF]
Lloh116:
	ldr	x9, [x9]
	ldr	w9, [x19, x9, lsl #2]
	cbz	w9, LBB0_42
; %bb.41:
Lloh117:
	adrp	x9, _INPUT_ACTIVATOR_7L@GOTPAGE
Lloh118:
	ldr	x9, [x9, _INPUT_ACTIVATOR_7L@GOTPAGEOFF]
Lloh119:
	ldr	w9, [x9]
	str	w9, [x8]
LBB0_42:
Lloh120:
	adrp	x10, _SDLK_h@GOTPAGE
Lloh121:
	ldr	x10, [x10, _SDLK_h@GOTPAGEOFF]
Lloh122:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_44
; %bb.43:
Lloh123:
	adrp	x10, _INPUT_ACTIVATOR_7U@GOTPAGE
Lloh124:
	ldr	x10, [x10, _INPUT_ACTIVATOR_7U@GOTPAGEOFF]
Lloh125:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_44:
Lloh126:
	adrp	x10, _SDLK_j@GOTPAGE
Lloh127:
	ldr	x10, [x10, _SDLK_j@GOTPAGEOFF]
Lloh128:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_46
; %bb.45:
Lloh129:
	adrp	x10, _INPUT_ACTIVATOR_8L@GOTPAGE
Lloh130:
	ldr	x10, [x10, _INPUT_ACTIVATOR_8L@GOTPAGEOFF]
Lloh131:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_46:
Lloh132:
	adrp	x10, _SDLK_k@GOTPAGE
Lloh133:
	ldr	x10, [x10, _SDLK_k@GOTPAGEOFF]
Lloh134:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_48
; %bb.47:
Lloh135:
	adrp	x10, _INPUT_ACTIVATOR_8U@GOTPAGE
Lloh136:
	ldr	x10, [x10, _INPUT_ACTIVATOR_8U@GOTPAGEOFF]
Lloh137:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_48:
Lloh138:
	adrp	x10, _SDLK_a@GOTPAGE
Lloh139:
	ldr	x10, [x10, _SDLK_a@GOTPAGEOFF]
Lloh140:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_50
; %bb.49:
Lloh141:
	adrp	x10, _INPUT_A@GOTPAGE
Lloh142:
	ldr	x10, [x10, _INPUT_A@GOTPAGEOFF]
Lloh143:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_50:
Lloh144:
	adrp	x10, _SDLK_s@GOTPAGE
Lloh145:
	ldr	x10, [x10, _SDLK_s@GOTPAGEOFF]
Lloh146:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_52
; %bb.51:
Lloh147:
	adrp	x10, _INPUT_B@GOTPAGE
Lloh148:
	ldr	x10, [x10, _INPUT_B@GOTPAGEOFF]
Lloh149:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_52:
Lloh150:
	adrp	x10, _SDLK_d@GOTPAGE
Lloh151:
	ldr	x10, [x10, _SDLK_d@GOTPAGEOFF]
Lloh152:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_54
; %bb.53:
Lloh153:
	adrp	x10, _INPUT_C@GOTPAGE
Lloh154:
	ldr	x10, [x10, _INPUT_C@GOTPAGEOFF]
Lloh155:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_54:
Lloh156:
	adrp	x10, _SDLK_f@GOTPAGE
Lloh157:
	ldr	x10, [x10, _SDLK_f@GOTPAGEOFF]
Lloh158:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_56
; %bb.55:
Lloh159:
	adrp	x10, _INPUT_START@GOTPAGE
Lloh160:
	ldr	x10, [x10, _INPUT_START@GOTPAGEOFF]
Lloh161:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_56:
Lloh162:
	adrp	x10, _SDLK_z@GOTPAGE
Lloh163:
	ldr	x10, [x10, _SDLK_z@GOTPAGEOFF]
Lloh164:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_58
; %bb.57:
Lloh165:
	adrp	x10, _INPUT_X@GOTPAGE
Lloh166:
	ldr	x10, [x10, _INPUT_X@GOTPAGEOFF]
Lloh167:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_58:
Lloh168:
	adrp	x10, _SDLK_x@GOTPAGE
Lloh169:
	ldr	x10, [x10, _SDLK_x@GOTPAGEOFF]
Lloh170:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_60
; %bb.59:
Lloh171:
	adrp	x10, _INPUT_Y@GOTPAGE
Lloh172:
	ldr	x10, [x10, _INPUT_Y@GOTPAGEOFF]
Lloh173:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_60:
Lloh174:
	adrp	x10, _SDLK_c@GOTPAGE
Lloh175:
	ldr	x10, [x10, _SDLK_c@GOTPAGEOFF]
Lloh176:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_62
; %bb.61:
Lloh177:
	adrp	x10, _INPUT_Z@GOTPAGE
Lloh178:
	ldr	x10, [x10, _INPUT_Z@GOTPAGEOFF]
Lloh179:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_62:
Lloh180:
	adrp	x10, _SDLK_v@GOTPAGE
Lloh181:
	ldr	x10, [x10, _SDLK_v@GOTPAGEOFF]
Lloh182:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_64
; %bb.63:
Lloh183:
	adrp	x10, _INPUT_MODE@GOTPAGE
Lloh184:
	ldr	x10, [x10, _INPUT_MODE@GOTPAGEOFF]
Lloh185:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_64:
Lloh186:
	adrp	x10, _SDLK_UP@GOTPAGE
Lloh187:
	ldr	x10, [x10, _SDLK_UP@GOTPAGEOFF]
Lloh188:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_66
; %bb.65:
Lloh189:
	adrp	x10, _INPUT_UP@GOTPAGE
Lloh190:
	ldr	x10, [x10, _INPUT_UP@GOTPAGEOFF]
	b	LBB0_68
LBB0_66:
Lloh191:
	adrp	x10, _SDLK_DOWN@GOTPAGE
Lloh192:
	ldr	x10, [x10, _SDLK_DOWN@GOTPAGEOFF]
Lloh193:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_69
; %bb.67:
Lloh194:
	adrp	x10, _INPUT_DOWN@GOTPAGE
Lloh195:
	ldr	x10, [x10, _INPUT_DOWN@GOTPAGEOFF]
LBB0_68:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
LBB0_69:
Lloh196:
	adrp	x10, _SDLK_LEFT@GOTPAGE
Lloh197:
	ldr	x10, [x10, _SDLK_LEFT@GOTPAGEOFF]
Lloh198:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_71
; %bb.70:
Lloh199:
	adrp	x10, _INPUT_LEFT@GOTPAGE
Lloh200:
	ldr	x10, [x10, _INPUT_LEFT@GOTPAGEOFF]
	b	LBB0_73
LBB0_71:
Lloh201:
	adrp	x10, _SDLK_RIGHT@GOTPAGE
Lloh202:
	ldr	x10, [x10, _SDLK_RIGHT@GOTPAGEOFF]
Lloh203:
	ldr	x10, [x10]
	ldr	w10, [x19, x10, lsl #2]
	cbz	w10, LBB0_106
; %bb.72:
Lloh204:
	adrp	x10, _INPUT_RIGHT@GOTPAGE
Lloh205:
	ldr	x10, [x10, _INPUT_RIGHT@GOTPAGEOFF]
LBB0_73:
	ldr	w10, [x10]
	orr	w9, w9, w10
	str	w9, [x8]
	b	LBB0_106
LBB0_74:
Lloh206:
	adrp	x8, _SDLK_DOWN@GOTPAGE
Lloh207:
	ldr	x8, [x8, _SDLK_DOWN@GOTPAGEOFF]
Lloh208:
	ldr	x8, [x8]
	ldr	w11, [x19, x8, lsl #2]
	ldr	x10, [x20, #8]
	ldr	x8, [x10, x9, lsl #3]
	cbz	w11, LBB0_76
; %bb.75:
	ldr	w11, [x8, #4]
	add	w11, w11, #2
	b	LBB0_77
LBB0_76:
	mov	w11, #128
LBB0_77:
	str	w11, [x8, #4]
Lloh209:
	adrp	x11, _SDLK_LEFT@GOTPAGE
Lloh210:
	ldr	x11, [x11, _SDLK_LEFT@GOTPAGEOFF]
Lloh211:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_79
; %bb.78:
	mov	w11, #-2
	b	LBB0_81
LBB0_79:
Lloh212:
	adrp	x11, _SDLK_RIGHT@GOTPAGE
Lloh213:
	ldr	x11, [x11, _SDLK_RIGHT@GOTPAGEOFF]
Lloh214:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_114
; %bb.80:
	mov	w11, #2
LBB0_81:
	ldr	w12, [x8]
	add	w11, w12, w11
LBB0_82:
	str	w11, [x8]
Lloh215:
	adrp	x11, _SDLK_KP8@GOTPAGE
Lloh216:
	ldr	x11, [x11, _SDLK_KP8@GOTPAGEOFF]
Lloh217:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_84
LBB0_83:
	add	x9, x10, x9, lsl #3
	ldr	x9, [x9, #8]
	ldr	w10, [x9]
	sub	w10, w10, #2
	b	LBB0_87
LBB0_84:
Lloh218:
	adrp	x11, _SDLK_KP2@GOTPAGE
Lloh219:
	ldr	x11, [x11, _SDLK_KP2@GOTPAGEOFF]
Lloh220:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbz	w11, LBB0_115
; %bb.85:
	add	x9, x10, x9, lsl #3
	ldr	x9, [x9, #8]
LBB0_86:
	ldr	w10, [x9]
	add	w10, w10, #2
LBB0_87:
	str	w10, [x9]
	ldr	w10, [x8]
	cmp	w10, #255
	b.le	LBB0_89
; %bb.88:
	mov	w10, #255
	b	LBB0_91
LBB0_89:
	tbz	w10, #31, LBB0_92
; %bb.90:
	mov	w10, #0
LBB0_91:
	str	w10, [x8]
LBB0_92:
	ldr	w10, [x8, #4]
	cmp	w10, #255
	b.le	LBB0_94
; %bb.93:
	mov	w10, #255
	b	LBB0_96
LBB0_94:
	tbz	w10, #31, LBB0_97
; %bb.95:
	mov	w10, #0
LBB0_96:
	str	w10, [x8, #4]
LBB0_97:
	ldr	w8, [x9]
	cmp	w8, #255
	b.le	LBB0_99
; %bb.98:
	mov	w8, #255
	b	LBB0_101
LBB0_99:
	tbz	w8, #31, LBB0_102
; %bb.100:
	mov	w8, #0
LBB0_101:
	str	w8, [x9]
LBB0_102:
	ldr	w8, [x9, #4]
	cmp	w8, #256
	b.lt	LBB0_104
; %bb.103:
	mov	w8, #255
	str	w8, [x9, #4]
	b	LBB0_106
LBB0_104:
	tbz	w8, #31, LBB0_106
; %bb.105:
	str	wzr, [x9, #4]
LBB0_106:
Lloh221:
	adrp	x8, _system_hw@GOTPAGE
Lloh222:
	ldr	x8, [x8, _system_hw@GOTPAGEOFF]
Lloh223:
	ldr	x8, [x8]
Lloh224:
	adrp	x9, _SYSTEM_PICO@GOTPAGE
Lloh225:
	ldr	x9, [x9, _SYSTEM_PICO@GOTPAGEOFF]
Lloh226:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_113
; %bb.107:
	add	x0, sp, #12
	add	x1, sp, #8
	bl	_SDL_GetMouseState
	ldr	w8, [sp, #12]
	mov	w9, #321
	mul	w8, w8, w9
Lloh227:
	adrp	x9, _VIDEO_WIDTH@GOTPAGE
Lloh228:
	ldr	x9, [x9, _VIDEO_WIDTH@GOTPAGEOFF]
Lloh229:
	ldr	w9, [x9]
	sdiv	w8, w8, w9
	add	w8, w8, #60
	ldr	x9, [x20, #8]
	ldr	x9, [x9]
	str	w8, [x9]
	ldr	w8, [sp, #8]
	mov	w10, #252
	mul	w8, w8, w10
Lloh230:
	adrp	x10, _VIDEO_HEIGHT@GOTPAGE
Lloh231:
	ldr	x10, [x10, _VIDEO_HEIGHT@GOTPAGEOFF]
Lloh232:
	ldr	w10, [x10]
	sdiv	w8, w8, w10
	add	w8, w8, #508
	str	w8, [x9, #4]
Lloh233:
	adrp	x8, _SDL_BUTTON_MMASK@GOTPAGE
Lloh234:
	ldr	x8, [x8, _SDL_BUTTON_MMASK@GOTPAGEOFF]
Lloh235:
	ldr	w8, [x8]
	tst	w8, w0
	b.eq	LBB0_109
; %bb.108:
Lloh236:
	adrp	x8, _pico_current@GOTPAGE
Lloh237:
	ldr	x8, [x8, _pico_current@GOTPAGEOFF]
	ldr	w9, [x8]
	add	w9, w9, #1
	str	w9, [x8]
LBB0_109:
Lloh238:
	adrp	x8, _SDL_BUTTON_RMASK@GOTPAGE
Lloh239:
	ldr	x8, [x8, _SDL_BUTTON_RMASK@GOTPAGEOFF]
Lloh240:
	ldr	w8, [x8]
	tst	w8, w0
	b.eq	LBB0_111
; %bb.110:
Lloh241:
	adrp	x8, _INPUT_B@GOTPAGE
Lloh242:
	ldr	x8, [x8, _INPUT_B@GOTPAGEOFF]
Lloh243:
	ldr	w8, [x8]
	ldr	x9, [x20, #16]
	ldr	x10, [x21]
	lsl	x10, x10, #2
	ldr	w11, [x9, x10]
	orr	w8, w11, w8
	str	w8, [x9, x10]
LBB0_111:
Lloh244:
	adrp	x8, _SDL_BUTTON_LMASK@GOTPAGE
Lloh245:
	ldr	x8, [x8, _SDL_BUTTON_LMASK@GOTPAGEOFF]
Lloh246:
	ldr	w8, [x8]
	tst	w8, w0
	b.eq	LBB0_113
; %bb.112:
Lloh247:
	adrp	x8, _INPUT_A@GOTPAGE
Lloh248:
	ldr	x8, [x8, _INPUT_A@GOTPAGEOFF]
Lloh249:
	ldr	w8, [x8]
	ldr	x9, [x20, #16]
	ldr	x10, [x21]
	lsl	x10, x10, #2
	ldr	w11, [x9, x10]
	orr	w8, w11, w8
	str	w8, [x9, x10]
LBB0_113:
	mov	x0, x19
	bl	_free
	mov	w0, #1
	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
	add	sp, sp, #64
	ret
LBB0_114:
	mov	w11, #128
	b	LBB0_82
LBB0_115:
Lloh250:
	adrp	x11, _SDLK_KP4@GOTPAGE
Lloh251:
	ldr	x11, [x11, _SDLK_KP4@GOTPAGEOFF]
Lloh252:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	cbnz	w11, LBB0_83
; %bb.116:
Lloh253:
	adrp	x11, _SDLK_KP6@GOTPAGE
Lloh254:
	ldr	x11, [x11, _SDLK_KP6@GOTPAGEOFF]
Lloh255:
	ldr	x11, [x11]
	ldr	w11, [x19, x11, lsl #2]
	add	x9, x10, x9, lsl #3
	ldr	x9, [x9, #8]
	cbnz	w11, LBB0_86
; %bb.117:
	mov	w10, #128
	b	LBB0_87
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpAdd	Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGot	Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh71, Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh68, Lloh69, Lloh70
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh91, Lloh92, Lloh93
	.loh AdrpLdrGotLdr	Lloh88, Lloh89, Lloh90
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpLdrGot	Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh94, Lloh95, Lloh96
	.loh AdrpLdrGotLdr	Lloh97, Lloh98, Lloh99
	.loh AdrpLdrGotLdr	Lloh100, Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh106, Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh109, Lloh110, Lloh111
	.loh AdrpLdrGot	Lloh112, Lloh113
	.loh AdrpLdrGotLdr	Lloh114, Lloh115, Lloh116
	.loh AdrpLdrGotLdr	Lloh117, Lloh118, Lloh119
	.loh AdrpLdrGotLdr	Lloh120, Lloh121, Lloh122
	.loh AdrpLdrGotLdr	Lloh123, Lloh124, Lloh125
	.loh AdrpLdrGotLdr	Lloh126, Lloh127, Lloh128
	.loh AdrpLdrGotLdr	Lloh129, Lloh130, Lloh131
	.loh AdrpLdrGotLdr	Lloh132, Lloh133, Lloh134
	.loh AdrpLdrGotLdr	Lloh135, Lloh136, Lloh137
	.loh AdrpLdrGotLdr	Lloh138, Lloh139, Lloh140
	.loh AdrpLdrGotLdr	Lloh141, Lloh142, Lloh143
	.loh AdrpLdrGotLdr	Lloh144, Lloh145, Lloh146
	.loh AdrpLdrGotLdr	Lloh147, Lloh148, Lloh149
	.loh AdrpLdrGotLdr	Lloh150, Lloh151, Lloh152
	.loh AdrpLdrGotLdr	Lloh153, Lloh154, Lloh155
	.loh AdrpLdrGotLdr	Lloh156, Lloh157, Lloh158
	.loh AdrpLdrGotLdr	Lloh159, Lloh160, Lloh161
	.loh AdrpLdrGotLdr	Lloh162, Lloh163, Lloh164
	.loh AdrpLdrGotLdr	Lloh165, Lloh166, Lloh167
	.loh AdrpLdrGotLdr	Lloh168, Lloh169, Lloh170
	.loh AdrpLdrGotLdr	Lloh171, Lloh172, Lloh173
	.loh AdrpLdrGotLdr	Lloh174, Lloh175, Lloh176
	.loh AdrpLdrGotLdr	Lloh177, Lloh178, Lloh179
	.loh AdrpLdrGotLdr	Lloh180, Lloh181, Lloh182
	.loh AdrpLdrGotLdr	Lloh183, Lloh184, Lloh185
	.loh AdrpLdrGotLdr	Lloh186, Lloh187, Lloh188
	.loh AdrpLdrGot	Lloh189, Lloh190
	.loh AdrpLdrGotLdr	Lloh191, Lloh192, Lloh193
	.loh AdrpLdrGot	Lloh194, Lloh195
	.loh AdrpLdrGotLdr	Lloh196, Lloh197, Lloh198
	.loh AdrpLdrGot	Lloh199, Lloh200
	.loh AdrpLdrGotLdr	Lloh201, Lloh202, Lloh203
	.loh AdrpLdrGot	Lloh204, Lloh205
	.loh AdrpLdrGotLdr	Lloh206, Lloh207, Lloh208
	.loh AdrpLdrGotLdr	Lloh209, Lloh210, Lloh211
	.loh AdrpLdrGotLdr	Lloh212, Lloh213, Lloh214
	.loh AdrpLdrGotLdr	Lloh215, Lloh216, Lloh217
	.loh AdrpLdrGotLdr	Lloh218, Lloh219, Lloh220
	.loh AdrpLdrGotLdr	Lloh224, Lloh225, Lloh226
	.loh AdrpLdrGotLdr	Lloh221, Lloh222, Lloh223
	.loh AdrpLdrGotLdr	Lloh233, Lloh234, Lloh235
	.loh AdrpLdrGotLdr	Lloh230, Lloh231, Lloh232
	.loh AdrpLdrGotLdr	Lloh227, Lloh228, Lloh229
	.loh AdrpLdrGot	Lloh236, Lloh237
	.loh AdrpLdrGotLdr	Lloh238, Lloh239, Lloh240
	.loh AdrpLdrGotLdr	Lloh241, Lloh242, Lloh243
	.loh AdrpLdrGotLdr	Lloh244, Lloh245, Lloh246
	.loh AdrpLdrGotLdr	Lloh247, Lloh248, Lloh249
	.loh AdrpLdrGotLdr	Lloh250, Lloh251, Lloh252
	.loh AdrpLdrGotLdr	Lloh253, Lloh254, Lloh255
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_2-LBB0_2)>>2
	.byte	(LBB0_21-LBB0_2)>>2
	.byte	(LBB0_25-LBB0_2)>>2
	.byte	(LBB0_27-LBB0_2)>>2
	.byte	(LBB0_30-LBB0_2)>>2
	.byte	(LBB0_40-LBB0_2)>>2
                                        ; -- End function
	.comm	_input,24,3                     ; @input
	.comm	_joynum,8,3                     ; @joynum
	.comm	_bitmap,8,2                     ; @bitmap
	.comm	_VIDEO_WIDTH,4,2                ; @VIDEO_WIDTH
	.comm	_VIDEO_HEIGHT,4,2               ; @VIDEO_HEIGHT
	.comm	_SDL_BUTTON_LMASK,4,2           ; @SDL_BUTTON_LMASK
	.comm	_INPUT_B,4,2                    ; @INPUT_B
	.comm	_SDL_BUTTON_RMASK,4,2           ; @SDL_BUTTON_RMASK
	.comm	_INPUT_C,4,2                    ; @INPUT_C
	.comm	_SDL_BUTTON_MMASK,4,2           ; @SDL_BUTTON_MMASK
	.comm	_INPUT_A,4,2                    ; @INPUT_A
	.comm	_SDLK_f,8,3                     ; @SDLK_f
	.comm	_INPUT_START,4,2                ; @INPUT_START
	.comm	_config,4,2                     ; @config
	.comm	_SDLK_a,8,3                     ; @SDLK_a
	.comm	_SDLK_s,8,3                     ; @SDLK_s
	.comm	_SDLK_d,8,3                     ; @SDLK_d
	.comm	_INPUT_Y,4,2                    ; @INPUT_Y
	.comm	_SDLK_z,8,3                     ; @SDLK_z
	.comm	_SDLK_x,8,3                     ; @SDLK_x
	.comm	_INPUT_X,4,2                    ; @INPUT_X
	.comm	_SDLK_c,8,3                     ; @SDLK_c
	.comm	_INPUT_MODE,4,2                 ; @INPUT_MODE
	.comm	_SDLK_v,8,3                     ; @SDLK_v
	.comm	_INPUT_Z,4,2                    ; @INPUT_Z
	.comm	_SDLK_UP,8,3                    ; @SDLK_UP
	.comm	_SDLK_DOWN,8,3                  ; @SDLK_DOWN
	.comm	_SDLK_LEFT,8,3                  ; @SDLK_LEFT
	.comm	_SDLK_RIGHT,8,3                 ; @SDLK_RIGHT
	.comm	_SDLK_KP8,8,3                   ; @SDLK_KP8
	.comm	_SDLK_KP2,8,3                   ; @SDLK_KP2
	.comm	_SDLK_KP4,8,3                   ; @SDLK_KP4
	.comm	_SDLK_KP6,8,3                   ; @SDLK_KP6
	.comm	_SDLK_g,8,3                     ; @SDLK_g
	.comm	_INPUT_ACTIVATOR_7L,4,2         ; @INPUT_ACTIVATOR_7L
	.comm	_SDLK_h,8,3                     ; @SDLK_h
	.comm	_INPUT_ACTIVATOR_7U,4,2         ; @INPUT_ACTIVATOR_7U
	.comm	_SDLK_j,8,3                     ; @SDLK_j
	.comm	_INPUT_ACTIVATOR_8L,4,2         ; @INPUT_ACTIVATOR_8L
	.comm	_SDLK_k,8,3                     ; @SDLK_k
	.comm	_INPUT_ACTIVATOR_8U,4,2         ; @INPUT_ACTIVATOR_8U
	.comm	_INPUT_UP,4,2                   ; @INPUT_UP
	.comm	_INPUT_DOWN,4,2                 ; @INPUT_DOWN
	.comm	_INPUT_LEFT,4,2                 ; @INPUT_LEFT
	.comm	_INPUT_RIGHT,4,2                ; @INPUT_RIGHT
	.comm	_system_hw,8,3                  ; @system_hw
	.comm	_SYSTEM_PICO,8,3                ; @SYSTEM_PICO
	.comm	_pico_current,4,2               ; @pico_current
.subsections_via_symbols
