	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function wacom_intuos_general
_wacom_intuos_general:                  ## @wacom_intuos_general
	.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	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r15
	movq	(%rdi), %r13
	movq	40(%rdi), %rdx
	movl	56(%rdi), %eax
	movq	_INTUOS@GOTPCREL(%rip), %rcx
	movzbl	1(%r13), %r12d
	movl	%r12d, %r14d
	andl	$1, %r14d
	xorl	%ebx, %ebx
	cmpl	(%rcx), %eax
	cmovneq	%rbx, %r14
	movb	(%r13), %al
	movq	_WACOM_REPORT_PENABLED@GOTPCREL(%rip), %rcx
	cmpb	(%rcx), %al
	je	LBB0_3
## %bb.1:
	movq	_WACOM_REPORT_CINTIQ@GOTPCREL(%rip), %rcx
	cmpb	(%rcx), %al
	je	LBB0_3
## %bb.2:
	movq	_WACOM_REPORT_INTUOS_PEN@GOTPCREL(%rip), %rcx
	cmpb	(%rcx), %al
	jne	LBB0_4
LBB0_3:
	movq	%rdx, -48(%rbp)                 ## 8-byte Spill
	movq	%r15, %rdi
	callq	_delay_pen_events
	movl	$1, %ebx
	testq	%rax, %rax
	je	LBB0_5
LBB0_4:
	movl	%ebx, %eax
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_5:
	movq	8(%r15), %rax
	movl	(%rax,%r14,4), %eax
	testl	%eax, %eax
	je	LBB0_14
## %bb.6:
	testl	$65536, %eax                    ## imm = 0x10000
	jne	LBB0_8
## %bb.7:
	movl	56(%r15), %eax
	movq	_WACOM_21UX2@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_4
LBB0_8:
	movq	16(%r15), %rax
	movq	(%rax,%r14,8), %rcx
	movq	_BTN_TOOL_LENS@GOTPCREL(%rip), %rdx
	movl	56(%r15), %eax
	cmpq	(%rdx), %rcx
	jne	LBB0_10
## %bb.9:
	movq	_INTUOS3@GOTPCREL(%rip), %rcx
	movq	_INTUOS3S@GOTPCREL(%rip), %rdx
	movq	_INTUOS4@GOTPCREL(%rip), %rsi
	movq	_INTUOS4S@GOTPCREL(%rip), %rdi
	movq	_INTUOS5@GOTPCREL(%rip), %r8
	movq	_INTUOS5S@GOTPCREL(%rip), %r9
	movq	_INTUOSPM@GOTPCREL(%rip), %r10
	movq	_INTUOSPS@GOTPCREL(%rip), %r11
	movd	%eax, %xmm0
	movd	(%rcx), %xmm1                   ## xmm1 = mem[0],zero,zero,zero
	pinsrd	$1, (%rdx), %xmm1
	pinsrd	$2, (%rsi), %xmm1
	pshufd	$0, %xmm0, %xmm0                ## xmm0 = xmm0[0,0,0,0]
	pinsrd	$3, (%rdi), %xmm1
	movd	(%r8), %xmm2                    ## xmm2 = mem[0],zero,zero,zero
	pinsrd	$1, (%r9), %xmm2
	pinsrd	$2, (%r10), %xmm2
	pinsrd	$3, (%r11), %xmm2
	pcmpeqd	%xmm0, %xmm2
	pcmpeqd	%xmm0, %xmm1
	packssdw	%xmm2, %xmm1
	psllw	$15, %xmm1
	pmovmskb	%xmm1, %ecx
	testl	$43690, %ecx                    ## imm = 0xAAAA
	jne	LBB0_4
LBB0_10:
	movq	_CINTIQ@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_12
## %bb.11:
	testb	$64, 1(%r13)
	je	LBB0_4
LBB0_12:
	shrl	%r12d
	andl	$15, %r12d
	leaq	2(%r13), %rdi
	callq	_be16_to_cpup
                                        ## kill: def $eax killed $eax def $rax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movzbl	9(%r13), %ecx
	shrl	%ecx
	andl	$1, %ecx
	leal	(%rcx,%rax,2), %ebx
	leaq	4(%r13), %rdi
	callq	_be16_to_cpup
                                        ## kill: def $eax killed $eax def $rax
	movzbl	9(%r13), %esi
	movl	%esi, %ecx
	andl	$1, %ecx
	leal	(%rcx,%rax,2), %edi
	movl	56(%r15), %edx
	movq	_INTUOS3S@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %edx
	setl	%cl
	cmovll	-64(%rbp), %ebx                 ## 4-byte Folded Reload
	cmovll	%eax, %edi
	movl	%edi, -64(%rbp)                 ## 4-byte Spill
	orb	$2, %cl
	shrl	%cl, %esi
	movq	_INTUOSHT2@GOTPCREL(%rip), %rax
	cmpl	(%rax), %edx
	jne	LBB0_15
## %bb.13:
	movl	48(%r15), %eax
	subl	%esi, %eax
	movl	%eax, -52(%rbp)                 ## 4-byte Spill
	jmp	LBB0_16
LBB0_14:
	movq	%r15, %rdi
	callq	_wacom_intuos_schedule_prox_event
	jmp	LBB0_4
LBB0_15:
	movl	%esi, -52(%rbp)                 ## 4-byte Spill
LBB0_16:
	movq	_ABS_X@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movzbl	%bl, %edx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_input_report_abs
	movq	_ABS_Y@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movzbl	-64(%rbp), %edx                 ## 1-byte Folded Reload
	movq	%rbx, %rdi
	callq	_input_report_abs
	movq	_ABS_DISTANCE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movzbl	-52(%rbp), %edx                 ## 1-byte Folded Reload
	movq	%rbx, %rdi
	callq	_input_report_abs
	cmpl	$10, %r12d
	ja	LBB0_44
