	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function lenovo_input_mapping_cptkbd
_lenovo_input_mapping_cptkbd:           ## @lenovo_input_mapping_cptkbd
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -24
	movl	(%rcx), %r10d
	movq	_HID_USAGE_PAGE@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	andl	%r10d, %ebx
	movq	_HID_UP_MSVENDOR@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	je	LBB0_2
## %bb.1:
	movq	_HID_UP_LNVENDOR@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	je	LBB0_2
LBB0_15:
	movq	_HID_GD_WHEEL@GOTPCREL(%rip), %r11
	movl	$-1, %eax
	cmpl	(%r11), %r10d
	je	LBB0_28
## %bb.16:
	movq	_HID_UP_BUTTON@GOTPCREL(%rip), %rdi
	cmpl	(%rdi), %ebx
	jne	LBB0_18
## %bb.17:
	movq	_HID_USAGE@GOTPCREL(%rip), %rdi
	movl	(%rdi), %edi
	andl	%r10d, %edi
	cmpl	$3, %edi
	je	LBB0_28
LBB0_18:
	movq	_HID_UP_CONSUMER@GOTPCREL(%rip), %rdi
	cmpl	(%rdi), %ebx
	jne	LBB0_20
## %bb.19:
	movq	_HID_USAGE@GOTPCREL(%rip), %rdi
	movl	(%rdi), %edi
	andl	%r10d, %edi
	cmpl	$568, %edi                      ## imm = 0x238
	je	LBB0_28
LBB0_20:
	cmpl	$-6225920, %ebx                 ## imm = 0xFFA10000
	je	LBB0_22
## %bb.21:
	xorl	%eax, %eax
	cmpl	$-15728640, %ebx                ## imm = 0xFF100000
	jne	LBB0_28
LBB0_22:
	movq	_HID_MAIN_ITEM_RELATIVE@GOTPCREL(%rip), %rax
	movq	_HID_MAIN_ITEM_VARIABLE@GOTPCREL(%rip), %rdi
	movl	(%rdi), %edi
	orl	(%rax), %edi
	orl	%edi, (%rdx)
	movabsq	$549755813761, %rax             ## imm = 0x7FFFFFFF81
	movq	%rax, 4(%rdx)
	movq	_HID_USAGE@GOTPCREL(%rip), %rax
	andl	(%rax), %r10d
	cmpl	$1, %r10d
	je	LBB0_25
## %bb.23:
	movl	$-1, %eax
	testl	%r10d, %r10d
	jne	LBB0_28
## %bb.24:
	movq	_EV_REL@GOTPCREL(%rip), %rax
	movl	(%rax), %r10d
	movq	_REL_HWHEEL@GOTPCREL(%rip), %rax
	jmp	LBB0_26
LBB0_2:
	movq	_HID_USAGE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	%r10d, %eax
	addl	$-241, %eax
	cmpl	$10, %eax
	ja	LBB0_15
## %bb.3:
	leaq	LJTI0_0(%rip), %r11
	movslq	(%r11,%rax,4), %rax
	addq	%r11, %rax
	jmpq	*%rax
LBB0_4:
	movq	_KEY_MICMUTE@GOTPCREL(%rip), %rax
	jmp	LBB0_5
LBB0_6:
	movq	_KEY_BRIGHTNESSDOWN@GOTPCREL(%rip), %rax
	jmp	LBB0_5
LBB0_7:
	movq	_KEY_BRIGHTNESSUP@GOTPCREL(%rip), %rax
	jmp	LBB0_5
LBB0_8:
	movq	_KEY_SWITCHVIDEOMODE@GOTPCREL(%rip), %rax
	jmp	LBB0_5
LBB0_9:
	movq	_KEY_WLAN@GOTPCREL(%rip), %rax
	jmp	LBB0_5
LBB0_10:
	movq	_KEY_CONFIG@GOTPCREL(%rip), %rax
	jmp	LBB0_5
LBB0_11:
	movq	_KEY_SCALE@GOTPCREL(%rip), %rax
	jmp	LBB0_5
LBB0_12:
	movq	_KEY_FILE@GOTPCREL(%rip), %rax
	jmp	LBB0_5
