	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function wiimod_pro_in_ext
_wiimod_pro_in_ext:                     ## @wiimod_pro_in_ext
	.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	$40, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r13
	movq	%rdi, %r14
	movzbl	(%rsi), %r9d
	movl	4(%rsi), %edi
	movl	12(%rsi), %ecx
	andl	$15, %edi
	shll	$8, %edi
	movzbl	8(%rsi), %ebx
	andl	$15, %ecx
	shll	$8, %ecx
	movzbl	16(%rsi), %edx
	movl	20(%rsi), %eax
	andl	$15, %eax
	shll	$8, %eax
	movq	%rdx, -72(%rbp)                 ## 8-byte Spill
	leal	(%rax,%rdx), %r8d
	movzbl	24(%rsi), %edx
	movl	28(%rsi), %esi
	andl	$15, %esi
	shll	$8, %esi
	movq	%rdx, -64(%rbp)                 ## 8-byte Spill
	addl	%esi, %edx
	movl	$2048, %r12d                    ## imm = 0x800
	subl	%r8d, %r12d
	movl	$2048, %r15d                    ## imm = 0x800
	subl	%edx, %r15d
	movq	_WIIPROTO_FLAG_PRO_CALIB_DONE@GOTPCREL(%rip), %rdx
	movl	(%rdx), %r8d
	movq	%r9, %rdx
	leal	(%rdi,%r9), %r10d
	addl	$-2048, %r10d                   ## imm = 0xF800
	movq	%rbx, %r11
	addl	%ecx, %ebx
	addl	$-2048, %ebx                    ## imm = 0xF800
	movl	%ebx, -44(%rbp)                 ## 4-byte Spill
	movl	8(%r14), %r9d
	testl	%r9d, %r8d
	jne	LBB0_9
## %bb.1:
	movq	%r11, -56(%rbp)                 ## 8-byte Spill
	movq	-72(%rbp), %rbx                 ## 8-byte Reload
	orl	%edx, %edi
	leal	-2048(%rdi), %r11d
	negl	%r11d
	cmpl	$2048, %edi                     ## imm = 0x800
	movl	%r10d, %edi
	cmovbl	%r11d, %edi
	orl	%r9d, %r8d
	movl	%r8d, 8(%r14)
	cmpl	$499, %edi                      ## imm = 0x1F3
	jg	LBB0_3
## %bb.2:
	movq	16(%r14), %rdi
	movl	%r11d, (%rdi)
LBB0_3:
	addl	-56(%rbp), %ecx                 ## 4-byte Folded Reload
	movl	%r12d, %edi
	negl	%edi
	cmovsl	%r12d, %edi
	cmpl	$499, %edi                      ## imm = 0x1F3
	ja	LBB0_5
## %bb.4:
	addl	%ebx, %eax
	addl	$-2048, %eax                    ## imm = 0xF800
	movq	16(%r14), %rdi
	movl	%eax, 4(%rdi)
LBB0_5:
	leal	-2048(%rcx), %eax
	negl	%eax
	cmpl	$2048, %ecx                     ## imm = 0x800
	movl	-44(%rbp), %ecx                 ## 4-byte Reload
	cmovbl	%eax, %ecx
	cmpl	$499, %ecx                      ## imm = 0x1F3
	jg	LBB0_7
## %bb.6:
	movq	16(%r14), %rcx
	movl	%eax, 8(%rcx)
LBB0_7:
	movl	%r15d, %eax
	negl	%eax
	cmovsl	%r15d, %eax
	cmpl	$499, %eax                      ## imm = 0x1F3
	ja	LBB0_9
## %bb.8:
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	addl	%esi, %eax
	addl	$-2048, %eax                    ## imm = 0xF800
	movq	16(%r14), %rcx
	movl	%eax, 12(%rcx)