## %bb.17:
	movl	%r12d, %eax
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_18:
	movzbl	6(%r13), %eax
	movzbl	7(%r13), %ecx
	shrl	$5, %ecx
	andl	$6, %ecx
	leal	(%rcx,%rax,8), %ebx
	movzbl	1(%r13), %eax
	andl	$1, %eax
	orl	%ebx, %eax
	shrl	%ebx
	cmpl	$2047, 52(%r15)                 ## imm = 0x7FF
	cmovgel	%eax, %ebx
	movq	_ABS_PRESSURE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movzbl	%bl, %edx
	movq	-48(%rbp), %r12                 ## 8-byte Reload
	movq	%r12, %rdi
	callq	_input_report_abs
	movl	56(%r15), %eax
	movq	_INTUOSHT2@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_20
## %bb.19:
	movq	_ABS_TILT_X@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movb	7(%r13), %al
	movb	8(%r13), %cl
	shrb	$7, %cl
	addb	%al, %al
	orb	%cl, %al
	andb	$127, %al
	addb	$-64, %al
	movzbl	%al, %edx
	movq	%r12, %rdi
	callq	_input_report_abs
	movq	_ABS_TILT_Y@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movb	8(%r13), %al
	andb	$127, %al
	addb	$-64, %al
	movzbl	%al, %edx
	movq	%r12, %rdi
	callq	_input_report_abs
LBB0_20:
	movq	_BTN_STYLUS@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	1(%r13), %edx
	andl	$2, %edx
	movq	%r12, %rdi
	callq	_input_report_key
	movq	_BTN_STYLUS2@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	1(%r13), %edx
	andl	$4, %edx
	movq	%r12, %rdi
	callq	_input_report_key
	movq	_BTN_TOUCH@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	xorl	%edx, %edx
	cmpl	$11, %ebx
	setae	%dl
	movq	%r12, %rdi
LBB0_21:
	callq	_input_report_key
	jmp	LBB0_44
LBB0_22:
	movq	_BTN_LEFT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$1, %edx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_MIDDLE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$2, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_RIGHT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$4, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_SIDE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$32, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_EXTRA@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$16, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movzbl	6(%r13), %eax
	movzbl	7(%r13), %ecx
	shrl	$6, %ecx
	leal	(%rcx,%rax,4), %eax
	movq	_ABS_THROTTLE@GOTPCREL(%rip), %rcx
	movl	%eax, %edx
	negl	%edx
	testb	$8, 8(%r13)
	movl	(%rcx), %esi
	cmovel	%eax, %edx
	movzbl	%dl, %edx
	jmp	LBB0_30
LBB0_23:
	movq	_BTN_LEFT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	6(%r13), %edx
	andl	$1, %edx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_MIDDLE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	6(%r13), %edx
	andl	$2, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_RIGHT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	6(%r13), %edx
	andl	$4, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_REL_WHEEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movzbl	7(%r13), %eax
	movl	%eax, %ecx
	shrl	$7, %ecx
	shll	$25, %eax
	sarl	$31, %eax
	addl	%ecx, %eax
	movzbl	%al, %edx
	movq	%rbx, %rdi
	callq	_input_report_rel
	movq	_BTN_SIDE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	6(%r13), %edx
	andl	$8, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_EXTRA@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	6(%r13), %edx
	andl	$16, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	jmp	LBB0_29
LBB0_24:
	movq	16(%r15), %rax
	movq	(%rax,%r14,8), %rax
	movq	_BTN_TOOL_MOUSE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_33
## %bb.25:
	movq	_BTN_LEFT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$4, %edx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_MIDDLE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$8, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_RIGHT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$16, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_REL_WHEEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movzbl	8(%r13), %eax
	movl	%eax, %ecx
	andl	$1, %ecx
	shll	$30, %eax
	sarl	$31, %eax
	addl	%ecx, %eax
	movzbl	%al, %edx
	movq	%rbx, %rdi
	callq	_input_report_rel
	movl	56(%r15), %eax
	movq	_INTUOS3S@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jl	LBB0_44
## %bb.26:
	movq	_INTUOS3L@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jg	LBB0_44
## %bb.27:
	movq	_BTN_SIDE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$64, %edx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_EXTRA@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$32, %edx
	jmp	LBB0_35
LBB0_28:
	movq	_ABS_WHEEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movb	6(%r13), %al
	movb	7(%r13), %cl
	shrb	$6, %cl
	shlb	$2, %al
	orb	%cl, %al
	movzbl	%al, %edx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_input_report_abs
LBB0_29:
	movq	_ABS_TILT_X@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movb	7(%r13), %al
	movb	8(%r13), %cl
	shrb	$7, %cl
	addb	%al, %al
	orb	%cl, %al
	andb	$127, %al
	addb	$-64, %al
	movzbl	%al, %edx
	movq	%rbx, %rdi
	callq	_input_report_abs
	movq	_ABS_TILT_Y@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movb	8(%r13), %al
	andb	$127, %al
	addb	$-64, %al
	movzbl	%al, %edx
LBB0_30:
	movq	%rbx, %rdi
	jmp	LBB0_43
LBB0_31:
	movl	56(%r15), %edx
	movzbl	7(%r13), %ecx
	movl	%ecx, %eax
	shrl	$5, %eax
	movzbl	6(%r13), %esi
	leal	(%rax,%rsi,8), %eax
	movq	_INTUOS3S@GOTPCREL(%rip), %rsi
	cmpl	(%rsi), %edx
	jge	LBB0_36
## %bb.32:
	movq	_ABS_RZ@GOTPCREL(%rip), %rdx
	movl	(%rdx), %esi
	leal	-1(%rax), %edx
	negl	%eax
	testb	$32, %cl
	cmovnel	%edx, %eax
	shrl	%eax
	movzbl	%al, %edx
	jmp	LBB0_42
LBB0_33:
	movq	_BTN_TOOL_LENS@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_44
## %bb.34:
	movq	_BTN_LEFT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$1, %edx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_MIDDLE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$2, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_RIGHT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$4, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_SIDE@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$16, %edx
	movq	%rbx, %rdi
	callq	_input_report_key
	movq	_BTN_EXTRA@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movzbl	8(%r13), %edx
	andl	$8, %edx
LBB0_35:
	movq	%rbx, %rdi
	jmp	LBB0_21