LBB0_13:
	movq	_KEY_FN_ESC@GOTPCREL(%rip), %rax
	jmp	LBB0_5
LBB0_14:
	movq	_BTN_MIDDLE@GOTPCREL(%rip), %rax
LBB0_5:
	movl	(%rax), %edi
	callq	_map_key_clear
LBB0_27:
	movl	$1, %eax
LBB0_28:
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	retq
LBB0_25:
	movq	_EV_REL@GOTPCREL(%rip), %rax
	movl	(%rax), %r10d
	movq	_REL_WHEEL@GOTPCREL(%rip), %rax
LBB0_26:
	movl	(%rax), %eax
	movq	%rsi, %rdi
	movq	%rcx, %rsi
	movq	%r8, %rdx
	movq	%r9, %rcx
	movl	%r10d, %r8d
	movl	%eax, %r9d
	callq	_hid_map_usage
	jmp	LBB0_27
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_4, LBB0_4-LJTI0_0
.set L0_0_set_6, LBB0_6-LJTI0_0
.set L0_0_set_7, LBB0_7-LJTI0_0
.set L0_0_set_8, LBB0_8-LJTI0_0
.set L0_0_set_9, LBB0_9-LJTI0_0
.set L0_0_set_10, LBB0_10-LJTI0_0
.set L0_0_set_15, LBB0_15-LJTI0_0
.set L0_0_set_11, LBB0_11-LJTI0_0
.set L0_0_set_12, LBB0_12-LJTI0_0
.set L0_0_set_13, LBB0_13-LJTI0_0
.set L0_0_set_14, LBB0_14-LJTI0_0
LJTI0_0:
	.long	L0_0_set_4
	.long	L0_0_set_6
	.long	L0_0_set_7
	.long	L0_0_set_8
	.long	L0_0_set_9
	.long	L0_0_set_10
	.long	L0_0_set_15
	.long	L0_0_set_11
	.long	L0_0_set_12
	.long	L0_0_set_13
	.long	L0_0_set_14
	.end_data_region
                                        ## -- End function
	.comm	_HID_USAGE_PAGE,4,2             ## @HID_USAGE_PAGE
	.comm	_HID_UP_MSVENDOR,4,2            ## @HID_UP_MSVENDOR
	.comm	_HID_UP_LNVENDOR,4,2            ## @HID_UP_LNVENDOR
	.comm	_HID_USAGE,4,2                  ## @HID_USAGE
	.comm	_KEY_MICMUTE,4,2                ## @KEY_MICMUTE
	.comm	_KEY_BRIGHTNESSDOWN,4,2         ## @KEY_BRIGHTNESSDOWN
	.comm	_KEY_BRIGHTNESSUP,4,2           ## @KEY_BRIGHTNESSUP
	.comm	_KEY_SWITCHVIDEOMODE,4,2        ## @KEY_SWITCHVIDEOMODE
	.comm	_KEY_WLAN,4,2                   ## @KEY_WLAN
	.comm	_KEY_CONFIG,4,2                 ## @KEY_CONFIG
	.comm	_KEY_SCALE,4,2                  ## @KEY_SCALE
	.comm	_KEY_FILE,4,2                   ## @KEY_FILE
	.comm	_KEY_FN_ESC,4,2                 ## @KEY_FN_ESC
	.comm	_BTN_MIDDLE,4,2                 ## @BTN_MIDDLE
	.comm	_HID_GD_WHEEL,4,2               ## @HID_GD_WHEEL
	.comm	_HID_UP_BUTTON,4,2              ## @HID_UP_BUTTON
	.comm	_HID_UP_CONSUMER,4,2            ## @HID_UP_CONSUMER
	.comm	_HID_MAIN_ITEM_RELATIVE,4,2     ## @HID_MAIN_ITEM_RELATIVE
	.comm	_HID_MAIN_ITEM_VARIABLE,4,2     ## @HID_MAIN_ITEM_VARIABLE
	.comm	_EV_REL,4,2                     ## @EV_REL
	.comm	_REL_HWHEEL,4,2                 ## @REL_HWHEEL
	.comm	_REL_WHEEL,4,2                  ## @REL_WHEEL
	.no_dead_strip	_lenovo_input_mapping_cptkbd
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function lenovo_input_mapping_cptkbd
lCPI0_0:
	.long	4294967169                      ; 0xffffff81
	.long	127                             ; 0x7f
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_lenovo_input_mapping_cptkbd:           ; @lenovo_input_mapping_cptkbd
	.cfi_startproc