LBB0_9:
	movq	16(%r14), %rax
	addl	(%rax), %r10d
	addl	4(%rax), %r12d
	movl	-44(%rbp), %ebx                 ## 4-byte Reload
	addl	8(%rax), %ebx
	addl	12(%rax), %r15d
	movl	(%r14), %edi
	movq	_ABS_X@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r10d, %edx
	callq	_input_report_abs
	movl	(%r14), %edi
	movq	_ABS_Y@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r12d, %edx
	callq	_input_report_abs
	movl	(%r14), %edi
	movq	_ABS_RX@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%ebx, %edx
	callq	_input_report_abs
	movl	(%r14), %edi
	movq	_ABS_RY@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r15d, %edx
	callq	_input_report_abs
	movl	(%r14), %edi
	movq	_wiimod_pro_map@GOTPCREL(%rip), %r15
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_RIGHT@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$-128, 32(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_DOWN@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$64, 32(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_TL@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$32, 32(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_MINUS@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$16, 32(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_HOME@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$8, 32(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_PLUS@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$4, 32(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_TR@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$2, 32(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_ZL@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$-128, 36(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_B@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$64, 36(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_Y@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$32, 36(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_A@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$16, 36(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_X@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$8, 36(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_ZR@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$4, 36(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_LEFT@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$2, 36(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_UP@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	movl	36(%r13), %edx
	notl	%edx
	andl	$1, %edx
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_THUMBL@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	testb	$2, 40(%r13)
	sete	%dl
	callq	_input_report_key
	movl	(%r14), %edi
	movq	(%r15), %rax
	movq	_WIIMOD_PRO_KEY_THUMBR@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %esi
	movl	40(%r13), %edx
	notl	%edx
	andl	$1, %edx
	callq	_input_report_key
	movl	(%r14), %edi
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_input_sync                     ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_WIIPROTO_FLAG_PRO_CALIB_DONE,4,2 ## @WIIPROTO_FLAG_PRO_CALIB_DONE
	.comm	_ABS_X,4,2                      ## @ABS_X
	.comm	_ABS_Y,4,2                      ## @ABS_Y
	.comm	_ABS_RX,4,2                     ## @ABS_RX
	.comm	_ABS_RY,4,2                     ## @ABS_RY
	.comm	_wiimod_pro_map,8,3             ## @wiimod_pro_map
	.comm	_WIIMOD_PRO_KEY_RIGHT,8,3       ## @WIIMOD_PRO_KEY_RIGHT
	.comm	_WIIMOD_PRO_KEY_DOWN,8,3        ## @WIIMOD_PRO_KEY_DOWN
	.comm	_WIIMOD_PRO_KEY_TL,8,3          ## @WIIMOD_PRO_KEY_TL
	.comm	_WIIMOD_PRO_KEY_MINUS,8,3       ## @WIIMOD_PRO_KEY_MINUS
	.comm	_WIIMOD_PRO_KEY_HOME,8,3        ## @WIIMOD_PRO_KEY_HOME
	.comm	_WIIMOD_PRO_KEY_PLUS,8,3        ## @WIIMOD_PRO_KEY_PLUS
	.comm	_WIIMOD_PRO_KEY_TR,8,3          ## @WIIMOD_PRO_KEY_TR
	.comm	_WIIMOD_PRO_KEY_ZL,8,3          ## @WIIMOD_PRO_KEY_ZL
	.comm	_WIIMOD_PRO_KEY_B,8,3           ## @WIIMOD_PRO_KEY_B
	.comm	_WIIMOD_PRO_KEY_Y,8,3           ## @WIIMOD_PRO_KEY_Y
	.comm	_WIIMOD_PRO_KEY_A,8,3           ## @WIIMOD_PRO_KEY_A
	.comm	_WIIMOD_PRO_KEY_X,8,3           ## @WIIMOD_PRO_KEY_X
	.comm	_WIIMOD_PRO_KEY_ZR,8,3          ## @WIIMOD_PRO_KEY_ZR
	.comm	_WIIMOD_PRO_KEY_LEFT,8,3        ## @WIIMOD_PRO_KEY_LEFT
	.comm	_WIIMOD_PRO_KEY_UP,8,3          ## @WIIMOD_PRO_KEY_UP
	.comm	_WIIMOD_PRO_KEY_THUMBL,8,3      ## @WIIMOD_PRO_KEY_THUMBL
	.comm	_WIIMOD_PRO_KEY_THUMBR,8,3      ## @WIIMOD_PRO_KEY_THUMBR
	.no_dead_strip	_wiimod_pro_in_ext
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function wiimod_pro_in_ext
_wiimod_pro_in_ext:                     ; @wiimod_pro_in_ext
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	mov	x20, x1
	mov	x19, x0
	ldrb	w15, [x1]
	ldr	w8, [x1, #4]
	bfi	w15, w8, #8, #4
	ldrb	w13, [x1, #8]
	ldr	w8, [x1, #12]
	bfi	w13, w8, #8, #4
	ldrb	w14, [x1, #16]
	ldr	w8, [x1, #20]
	bfi	w14, w8, #8, #4
	ldrb	w12, [x1, #24]
	ldr	w8, [x1, #28]
	bfi	w12, w8, #8, #4
	sub	w10, w15, #2048
	mov	w16, #2048
	sub	w11, w16, w14
	sub	w8, w13, #2048
	sub	w9, w16, w12
	ldr	w17, [x0, #8]
Lloh0:
	adrp	x0, _WIIPROTO_FLAG_PRO_CALIB_DONE@GOTPAGE
Lloh1:
	ldr	x0, [x0, _WIIPROTO_FLAG_PRO_CALIB_DONE@GOTPAGEOFF]
Lloh2:
	ldr	w0, [x0]
	tst	w0, w17
	b.ne	LBB0_9
; %bb.1:
	orr	w17, w0, w17
	str	w17, [x19, #8]
	sub	w16, w16, w15
	cmp	w15, #2048
	csel	w15, w16, w10, lo
	cmp	w15, #499
	b.gt	LBB0_3
; %bb.2:
	ldr	x15, [x19, #16]
	str	w16, [x15]
LBB0_3:
	cmp	w11, #0
	cneg	w15, w11, mi
	cmp	w15, #499
	b.hi	LBB0_5
; %bb.4:
	sub	w14, w14, #2048
	ldr	x15, [x19, #16]
	str	w14, [x15, #4]
LBB0_5:
	mov	w14, #2048
	sub	w14, w14, w13
	cmp	w13, #2048
	csel	w13, w14, w8, lo
	cmp	w13, #499
	b.gt	LBB0_7
; %bb.6:
	ldr	x13, [x19, #16]
	str	w14, [x13, #8]
LBB0_7:
	cmp	w9, #0
	cneg	w13, w9, mi
	cmp	w13, #499
	b.hi	LBB0_9
; %bb.8:
	sub	w12, w12, #2048
	ldr	x13, [x19, #16]
	str	w12, [x13, #12]
LBB0_9:
	ldr	x12, [x19, #16]
	ldp	w13, w14, [x12]
	add	w2, w13, w10
	add	w21, w14, w11
	ldp	w10, w11, [x12, #8]
	add	w22, w10, w8
	add	w23, w11, w9
	ldr	w0, [x19]
Lloh3:
	adrp	x8, _ABS_X@GOTPAGE
Lloh4:
	ldr	x8, [x8, _ABS_X@GOTPAGEOFF]
Lloh5:
	ldr	w1, [x8]
	bl	_input_report_abs
	ldr	w0, [x19]
Lloh6:
	adrp	x8, _ABS_Y@GOTPAGE
Lloh7:
	ldr	x8, [x8, _ABS_Y@GOTPAGEOFF]
Lloh8:
	ldr	w1, [x8]
	mov	x2, x21
	bl	_input_report_abs
	ldr	w0, [x19]
Lloh9:
	adrp	x8, _ABS_RX@GOTPAGE
Lloh10:
	ldr	x8, [x8, _ABS_RX@GOTPAGEOFF]
Lloh11:
	ldr	w1, [x8]
	mov	x2, x22
	bl	_input_report_abs
	ldr	w0, [x19]
Lloh12:
	adrp	x8, _ABS_RY@GOTPAGE
Lloh13:
	ldr	x8, [x8, _ABS_RY@GOTPAGEOFF]
Lloh14:
	ldr	w1, [x8]
	mov	x2, x23
	bl	_input_report_abs
	ldr	w0, [x19]
Lloh15:
	adrp	x21, _wiimod_pro_map@GOTPAGE
Lloh16:
	ldr	x21, [x21, _wiimod_pro_map@GOTPAGEOFF]
	ldr	x8, [x21]
Lloh17:
	adrp	x9, _WIIMOD_PRO_KEY_RIGHT@GOTPAGE
Lloh18:
	ldr	x9, [x9, _WIIMOD_PRO_KEY_RIGHT@GOTPAGEOFF]
Lloh19:
	ldr	x9, [x9]
	ldr	w1, [x8, x9, lsl #2]
	ldr	w8, [x20, #32]
	mov	w22, #1
	bic	w2, w22, w8, lsr #7
	bl	_input_report_key
	ldr	w0, [x19]
Lloh20:
	adrp	x8, _WIIMOD_PRO_KEY_DOWN@GOTPAGE
Lloh21:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_DOWN@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh22:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #32]
	bic	w2, w22, w8, lsr #6
	bl	_input_report_key
	ldr	w0, [x19]
Lloh23:
	adrp	x8, _WIIMOD_PRO_KEY_TL@GOTPAGE
Lloh24:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_TL@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh25:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #32]
	bic	w2, w22, w8, lsr #5
	bl	_input_report_key
	ldr	w0, [x19]
Lloh26:
	adrp	x8, _WIIMOD_PRO_KEY_MINUS@GOTPAGE
Lloh27:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_MINUS@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh28:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #32]
	bic	w2, w22, w8, lsr #4
	bl	_input_report_key
	ldr	w0, [x19]
Lloh29:
	adrp	x8, _WIIMOD_PRO_KEY_HOME@GOTPAGE
Lloh30:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_HOME@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh31:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #32]
	bic	w2, w22, w8, lsr #3
	bl	_input_report_key
	ldr	w0, [x19]
Lloh32:
	adrp	x8, _WIIMOD_PRO_KEY_PLUS@GOTPAGE
Lloh33:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_PLUS@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh34:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #32]
	bic	w2, w22, w8, lsr #2
	bl	_input_report_key
	ldr	w0, [x19]
Lloh35:
	adrp	x8, _WIIMOD_PRO_KEY_TR@GOTPAGE
Lloh36:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_TR@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh37:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #32]
	bic	w2, w22, w8, lsr #1
	bl	_input_report_key
	ldr	w0, [x19]
Lloh38:
	adrp	x8, _WIIMOD_PRO_KEY_ZL@GOTPAGE
Lloh39:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_ZL@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh40:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #36]
	bic	w2, w22, w8, lsr #7
	bl	_input_report_key
	ldr	w0, [x19]
Lloh41:
	adrp	x8, _WIIMOD_PRO_KEY_B@GOTPAGE
Lloh42:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_B@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh43:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #36]
	bic	w2, w22, w8, lsr #6
	bl	_input_report_key
	ldr	w0, [x19]
Lloh44:
	adrp	x8, _WIIMOD_PRO_KEY_Y@GOTPAGE
Lloh45:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_Y@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh46:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #36]
	bic	w2, w22, w8, lsr #5
	bl	_input_report_key
	ldr	w0, [x19]
Lloh47:
	adrp	x8, _WIIMOD_PRO_KEY_A@GOTPAGE
Lloh48:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_A@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh49:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #36]
	bic	w2, w22, w8, lsr #4
	bl	_input_report_key
	ldr	w0, [x19]
Lloh50:
	adrp	x8, _WIIMOD_PRO_KEY_X@GOTPAGE
Lloh51:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_X@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh52:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #36]
	bic	w2, w22, w8, lsr #3
	bl	_input_report_key
	ldr	w0, [x19]
Lloh53:
	adrp	x8, _WIIMOD_PRO_KEY_ZR@GOTPAGE
Lloh54:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_ZR@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh55:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #36]
	bic	w2, w22, w8, lsr #2
	bl	_input_report_key
	ldr	w0, [x19]
Lloh56:
	adrp	x8, _WIIMOD_PRO_KEY_LEFT@GOTPAGE
Lloh57:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_LEFT@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh58:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #36]
	bic	w2, w22, w8, lsr #1
	bl	_input_report_key
	ldr	w0, [x19]
	ldr	x8, [x21]
Lloh59:
	adrp	x9, _WIIMOD_PRO_KEY_UP@GOTPAGE
Lloh60:
	ldr	x9, [x9, _WIIMOD_PRO_KEY_UP@GOTPAGEOFF]
Lloh61:
	ldr	x9, [x9]
	ldr	w1, [x8, x9, lsl #2]
	ldr	w8, [x20, #36]
	mvn	w8, w8
	and	w2, w8, #0x1
	bl	_input_report_key
	ldr	w0, [x19]
Lloh62:
	adrp	x8, _WIIMOD_PRO_KEY_THUMBL@GOTPAGE
Lloh63:
	ldr	x8, [x8, _WIIMOD_PRO_KEY_THUMBL@GOTPAGEOFF]
	ldr	x9, [x21]
Lloh64:
	ldr	x8, [x8]
	ldr	w1, [x9, x8, lsl #2]
	ldr	w8, [x20, #40]
	bic	w2, w22, w8, lsr #1
	bl	_input_report_key
	ldr	w0, [x19]
	ldr	x8, [x21]
Lloh65:
	adrp	x9, _WIIMOD_PRO_KEY_THUMBR@GOTPAGE
Lloh66:
	ldr	x9, [x9, _WIIMOD_PRO_KEY_THUMBR@GOTPAGEOFF]
Lloh67:
	ldr	x9, [x9]
	ldr	w1, [x8, x9, lsl #2]
	ldr	w8, [x20, #40]
	mvn	w8, w8
	and	w2, w8, #0x1
	bl	_input_report_key
	ldr	w0, [x19]
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	b	_input_sync
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh65, Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.comm	_WIIPROTO_FLAG_PRO_CALIB_DONE,4,2 ; @WIIPROTO_FLAG_PRO_CALIB_DONE
	.comm	_ABS_X,4,2                      ; @ABS_X
	.comm	_ABS_Y,4,2                      ; @ABS_Y
	.comm	_ABS_RX,4,2                     ; @ABS_RX
	.comm	_ABS_RY,4,2                     ; @ABS_RY
	.comm	_wiimod_pro_map,8,3             ; @wiimod_pro_map
	.comm	_WIIMOD_PRO_KEY_RIGHT,8,3       ; @WIIMOD_PRO_KEY_RIGHT
	.comm	_WIIMOD_PRO_KEY_DOWN,8,3        ; @WIIMOD_PRO_KEY_DOWN
	.comm	_WIIMOD_PRO_KEY_TL,8,3          ; @WIIMOD_PRO_KEY_TL
	.comm	_WIIMOD_PRO_KEY_MINUS,8,3       ; @WIIMOD_PRO_KEY_MINUS
	.comm	_WIIMOD_PRO_KEY_HOME,8,3        ; @WIIMOD_PRO_KEY_HOME
	.comm	_WIIMOD_PRO_KEY_PLUS,8,3        ; @WIIMOD_PRO_KEY_PLUS
	.comm	_WIIMOD_PRO_KEY_TR,8,3          ; @WIIMOD_PRO_KEY_TR
	.comm	_WIIMOD_PRO_KEY_ZL,8,3          ; @WIIMOD_PRO_KEY_ZL
	.comm	_WIIMOD_PRO_KEY_B,8,3           ; @WIIMOD_PRO_KEY_B
	.comm	_WIIMOD_PRO_KEY_Y,8,3           ; @WIIMOD_PRO_KEY_Y
	.comm	_WIIMOD_PRO_KEY_A,8,3           ; @WIIMOD_PRO_KEY_A
	.comm	_WIIMOD_PRO_KEY_X,8,3           ; @WIIMOD_PRO_KEY_X
	.comm	_WIIMOD_PRO_KEY_ZR,8,3          ; @WIIMOD_PRO_KEY_ZR
	.comm	_WIIMOD_PRO_KEY_LEFT,8,3        ; @WIIMOD_PRO_KEY_LEFT
	.comm	_WIIMOD_PRO_KEY_UP,8,3          ; @WIIMOD_PRO_KEY_UP
	.comm	_WIIMOD_PRO_KEY_THUMBL,8,3      ; @WIIMOD_PRO_KEY_THUMBL
	.comm	_WIIMOD_PRO_KEY_THUMBR,8,3      ; @WIIMOD_PRO_KEY_THUMBR
	.no_dead_strip	_wiimod_pro_in_ext
.subsections_via_symbols