LBB0_36:
	testb	$32, %cl
	jne	LBB0_38
## %bb.37:
	shrl	%eax
	movl	$450, %ecx                      ## imm = 0x1C2
	subl	%eax, %ecx
	jmp	LBB0_41
LBB0_38:
	leal	-1(%rax), %ecx
	shrl	%ecx
	cmpl	$901, %eax                      ## imm = 0x385
	jb	LBB0_40
## %bb.39:
	addl	$-1350, %ecx                    ## imm = 0xFABA
	jmp	LBB0_41
LBB0_40:
	addl	$450, %ecx                      ## imm = 0x1C2
LBB0_41:
	movq	_ABS_Z@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movzbl	%cl, %edx
LBB0_42:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
LBB0_43:
	callq	_input_report_abs
LBB0_44:
	movq	_ABS_MISC@GOTPCREL(%rip), %rax
	movl	(%rax), %r12d
	movq	8(%r15), %rax
	movl	(%rax,%r14,4), %edi
	callq	_wacom_intuos_id_mangle
	movzbl	%al, %edx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	movl	%r12d, %esi
	callq	_input_report_abs
	movq	16(%r15), %rax
	movq	(%rax,%r14,8), %rsi
	movq	%rbx, %rdi
	movl	$1, %edx
	callq	_input_report_key
	movq	_EV_MSC@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_MSC_SERIAL@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	32(%r15), %rax
	movl	(%rax,%r14,4), %ecx
	movq	%rbx, %rdi
	callq	_input_event
	movl	$1, 24(%r15)
	movl	$2, %ebx
	jmp	LBB0_4
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_18, LBB0_18-LJTI0_0
.set L0_0_set_22, LBB0_22-LJTI0_0
.set L0_0_set_31, LBB0_31-LJTI0_0
.set L0_0_set_23, LBB0_23-LJTI0_0
.set L0_0_set_44, LBB0_44-LJTI0_0
.set L0_0_set_24, LBB0_24-LJTI0_0
.set L0_0_set_28, LBB0_28-LJTI0_0
LJTI0_0:
	.long	L0_0_set_18
	.long	L0_0_set_18
	.long	L0_0_set_18
	.long	L0_0_set_18
	.long	L0_0_set_22
	.long	L0_0_set_31
	.long	L0_0_set_23
	.long	L0_0_set_44
	.long	L0_0_set_24
	.long	L0_0_set_44
	.long	L0_0_set_28
	.end_data_region
                                        ## -- End function
	.comm	_INTUOS,4,2                     ## @INTUOS
	.comm	_WACOM_REPORT_PENABLED,1,0      ## @WACOM_REPORT_PENABLED
	.comm	_WACOM_REPORT_CINTIQ,1,0        ## @WACOM_REPORT_CINTIQ
	.comm	_WACOM_REPORT_INTUOS_PEN,1,0    ## @WACOM_REPORT_INTUOS_PEN
	.comm	_WACOM_21UX2,4,2                ## @WACOM_21UX2
	.comm	_BTN_TOOL_LENS,8,3              ## @BTN_TOOL_LENS
	.comm	_INTUOS3,4,2                    ## @INTUOS3
	.comm	_INTUOS3S,4,2                   ## @INTUOS3S
	.comm	_INTUOS4,4,2                    ## @INTUOS4
	.comm	_INTUOS4S,4,2                   ## @INTUOS4S
	.comm	_INTUOS5,4,2                    ## @INTUOS5
	.comm	_INTUOS5S,4,2                   ## @INTUOS5S
	.comm	_INTUOSPM,4,2                   ## @INTUOSPM
	.comm	_INTUOSPS,4,2                   ## @INTUOSPS
	.comm	_CINTIQ,4,2                     ## @CINTIQ
	.comm	_INTUOSHT2,4,2                  ## @INTUOSHT2
	.comm	_ABS_X,4,2                      ## @ABS_X
	.comm	_ABS_Y,4,2                      ## @ABS_Y
	.comm	_ABS_DISTANCE,4,2               ## @ABS_DISTANCE
	.comm	_ABS_PRESSURE,4,2               ## @ABS_PRESSURE
	.comm	_ABS_TILT_X,4,2                 ## @ABS_TILT_X
	.comm	_ABS_TILT_Y,4,2                 ## @ABS_TILT_Y
	.comm	_BTN_STYLUS,8,3                 ## @BTN_STYLUS
	.comm	_BTN_STYLUS2,8,3                ## @BTN_STYLUS2
	.comm	_BTN_TOUCH,8,3                  ## @BTN_TOUCH
	.comm	_ABS_WHEEL,4,2                  ## @ABS_WHEEL
	.comm	_ABS_Z,4,2                      ## @ABS_Z
	.comm	_ABS_RZ,4,2                     ## @ABS_RZ
	.comm	_BTN_LEFT,8,3                   ## @BTN_LEFT
	.comm	_BTN_MIDDLE,8,3                 ## @BTN_MIDDLE
	.comm	_BTN_RIGHT,8,3                  ## @BTN_RIGHT
	.comm	_BTN_SIDE,8,3                   ## @BTN_SIDE
	.comm	_BTN_EXTRA,8,3                  ## @BTN_EXTRA
	.comm	_ABS_THROTTLE,4,2               ## @ABS_THROTTLE
	.comm	_REL_WHEEL,4,2                  ## @REL_WHEEL
	.comm	_BTN_TOOL_MOUSE,8,3             ## @BTN_TOOL_MOUSE
	.comm	_INTUOS3L,4,2                   ## @INTUOS3L
	.comm	_ABS_MISC,4,2                   ## @ABS_MISC
	.comm	_EV_MSC,4,2                     ## @EV_MSC
	.comm	_MSC_SERIAL,4,2                 ## @MSC_SERIAL
	.no_dead_strip	_wacom_intuos_general
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function wacom_intuos_general
_wacom_intuos_general:                  ; @wacom_intuos_general
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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
	ldr	x23, [x0]
	ldr	w8, [x0, #56]
Lloh0:
	adrp	x9, _INTUOS@GOTPAGE
Lloh1:
	ldr	x9, [x9, _INTUOS@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
	ldrb	w21, [x23, #1]
	and	x10, x21, #0x1
	cmp	w8, w9
	csel	x22, x10, xzr, eq
	ldrb	w8, [x23]
Lloh3:
	adrp	x9, _WACOM_REPORT_PENABLED@GOTPAGE
Lloh4:
	ldr	x9, [x9, _WACOM_REPORT_PENABLED@GOTPAGEOFF]
	ldrb	w9, [x9]
Lloh5:
	adrp	x10, _WACOM_REPORT_CINTIQ@GOTPAGE
Lloh6:
	ldr	x10, [x10, _WACOM_REPORT_CINTIQ@GOTPAGEOFF]
	ldrb	w10, [x10]
Lloh7:
	adrp	x11, _WACOM_REPORT_INTUOS_PEN@GOTPAGE
Lloh8:
	ldr	x11, [x11, _WACOM_REPORT_INTUOS_PEN@GOTPAGEOFF]
	ldrb	w11, [x11]
	cmp	w8, w9
	ccmp	w8, w10, #4, ne
	ccmp	w8, w11, #4, ne
	b.ne	LBB0_3
; %bb.1:
	mov	x19, x0
	ldr	x20, [x0, #40]
	bl	_delay_pen_events
	cbz	x0, LBB0_5
LBB0_2:
	mov	w0, #1
	b	LBB0_4
LBB0_3:
	mov	w0, #0
LBB0_4:
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
LBB0_5:
	ldr	x8, [x19, #8]
	ldr	w8, [x8, x22, lsl #2]
	cbz	w8, LBB0_27
; %bb.6:
	tbnz	w8, #16, LBB0_8
; %bb.7:
	ldr	w8, [x19, #56]
Lloh9:
	adrp	x9, _WACOM_21UX2@GOTPAGE
Lloh10:
	ldr	x9, [x9, _WACOM_21UX2@GOTPAGEOFF]
Lloh11:
	ldr	w9, [x9]
	cmp	w8, w9
	b.eq	LBB0_2
LBB0_8:
	ldr	x8, [x19, #16]
	ldr	x9, [x8, x22, lsl #3]
Lloh12:
	adrp	x25, _BTN_TOOL_LENS@GOTPAGE
Lloh13:
	ldr	x25, [x25, _BTN_TOOL_LENS@GOTPAGEOFF]
	ldr	x10, [x25]
	ldr	w8, [x19, #56]
Lloh14:
	adrp	x24, _INTUOS3S@GOTPAGE
Lloh15:
	ldr	x24, [x24, _INTUOS3S@GOTPAGEOFF]
	cmp	x9, x10
	b.ne	LBB0_17
; %bb.9:
Lloh16:
	adrp	x9, _INTUOS3@GOTPAGE
Lloh17:
	ldr	x9, [x9, _INTUOS3@GOTPAGEOFF]
Lloh18:
	ldr	w9, [x9]
	mov	w0, #1
	cmp	w8, w9
	b.eq	LBB0_4
; %bb.10:
	ldr	w9, [x24]
	cmp	w8, w9
	b.eq	LBB0_4
; %bb.11:
Lloh19:
	adrp	x9, _INTUOS4@GOTPAGE
Lloh20:
	ldr	x9, [x9, _INTUOS4@GOTPAGEOFF]
Lloh21:
	ldr	w9, [x9]
	cmp	w8, w9
	b.eq	LBB0_4
; %bb.12:
Lloh22:
	adrp	x9, _INTUOS4S@GOTPAGE
Lloh23:
	ldr	x9, [x9, _INTUOS4S@GOTPAGEOFF]
Lloh24:
	ldr	w9, [x9]
	cmp	w8, w9
	b.eq	LBB0_4
; %bb.13:
Lloh25:
	adrp	x9, _INTUOS5@GOTPAGE
Lloh26:
	ldr	x9, [x9, _INTUOS5@GOTPAGEOFF]
Lloh27:
	ldr	w9, [x9]
	cmp	w8, w9
	b.eq	LBB0_4
; %bb.14:
Lloh28:
	adrp	x9, _INTUOS5S@GOTPAGE
Lloh29:
	ldr	x9, [x9, _INTUOS5S@GOTPAGEOFF]
Lloh30:
	ldr	w9, [x9]
	cmp	w8, w9
	b.eq	LBB0_4
; %bb.15:
Lloh31:
	adrp	x9, _INTUOSPM@GOTPAGE
Lloh32:
	ldr	x9, [x9, _INTUOSPM@GOTPAGEOFF]
Lloh33:
	ldr	w9, [x9]
	cmp	w8, w9
	b.eq	LBB0_4
; %bb.16:
Lloh34:
	adrp	x9, _INTUOSPS@GOTPAGE
Lloh35:
	ldr	x9, [x9, _INTUOSPS@GOTPAGEOFF]
Lloh36:
	ldr	w9, [x9]
	cmp	w8, w9
	b.eq	LBB0_4
LBB0_17:
Lloh37:
	adrp	x9, _CINTIQ@GOTPAGE
Lloh38:
	ldr	x9, [x9, _CINTIQ@GOTPAGEOFF]
Lloh39:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ne	LBB0_19
; %bb.18:
	ldrb	w8, [x23, #1]
	tbz	w8, #6, LBB0_2
LBB0_19:
	ubfx	w26, w21, #1, #4
	add	x0, x23, #2
	bl	_be16_to_cpup
	mov	x21, x0
	ldrb	w8, [x23, #9]
	lsr	w27, w8, #1
	bfi	w27, w0, #1, #31
	add	x0, x23, #4
	bl	_be16_to_cpup
	ldrb	w9, [x23, #9]
	ldr	w10, [x19, #56]
	ldr	w8, [x24]
	cmp	w10, w8
	csel	w8, w21, w27, lt
	mov	w11, #2
	cinc	w11, w11, lt
	lsr	w27, w9, w11
	bfi	w9, w0, #1, #31
	csel	w28, w0, w9, lt
Lloh40:
	adrp	x21, _INTUOSHT2@GOTPAGE
Lloh41:
	ldr	x21, [x21, _INTUOSHT2@GOTPAGEOFF]
	ldr	w9, [x21]
	cmp	w10, w9
	b.ne	LBB0_21
; %bb.20:
	ldr	w9, [x19, #48]
	sub	w27, w9, w27
LBB0_21:
Lloh42:
	adrp	x9, _ABS_X@GOTPAGE
Lloh43:
	ldr	x9, [x9, _ABS_X@GOTPAGEOFF]
Lloh44:
	ldr	w1, [x9]
	and	w2, w8, #0xff
	mov	x0, x20
	bl	_input_report_abs
Lloh45:
	adrp	x8, _ABS_Y@GOTPAGE
Lloh46:
	ldr	x8, [x8, _ABS_Y@GOTPAGEOFF]
Lloh47:
	ldr	w1, [x8]
	and	w2, w28, #0xff
	mov	x0, x20
	bl	_input_report_abs
Lloh48:
	adrp	x8, _ABS_DISTANCE@GOTPAGE
Lloh49:
	ldr	x8, [x8, _ABS_DISTANCE@GOTPAGEOFF]
Lloh50:
	ldr	w1, [x8]
	and	w2, w27, #0xff
	mov	x0, x20
	bl	_input_report_abs
	cmp	w26, #10
	b.hi	LBB0_40
; %bb.22:
Lloh51:
	adrp	x8, lJTI0_0@PAGE
Lloh52:
	add	x8, x8, lJTI0_0@PAGEOFF
	adr	x9, LBB0_23
	ldrh	w10, [x8, x26, lsl #1]
	add	x9, x9, x10, lsl #2
	br	x9
LBB0_23:
	ldrb	w8, [x23, #6]
	ldrb	w9, [x23, #7]
	lsr	w9, w9, #5
	and	w9, w9, #0x6
	bfi	w9, w8, #3, #8
	ldrb	w8, [x23, #1]
	ldr	w10, [x19, #52]
	lsr	w11, w9, #1
	bfxil	w9, w8, #0, #1
	cmp	w10, #2047
	csel	w24, w11, w9, lt
Lloh53:
	adrp	x8, _ABS_PRESSURE@GOTPAGE
Lloh54:
	ldr	x8, [x8, _ABS_PRESSURE@GOTPAGEOFF]
Lloh55:
	ldr	w1, [x8]
	and	w2, w24, #0xff
	mov	x0, x20
	bl	_input_report_abs
	ldr	w8, [x19, #56]
	ldr	w9, [x21]
	cmp	w8, w9
	b.eq	LBB0_25
; %bb.24:
Lloh56:
	adrp	x8, _ABS_TILT_X@GOTPAGE
Lloh57:
	ldr	x8, [x8, _ABS_TILT_X@GOTPAGEOFF]
Lloh58:
	ldr	w1, [x8]
	ldrb	w8, [x23, #7]
	ldrb	w9, [x23, #8]
	lsr	w9, w9, #7
	bfi	w9, w8, #1, #6
	sub	w8, w9, #64
	and	w2, w8, #0xff
	mov	x0, x20
	bl	_input_report_abs
Lloh59:
	adrp	x8, _ABS_TILT_Y@GOTPAGE
Lloh60:
	ldr	x8, [x8, _ABS_TILT_Y@GOTPAGEOFF]
Lloh61:
	ldr	w1, [x8]
	ldrb	w8, [x23, #8]
	and	w8, w8, #0x7f
	sub	w8, w8, #64
	and	w2, w8, #0xff
	mov	x0, x20
	bl	_input_report_abs
LBB0_25:
Lloh62:
	adrp	x8, _BTN_STYLUS@GOTPAGE
Lloh63:
	ldr	x8, [x8, _BTN_STYLUS@GOTPAGEOFF]
Lloh64:
	ldr	x1, [x8]
	ldrb	w8, [x23, #1]
	and	w2, w8, #0x2
	mov	x0, x20
	bl	_input_report_key
Lloh65:
	adrp	x8, _BTN_STYLUS2@GOTPAGE
Lloh66:
	ldr	x8, [x8, _BTN_STYLUS2@GOTPAGEOFF]
Lloh67:
	ldr	x1, [x8]
	ldrb	w8, [x23, #1]
	and	w2, w8, #0x4
	mov	x0, x20
	bl	_input_report_key
Lloh68:
	adrp	x8, _BTN_TOUCH@GOTPAGE
Lloh69:
	ldr	x8, [x8, _BTN_TOUCH@GOTPAGEOFF]
Lloh70:
	ldr	x1, [x8]
	cmp	w24, #10
	cset	w2, hi
LBB0_26:
	mov	x0, x20
	bl	_input_report_key
	b	LBB0_40
LBB0_27:
	mov	x0, x19
	bl	_wacom_intuos_schedule_prox_event
	mov	w0, #1
	b	LBB0_4
LBB0_28:
Lloh71:
	adrp	x8, _BTN_LEFT@GOTPAGE
Lloh72:
	ldr	x8, [x8, _BTN_LEFT@GOTPAGEOFF]
Lloh73:
	ldr	x1, [x8]
	ldrb	w8, [x23, #6]
	and	w2, w8, #0x1
	mov	x0, x20
	bl	_input_report_key
Lloh74:
	adrp	x8, _BTN_MIDDLE@GOTPAGE
Lloh75:
	ldr	x8, [x8, _BTN_MIDDLE@GOTPAGEOFF]
Lloh76:
	ldr	x1, [x8]
	ldrb	w8, [x23, #6]
	and	w2, w8, #0x2
	mov	x0, x20
	bl	_input_report_key
Lloh77:
	adrp	x8, _BTN_RIGHT@GOTPAGE
Lloh78:
	ldr	x8, [x8, _BTN_RIGHT@GOTPAGEOFF]
Lloh79:
	ldr	x1, [x8]
	ldrb	w8, [x23, #6]
	and	w2, w8, #0x4
	mov	x0, x20
	bl	_input_report_key
Lloh80:
	adrp	x8, _REL_WHEEL@GOTPAGE
Lloh81:
	ldr	x8, [x8, _REL_WHEEL@GOTPAGEOFF]
Lloh82:
	ldr	w1, [x8]
	ldrb	w8, [x23, #7]
	sbfx	w9, w8, #6, #1
	add	w8, w9, w8, lsr #7
	and	w2, w8, #0xff
	mov	x0, x20
	bl	_input_report_rel
Lloh83:
	adrp	x8, _BTN_SIDE@GOTPAGE
Lloh84:
	ldr	x8, [x8, _BTN_SIDE@GOTPAGEOFF]
Lloh85:
	ldr	x1, [x8]
	ldrb	w8, [x23, #6]
	and	w2, w8, #0x8
	mov	x0, x20
	bl	_input_report_key
Lloh86:
	adrp	x8, _BTN_EXTRA@GOTPAGE
Lloh87:
	ldr	x8, [x8, _BTN_EXTRA@GOTPAGEOFF]
Lloh88:
	ldr	x1, [x8]
	ldrb	w8, [x23, #6]
	and	w2, w8, #0x10
	mov	x0, x20
	bl	_input_report_key
	b	LBB0_37
LBB0_29:
	ldr	x8, [x19, #16]
	ldr	x8, [x8, x22, lsl #3]
Lloh89:
	adrp	x9, _BTN_TOOL_MOUSE@GOTPAGE
Lloh90:
	ldr	x9, [x9, _BTN_TOOL_MOUSE@GOTPAGEOFF]
Lloh91:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_41
; %bb.30:
Lloh92:
	adrp	x8, _BTN_LEFT@GOTPAGE
Lloh93:
	ldr	x8, [x8, _BTN_LEFT@GOTPAGEOFF]
Lloh94:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x4
	mov	x0, x20
	bl	_input_report_key
Lloh95:
	adrp	x8, _BTN_MIDDLE@GOTPAGE
Lloh96:
	ldr	x8, [x8, _BTN_MIDDLE@GOTPAGEOFF]
Lloh97:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x8
	mov	x0, x20
	bl	_input_report_key
Lloh98:
	adrp	x8, _BTN_RIGHT@GOTPAGE
Lloh99:
	ldr	x8, [x8, _BTN_RIGHT@GOTPAGEOFF]
Lloh100:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x10
	mov	x0, x20
	bl	_input_report_key
Lloh101:
	adrp	x8, _REL_WHEEL@GOTPAGE
Lloh102:
	ldr	x8, [x8, _REL_WHEEL@GOTPAGEOFF]
Lloh103:
	ldr	w1, [x8]
	ldrb	w8, [x23, #8]
	and	w9, w8, #0x1
	lsl	w8, w8, #30
	add	w8, w9, w8, asr #31
	and	w2, w8, #0xff
	mov	x0, x20
	bl	_input_report_rel
	ldr	w8, [x19, #56]
	ldr	w9, [x24]
	cmp	w8, w9
	b.lt	LBB0_40
; %bb.31:
Lloh104:
	adrp	x9, _INTUOS3L@GOTPAGE
Lloh105:
	ldr	x9, [x9, _INTUOS3L@GOTPAGEOFF]
Lloh106:
	ldr	w9, [x9]
	cmp	w8, w9
	b.gt	LBB0_40
; %bb.32:
Lloh107:
	adrp	x8, _BTN_SIDE@GOTPAGE
Lloh108:
	ldr	x8, [x8, _BTN_SIDE@GOTPAGEOFF]
Lloh109:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x40
	mov	x0, x20
	bl	_input_report_key
Lloh110:
	adrp	x8, _BTN_EXTRA@GOTPAGE
Lloh111:
	ldr	x8, [x8, _BTN_EXTRA@GOTPAGEOFF]
Lloh112:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x20
	b	LBB0_26
LBB0_33:
Lloh113:
	adrp	x8, _BTN_LEFT@GOTPAGE
Lloh114:
	ldr	x8, [x8, _BTN_LEFT@GOTPAGEOFF]
Lloh115:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x1
	mov	x0, x20
	bl	_input_report_key
Lloh116:
	adrp	x8, _BTN_MIDDLE@GOTPAGE
Lloh117:
	ldr	x8, [x8, _BTN_MIDDLE@GOTPAGEOFF]
Lloh118:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x2
	mov	x0, x20
	bl	_input_report_key
Lloh119:
	adrp	x8, _BTN_RIGHT@GOTPAGE
Lloh120:
	ldr	x8, [x8, _BTN_RIGHT@GOTPAGEOFF]
Lloh121:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x4
	mov	x0, x20
	bl	_input_report_key
Lloh122:
	adrp	x8, _BTN_SIDE@GOTPAGE
Lloh123:
	ldr	x8, [x8, _BTN_SIDE@GOTPAGEOFF]
Lloh124:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x20
	mov	x0, x20
	bl	_input_report_key
Lloh125:
	adrp	x8, _BTN_EXTRA@GOTPAGE
Lloh126:
	ldr	x8, [x8, _BTN_EXTRA@GOTPAGEOFF]
Lloh127:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x10
	mov	x0, x20
	bl	_input_report_key
	ldrb	w8, [x23, #6]
	ldrb	w9, [x23, #7]
	lsr	w9, w9, #6
Lloh128:
	adrp	x10, _ABS_THROTTLE@GOTPAGE
Lloh129:
	ldr	x10, [x10, _ABS_THROTTLE@GOTPAGEOFF]
	bfi	w9, w8, #2, #8
Lloh130:
	ldr	w1, [x10]
	ldrb	w8, [x23, #8]
	tst	w8, #0x8
	cneg	w8, w9, ne
	b	LBB0_38
LBB0_34:
	ldr	w10, [x19, #56]
	ldr	w11, [x24]
	ldrb	w12, [x23, #6]
	ldrb	w8, [x23, #7]
	lsr	w9, w8, #5
	bfi	w9, w12, #3, #8
	cmp	w10, w11
	b.ge	LBB0_43
; %bb.35:
Lloh131:
	adrp	x10, _ABS_RZ@GOTPAGE
Lloh132:
	ldr	x10, [x10, _ABS_RZ@GOTPAGEOFF]
Lloh133:
	ldr	w1, [x10]
	sub	w10, w9, #1
	tst	w8, #0x20
	csneg	w8, w10, w9, ne
	ubfx	w2, w8, #1, #8
	b	LBB0_39
LBB0_36:
Lloh134:
	adrp	x8, _ABS_WHEEL@GOTPAGE
Lloh135:
	ldr	x8, [x8, _ABS_WHEEL@GOTPAGEOFF]
Lloh136:
	ldr	w1, [x8]
	ldrb	w8, [x23, #6]
	ldrb	w9, [x23, #7]
	lsl	w9, w9, #24
	extr	w8, w8, w9, #30
	and	w2, w8, #0xff
	mov	x0, x20
	bl	_input_report_abs
LBB0_37:
Lloh137:
	adrp	x8, _ABS_TILT_X@GOTPAGE
Lloh138:
	ldr	x8, [x8, _ABS_TILT_X@GOTPAGEOFF]
Lloh139:
	ldr	w1, [x8]
	ldrb	w8, [x23, #7]
	ldrb	w9, [x23, #8]
	lsr	w9, w9, #7
	bfi	w9, w8, #1, #6
	sub	w8, w9, #64
	and	w2, w8, #0xff
	mov	x0, x20
	bl	_input_report_abs
Lloh140:
	adrp	x8, _ABS_TILT_Y@GOTPAGE
Lloh141:
	ldr	x8, [x8, _ABS_TILT_Y@GOTPAGEOFF]
Lloh142:
	ldr	w1, [x8]
	ldrb	w8, [x23, #8]
	and	w8, w8, #0x7f
	sub	w8, w8, #64
LBB0_38:
	and	w2, w8, #0xff
LBB0_39:
	mov	x0, x20
	bl	_input_report_abs
LBB0_40:
Lloh143:
	adrp	x8, _ABS_MISC@GOTPAGE
Lloh144:
	ldr	x8, [x8, _ABS_MISC@GOTPAGEOFF]
Lloh145:
	ldr	w21, [x8]
	ldr	x8, [x19, #8]
	lsl	x23, x22, #2
	ldr	w0, [x8, x23]
	bl	_wacom_intuos_id_mangle
	mov	x2, x0
	mov	x0, x20
	mov	x1, x21
	bl	_input_report_abs
	ldr	x8, [x19, #16]
	ldr	x1, [x8, x22, lsl #3]
	mov	w21, #1
	mov	x0, x20
	mov	w2, #1
	bl	_input_report_key
Lloh146:
	adrp	x8, _EV_MSC@GOTPAGE
Lloh147:
	ldr	x8, [x8, _EV_MSC@GOTPAGEOFF]
Lloh148:
	ldr	w1, [x8]
Lloh149:
	adrp	x8, _MSC_SERIAL@GOTPAGE
Lloh150:
	ldr	x8, [x8, _MSC_SERIAL@GOTPAGEOFF]
Lloh151:
	ldr	w2, [x8]
	ldr	x8, [x19, #32]
	ldr	w3, [x8, x23]
	mov	x0, x20
	bl	_input_event
	str	w21, [x19, #24]
	mov	w0, #2
	b	LBB0_4
LBB0_41:
	ldr	x9, [x25]
	cmp	x8, x9
	b.ne	LBB0_40
; %bb.42:
Lloh152:
	adrp	x8, _BTN_LEFT@GOTPAGE
Lloh153:
	ldr	x8, [x8, _BTN_LEFT@GOTPAGEOFF]
Lloh154:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x1
	mov	x0, x20
	bl	_input_report_key
Lloh155:
	adrp	x8, _BTN_MIDDLE@GOTPAGE
Lloh156:
	ldr	x8, [x8, _BTN_MIDDLE@GOTPAGEOFF]
Lloh157:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x2
	mov	x0, x20
	bl	_input_report_key
Lloh158:
	adrp	x8, _BTN_RIGHT@GOTPAGE
Lloh159:
	ldr	x8, [x8, _BTN_RIGHT@GOTPAGEOFF]
Lloh160:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x4
	mov	x0, x20
	bl	_input_report_key
Lloh161:
	adrp	x8, _BTN_SIDE@GOTPAGE
Lloh162:
	ldr	x8, [x8, _BTN_SIDE@GOTPAGEOFF]
Lloh163:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x10
	mov	x0, x20
	bl	_input_report_key
Lloh164:
	adrp	x8, _BTN_EXTRA@GOTPAGE
Lloh165:
	ldr	x8, [x8, _BTN_EXTRA@GOTPAGEOFF]
Lloh166:
	ldr	x1, [x8]
	ldrb	w8, [x23, #8]
	and	w2, w8, #0x8
	b	LBB0_26
LBB0_43:
	mov	w10, #450
	sub	w10, w10, w9, lsr #1
	sub	w11, w9, #1
	lsr	w11, w11, #1
	add	w12, w11, #450
	sub	w11, w11, #1350
	cmp	w9, #901
	csel	w9, w12, w11, lo
	tst	w8, #0x20
	csel	w8, w10, w9, eq
Lloh167:
	adrp	x9, _ABS_Z@GOTPAGE
Lloh168:
	ldr	x9, [x9, _ABS_Z@GOTPAGEOFF]
Lloh169:
	ldr	w1, [x9]
	b	LBB0_38
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdrGot	Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGot	Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpAdd	Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh68, Lloh69, Lloh70
	.loh AdrpLdrGotLdr	Lloh65, Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpLdrGotLdr	Lloh86, Lloh87, Lloh88
	.loh AdrpLdrGotLdr	Lloh83, Lloh84, Lloh85
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh71, Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh89, Lloh90, Lloh91
	.loh AdrpLdrGotLdr	Lloh101, Lloh102, Lloh103
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpLdrGotLdr	Lloh95, Lloh96, Lloh97
	.loh AdrpLdrGotLdr	Lloh92, Lloh93, Lloh94
	.loh AdrpLdrGotLdr	Lloh104, Lloh105, Lloh106
	.loh AdrpLdrGotLdr	Lloh110, Lloh111, Lloh112
	.loh AdrpLdrGotLdr	Lloh107, Lloh108, Lloh109
	.loh AdrpLdrGotLdr	Lloh128, Lloh129, Lloh130
	.loh AdrpLdrGotLdr	Lloh125, Lloh126, Lloh127
	.loh AdrpLdrGotLdr	Lloh122, Lloh123, Lloh124
	.loh AdrpLdrGotLdr	Lloh119, Lloh120, Lloh121
	.loh AdrpLdrGotLdr	Lloh116, Lloh117, Lloh118
	.loh AdrpLdrGotLdr	Lloh113, Lloh114, Lloh115
	.loh AdrpLdrGotLdr	Lloh131, Lloh132, Lloh133
	.loh AdrpLdrGotLdr	Lloh134, Lloh135, Lloh136
	.loh AdrpLdrGotLdr	Lloh140, Lloh141, Lloh142
	.loh AdrpLdrGotLdr	Lloh137, Lloh138, Lloh139
	.loh AdrpLdrGotLdr	Lloh149, Lloh150, Lloh151
	.loh AdrpLdrGotLdr	Lloh146, Lloh147, Lloh148
	.loh AdrpLdrGotLdr	Lloh143, Lloh144, Lloh145
	.loh AdrpLdrGotLdr	Lloh164, Lloh165, Lloh166
	.loh AdrpLdrGotLdr	Lloh161, Lloh162, Lloh163
	.loh AdrpLdrGotLdr	Lloh158, Lloh159, Lloh160
	.loh AdrpLdrGotLdr	Lloh155, Lloh156, Lloh157
	.loh AdrpLdrGotLdr	Lloh152, Lloh153, Lloh154
	.loh AdrpLdrGotLdr	Lloh167, Lloh168, Lloh169
	.cfi_endproc
	.section	__TEXT,__const
	.p2align	1
lJTI0_0:
	.short	(LBB0_23-LBB0_23)>>2
	.short	(LBB0_23-LBB0_23)>>2
	.short	(LBB0_23-LBB0_23)>>2
	.short	(LBB0_23-LBB0_23)>>2
	.short	(LBB0_33-LBB0_23)>>2
	.short	(LBB0_34-LBB0_23)>>2
	.short	(LBB0_28-LBB0_23)>>2
	.short	(LBB0_40-LBB0_23)>>2
	.short	(LBB0_29-LBB0_23)>>2
	.short	(LBB0_40-LBB0_23)>>2
	.short	(LBB0_36-LBB0_23)>>2
                                        ; -- End function
	.comm	_INTUOS,4,2                     ; @INTUOS
	.comm	_WACOM_REPORT_PENABLED,1,0      ; @WACOM_REPORT_PENABLED
	.comm	_WACOM_REPORT_CINTIQ,1,0        ; @WACOM_REPORT_CINTIQ
	.comm	_WACOM_REPORT_INTUOS_PEN,1,0    ; @WACOM_REPORT_INTUOS_PEN
	.comm	_WACOM_21UX2,4,2                ; @WACOM_21UX2
	.comm	_BTN_TOOL_LENS,8,3              ; @BTN_TOOL_LENS
	.comm	_INTUOS3,4,2                    ; @INTUOS3
	.comm	_INTUOS3S,4,2                   ; @INTUOS3S
	.comm	_INTUOS4,4,2                    ; @INTUOS4
	.comm	_INTUOS4S,4,2                   ; @INTUOS4S
	.comm	_INTUOS5,4,2                    ; @INTUOS5
	.comm	_INTUOS5S,4,2                   ; @INTUOS5S
	.comm	_INTUOSPM,4,2                   ; @INTUOSPM
	.comm	_INTUOSPS,4,2                   ; @INTUOSPS
	.comm	_CINTIQ,4,2                     ; @CINTIQ
	.comm	_INTUOSHT2,4,2                  ; @INTUOSHT2
	.comm	_ABS_X,4,2                      ; @ABS_X
	.comm	_ABS_Y,4,2                      ; @ABS_Y
	.comm	_ABS_DISTANCE,4,2               ; @ABS_DISTANCE
	.comm	_ABS_PRESSURE,4,2               ; @ABS_PRESSURE
	.comm	_ABS_TILT_X,4,2                 ; @ABS_TILT_X
	.comm	_ABS_TILT_Y,4,2                 ; @ABS_TILT_Y
	.comm	_BTN_STYLUS,8,3                 ; @BTN_STYLUS
	.comm	_BTN_STYLUS2,8,3                ; @BTN_STYLUS2
	.comm	_BTN_TOUCH,8,3                  ; @BTN_TOUCH
	.comm	_ABS_WHEEL,4,2                  ; @ABS_WHEEL
	.comm	_ABS_Z,4,2                      ; @ABS_Z
	.comm	_ABS_RZ,4,2                     ; @ABS_RZ
	.comm	_BTN_LEFT,8,3                   ; @BTN_LEFT
	.comm	_BTN_MIDDLE,8,3                 ; @BTN_MIDDLE
	.comm	_BTN_RIGHT,8,3                  ; @BTN_RIGHT
	.comm	_BTN_SIDE,8,3                   ; @BTN_SIDE
	.comm	_BTN_EXTRA,8,3                  ; @BTN_EXTRA
	.comm	_ABS_THROTTLE,4,2               ; @ABS_THROTTLE
	.comm	_REL_WHEEL,4,2                  ; @REL_WHEEL
	.comm	_BTN_TOOL_MOUSE,8,3             ; @BTN_TOOL_MOUSE
	.comm	_INTUOS3L,4,2                   ; @INTUOS3L
	.comm	_ABS_MISC,4,2                   ; @ABS_MISC
	.comm	_EV_MSC,4,2                     ; @EV_MSC
	.comm	_MSC_SERIAL,4,2                 ; @MSC_SERIAL
	.no_dead_strip	_wacom_intuos_general
.subsections_via_symbols