; %bb.0:
	stp	x29, x30, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	mov	x29, sp
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	ldr	w8, [x3]
Lloh0:
	adrp	x9, _HID_USAGE_PAGE@GOTPAGE
Lloh1:
	ldr	x9, [x9, _HID_USAGE_PAGE@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
	and	w9, w9, w8
Lloh3:
	adrp	x10, _HID_UP_MSVENDOR@GOTPAGE
Lloh4:
	ldr	x10, [x10, _HID_UP_MSVENDOR@GOTPAGEOFF]
Lloh5:
	ldr	w10, [x10]
Lloh6:
	adrp	x11, _HID_UP_LNVENDOR@GOTPAGE
Lloh7:
	ldr	x11, [x11, _HID_UP_LNVENDOR@GOTPAGEOFF]
Lloh8:
	ldr	w11, [x11]
	cmp	w9, w10
	ccmp	w9, w11, #4, ne
	b.ne	LBB0_4
; %bb.1:
Lloh9:
	adrp	x10, _HID_USAGE@GOTPAGE
Lloh10:
	ldr	x10, [x10, _HID_USAGE@GOTPAGEOFF]
Lloh11:
	ldr	w10, [x10]
	and	w10, w10, w8
	sub	w10, w10, #241
	cmp	w10, #10
	b.hi	LBB0_4
; %bb.2:
Lloh12:
	adrp	x11, lJTI0_0@PAGE
Lloh13:
	add	x11, x11, lJTI0_0@PAGEOFF
	adr	x12, LBB0_3
	ldrb	w13, [x11, x10]
	add	x12, x12, x13, lsl #2
	br	x12
LBB0_3:
Lloh14:
	adrp	x8, _KEY_MICMUTE@GOTPAGE
Lloh15:
	ldr	x8, [x8, _KEY_MICMUTE@GOTPAGEOFF]
	b	LBB0_25
LBB0_4:
Lloh16:
	adrp	x10, _HID_GD_WHEEL@GOTPAGE
Lloh17:
	ldr	x10, [x10, _HID_GD_WHEEL@GOTPAGEOFF]
Lloh18:
	ldr	w10, [x10]
	cmp	w8, w10
	b.eq	LBB0_14
; %bb.5:
Lloh19:
	adrp	x10, _HID_UP_BUTTON@GOTPAGE
Lloh20:
	ldr	x10, [x10, _HID_UP_BUTTON@GOTPAGEOFF]
Lloh21:
	ldr	w10, [x10]
	cmp	w9, w10
	b.ne	LBB0_7
; %bb.6:
Lloh22:
	adrp	x10, _HID_USAGE@GOTPAGE
Lloh23:
	ldr	x10, [x10, _HID_USAGE@GOTPAGEOFF]
Lloh24:
	ldr	w10, [x10]
	and	w10, w10, w8
	cmp	w10, #3
	b.eq	LBB0_14
LBB0_7:
Lloh25:
	adrp	x10, _HID_UP_CONSUMER@GOTPAGE
Lloh26:
	ldr	x10, [x10, _HID_UP_CONSUMER@GOTPAGEOFF]
Lloh27:
	ldr	w10, [x10]
	cmp	w9, w10
	b.ne	LBB0_9
; %bb.8:
Lloh28:
	adrp	x10, _HID_USAGE@GOTPAGE
Lloh29:
	ldr	x10, [x10, _HID_USAGE@GOTPAGEOFF]
Lloh30:
	ldr	w10, [x10]
	and	w10, w10, w8
	cmp	w10, #568
	b.eq	LBB0_14
LBB0_9:
	cmn	w9, #1520, lsl #12              ; =6225920
	b.eq	LBB0_11
; %bb.10:
	cmn	w9, #3840, lsl #12              ; =15728640
	b.ne	LBB0_15
LBB0_11:
Lloh31:
	adrp	x9, _HID_MAIN_ITEM_RELATIVE@GOTPAGE
Lloh32:
	ldr	x9, [x9, _HID_MAIN_ITEM_RELATIVE@GOTPAGEOFF]
Lloh33:
	ldr	w9, [x9]
Lloh34:
	adrp	x10, _HID_MAIN_ITEM_VARIABLE@GOTPAGE
Lloh35:
	ldr	x10, [x10, _HID_MAIN_ITEM_VARIABLE@GOTPAGEOFF]
Lloh36:
	ldr	w10, [x10]
	orr	w9, w10, w9
	ldr	w10, [x2]
	orr	w9, w9, w10
	str	w9, [x2]
Lloh37:
	adrp	x9, lCPI0_0@PAGE
Lloh38:
	ldr	d0, [x9, lCPI0_0@PAGEOFF]
	stur	d0, [x2, #4]
Lloh39:
	adrp	x9, _HID_USAGE@GOTPAGE
Lloh40:
	ldr	x9, [x9, _HID_USAGE@GOTPAGEOFF]
Lloh41:
	ldr	w9, [x9]
	and	w8, w9, w8
	cmp	w8, #1
	b.eq	LBB0_27
; %bb.12:
	cbnz	w8, LBB0_14
; %bb.13:
Lloh42:
	adrp	x8, _EV_REL@GOTPAGE
Lloh43:
	ldr	x8, [x8, _EV_REL@GOTPAGEOFF]
Lloh44:
	ldr	w8, [x8]
Lloh45:
	adrp	x9, _REL_HWHEEL@GOTPAGE
Lloh46:
	ldr	x9, [x9, _REL_HWHEEL@GOTPAGEOFF]
	b	LBB0_28
LBB0_14:
	mov	w0, #-1
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
LBB0_15:
	mov	w0, #0
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
LBB0_16:
Lloh47:
	adrp	x8, _KEY_BRIGHTNESSDOWN@GOTPAGE
Lloh48:
	ldr	x8, [x8, _KEY_BRIGHTNESSDOWN@GOTPAGEOFF]
	b	LBB0_25
LBB0_17:
Lloh49:
	adrp	x8, _KEY_BRIGHTNESSUP@GOTPAGE
Lloh50:
	ldr	x8, [x8, _KEY_BRIGHTNESSUP@GOTPAGEOFF]
	b	LBB0_25
LBB0_18:
Lloh51:
	adrp	x8, _KEY_SWITCHVIDEOMODE@GOTPAGE
Lloh52:
	ldr	x8, [x8, _KEY_SWITCHVIDEOMODE@GOTPAGEOFF]
	b	LBB0_25
LBB0_19:
Lloh53:
	adrp	x8, _KEY_WLAN@GOTPAGE
Lloh54:
	ldr	x8, [x8, _KEY_WLAN@GOTPAGEOFF]
	b	LBB0_25
LBB0_20:
Lloh55:
	adrp	x8, _KEY_CONFIG@GOTPAGE
Lloh56:
	ldr	x8, [x8, _KEY_CONFIG@GOTPAGEOFF]
	b	LBB0_25
LBB0_21:
Lloh57:
	adrp	x8, _KEY_SCALE@GOTPAGE
Lloh58:
	ldr	x8, [x8, _KEY_SCALE@GOTPAGEOFF]
	b	LBB0_25
LBB0_22:
Lloh59:
	adrp	x8, _KEY_FILE@GOTPAGE
Lloh60:
	ldr	x8, [x8, _KEY_FILE@GOTPAGEOFF]
	b	LBB0_25
LBB0_23:
Lloh61:
	adrp	x8, _KEY_FN_ESC@GOTPAGE
Lloh62:
	ldr	x8, [x8, _KEY_FN_ESC@GOTPAGEOFF]
	b	LBB0_25
LBB0_24:
Lloh63:
	adrp	x8, _BTN_MIDDLE@GOTPAGE
Lloh64:
	ldr	x8, [x8, _BTN_MIDDLE@GOTPAGEOFF]
LBB0_25:
	ldr	w0, [x8]
	bl	_map_key_clear
LBB0_26:
	mov	w0, #1
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
LBB0_27:
Lloh65:
	adrp	x8, _EV_REL@GOTPAGE
Lloh66:
	ldr	x8, [x8, _EV_REL@GOTPAGEOFF]
Lloh67:
	ldr	w8, [x8]
Lloh68:
	adrp	x9, _REL_WHEEL@GOTPAGE
Lloh69:
	ldr	x9, [x9, _REL_WHEEL@GOTPAGEOFF]
LBB0_28:
	ldr	w9, [x9]
	mov	x0, x1
	mov	x1, x3
	mov	x2, x4
	mov	x3, x5
	mov	x4, x8
	mov	x5, x9
	bl	_hid_map_usage
	b	LBB0_26
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh14, Lloh15
	.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	Lloh39, Lloh40, Lloh41
	.loh AdrpAdrp	Lloh37, Lloh39
	.loh AdrpLdr	Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGot	Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGot	Lloh47, Lloh48
	.loh AdrpLdrGot	Lloh49, Lloh50
	.loh AdrpLdrGot	Lloh51, Lloh52
	.loh AdrpLdrGot	Lloh53, Lloh54
	.loh AdrpLdrGot	Lloh55, Lloh56
	.loh AdrpLdrGot	Lloh57, Lloh58
	.loh AdrpLdrGot	Lloh59, Lloh60
	.loh AdrpLdrGot	Lloh61, Lloh62
	.loh AdrpLdrGot	Lloh63, Lloh64
	.loh AdrpLdrGot	Lloh68, Lloh69
	.loh AdrpLdrGotLdr	Lloh65, Lloh66, Lloh67
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_16-LBB0_3)>>2
	.byte	(LBB0_17-LBB0_3)>>2
	.byte	(LBB0_18-LBB0_3)>>2
	.byte	(LBB0_19-LBB0_3)>>2
	.byte	(LBB0_20-LBB0_3)>>2
	.byte	(LBB0_4-LBB0_3)>>2
	.byte	(LBB0_21-LBB0_3)>>2
	.byte	(LBB0_22-LBB0_3)>>2
	.byte	(LBB0_23-LBB0_3)>>2
	.byte	(LBB0_24-LBB0_3)>>2
                                        ; -- End function
	.comm	_HID_USAGE_PAGE,4,2             ; @HID_USAGE_PAGE
	.comm	_HID_UP_MSVENDOR,4,2            ; @HID_UP_MSVENDOR
	.comm	_HID_UP_LNVENDOR,4,2            ; @HID_UP_LNVENDOR
	.comm	_HID_USAGE,4,2                  ; @HID_USAGE
	.comm	_KEY_MICMUTE,4,2                ; @KEY_MICMUTE
	.comm	_KEY_BRIGHTNESSDOWN,4,2         ; @KEY_BRIGHTNESSDOWN
	.comm	_KEY_BRIGHTNESSUP,4,2           ; @KEY_BRIGHTNESSUP
	.comm	_KEY_SWITCHVIDEOMODE,4,2        ; @KEY_SWITCHVIDEOMODE
	.comm	_KEY_WLAN,4,2                   ; @KEY_WLAN
	.comm	_KEY_CONFIG,4,2                 ; @KEY_CONFIG
	.comm	_KEY_SCALE,4,2                  ; @KEY_SCALE
	.comm	_KEY_FILE,4,2                   ; @KEY_FILE
	.comm	_KEY_FN_ESC,4,2                 ; @KEY_FN_ESC
	.comm	_BTN_MIDDLE,4,2                 ; @BTN_MIDDLE
	.comm	_HID_GD_WHEEL,4,2               ; @HID_GD_WHEEL
	.comm	_HID_UP_BUTTON,4,2              ; @HID_UP_BUTTON
	.comm	_HID_UP_CONSUMER,4,2            ; @HID_UP_CONSUMER
	.comm	_HID_MAIN_ITEM_RELATIVE,4,2     ; @HID_MAIN_ITEM_RELATIVE
	.comm	_HID_MAIN_ITEM_VARIABLE,4,2     ; @HID_MAIN_ITEM_VARIABLE
	.comm	_EV_REL,4,2                     ; @EV_REL
	.comm	_REL_HWHEEL,4,2                 ; @REL_HWHEEL
	.comm	_REL_WHEEL,4,2                  ; @REL_WHEEL
	.no_dead_strip	_lenovo_input_mapping_cptkbd
.subsections_via_symbols
