	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function _kbd_event_cb
__kbd_event_cb:                         ## @_kbd_event_cb
	.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	$56, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r14
	cmpl	$128, %r14d
	je	LBB0_4
## %bb.1:
	cmpl	$129, %r14d
	je	LBB0_5
## %bb.2:
	cmpl	$130, %r14d
	jne	LBB0_65
## %bb.3:
	movq	_KEYBOARD_DISCONNECTED@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -88(%rbp)
	movl	$0, -80(%rbp)
	movl	$0, -64(%rbp)
	movq	$0, -72(%rbp)
	jmp	LBB0_64
LBB0_4:
	movq	_KEYBOARD_RELEASED@GOTPCREL(%rip), %rax
	jmp	LBB0_6
LBB0_5:
	movq	_KEYBOARD_PRESSED@GOTPCREL(%rip), %rax
LBB0_6:
	movq	(%rax), %rbx
	movq	%rbx, -88(%rbp)
	shrq	$32, %r14
	movl	%r14d, -64(%rbp)
	movq	__ukbd_keymapdata@GOTPCREL(%rip), %rdi
	leaq	-56(%rbp), %rdx
	movl	%r14d, %esi
	callq	_wskbd_get_mapentry
	movq	-56(%rbp), %rcx
	movl	$-131, %eax
	addl	(%rcx), %eax
	cmpl	$16, %eax
	ja	LBB0_24
## %bb.7:
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_8:
	movq	_MOD_SHIFT_R@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_9:
	movq	_MOD_SHIFTLOCK@GOTPCREL(%rip), %rax
	jmp	LBB0_14
LBB0_10:
	movq	_MOD_SHIFT_L@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_11:
	movq	_MOD_NUMLOCK@GOTPCREL(%rip), %r12
	movl	(%r12), %edx
	movq	%rbx, %rdi
	movl	$1, %esi
	callq	_update_modifier
	movq	_USBKEYBOARD_LEDNUM@GOTPCREL(%rip), %rax
	jmp	LBB0_19
LBB0_12:
	movq	_MOD_MODESHIFT@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_13:
	movq	_MOD_MODELOCK@GOTPCREL(%rip), %rax
LBB0_14:
	movl	(%rax), %edx
	movq	%rbx, %rdi
	movl	$1, %esi
	jmp	LBB0_23
LBB0_15:
	movq	_MOD_HOLDSCREEN@GOTPCREL(%rip), %r12
	movl	(%r12), %edx
	movq	%rbx, %rdi
	movl	$1, %esi
	callq	_update_modifier
	movq	_USBKEYBOARD_LEDSCROLL@GOTPCREL(%rip), %rax
	jmp	LBB0_19
LBB0_16:
	movq	_MOD_CONTROL_R@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_17:
	movq	_MOD_CONTROL_L@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_18:
	movq	_MOD_CAPSLOCK@GOTPCREL(%rip), %r12
	movl	(%r12), %edx
	movq	%rbx, %rdi
	movl	$1, %esi
	callq	_update_modifier
	movq	_USBKEYBOARD_LEDCAPS@GOTPCREL(%rip), %rax
LBB0_19:
	movl	(%rax), %r15d
	movq	__modifiers@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	(%r12), %esi
	callq	_MOD_ONESET
	movl	%r15d, %edi
	movl	%eax, %esi
	callq	_USBKeyboard_SetLed
	jmp	LBB0_24
LBB0_20:
	movq	_MOD_META_R@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_21:
	movq	_MOD_META_L@GOTPCREL(%rip), %rax
LBB0_22:
	movl	(%rax), %edx
	movq	%rbx, %rdi
	xorl	%esi, %esi
LBB0_23:
	callq	_update_modifier
LBB0_24:
	movq	%rbx, %r15
	movq	__modifiers@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	movq	_MOD_MODESHIFT@GOTPCREL(%rip), %rax
	movq	_MOD_MODELOCK@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	testl	%edi, %ecx
	je	LBB0_26
## %bb.25:
	movq	_MOD_ANYCONTROL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_MOD_ONESET
	testl	%eax, %eax
	je	LBB0_27
LBB0_26:
	movq	-56(%rbp), %r13
	jmp	LBB0_28
LBB0_27:
	movq	-48(%rbp), %r13
LBB0_28:
	movl	(%rbx), %edi
	movq	_MOD_NUMLOCK@GOTPCREL(%rip), %rax
	testl	%edi, (%rax)
	je	LBB0_31
## %bb.29:
	movq	8(%r13), %rdi
	callq	_KS_GROUP
	movl	(%rbx), %edi
	cmpl	$139, %eax
	jne	LBB0_31
## %bb.30:
	movq	_MOD_ANYSHIFT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_MOD_ONESET
	xorl	%r12d, %r12d
	testl	%eax, %eax
	sete	%r12b
	movq	(%r13,%r12,8), %rbx
	jmp	LBB0_34
LBB0_31:
	movq	_MOD_CAPSLOCK@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_MOD_ANYSHIFT@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movl	%esi, %ecx
	orl	%eax, %ecx
	andl	%edi, %ecx
	cmpl	%eax, %ecx
	jne	LBB0_33
## %bb.32:
	movq	(%r13), %rdi
	callq	_ksym_upcase
	movq	%rax, %rbx
	xorl	%r12d, %r12d
	jmp	LBB0_34
LBB0_33:
	callq	_MOD_ONESET
	movl	%eax, %r12d
	cltq
	movq	(%r13,%rax,8), %rbx
LBB0_34:
	movq	%rbx, %rdi
	callq	_KS_GROUP
	cmpl	$141, %eax
	je	LBB0_41
## %bb.35:
	cmpl	$138, %eax
	jne	LBB0_37
## %bb.36:
	movq	_KS_Multi_key@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rbx
	je	LBB0_44
LBB0_37:
	movq	__composelen@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_KEYBOARD_PRESSED@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
LBB0_38:
	cmpq	%rcx, %r15
	jne	LBB0_50
## %bb.39:
	testl	%eax, %eax
	jle	LBB0_50
## %bb.40:
	cmpl	$2, %eax
	je	LBB0_45
	jmp	LBB0_46
LBB0_41:
	movq	_KEYBOARD_PRESSED@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r15
	jne	LBB0_65
## %bb.42:
	movq	__composelen@GOTPCREL(%rip), %rdx
	movl	(%rdx), %eax
	movq	%r15, %rcx
	testl	%eax, %eax
	jne	LBB0_38
## %bb.43:
	movq	_MOD_COMPOSE@GOTPCREL(%rip), %rax
	movq	%rdx, %r14
	movl	(%rax), %edx
	movq	%r15, %rdi
	xorl	%esi, %esi
	callq	_update_modifier
	movl	$1, (%r14)
	movq	__composebuf@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rbx, (%rax)
	jmp	LBB0_65
LBB0_44:
	movq	_KEYBOARD_PRESSED@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	_MOD_COMPOSE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	xorl	%esi, %esi
	callq	_update_modifier
	movq	__composelen@GOTPCREL(%rip), %rax
	movl	$2, (%rax)
	movq	_KEYBOARD_PRESSED@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r15
	jne	LBB0_50
LBB0_45:
	movl	$2, %eax
	cmpq	-48(%rbp), %r13
	je	LBB0_48
LBB0_46:
	movq	__composebuf@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rdx
	movl	$2, %esi
	subl	%eax, %esi
	movslq	%esi, %rsi
	movq	%rbx, (%rdx,%rsi,8)
	movq	__composelen@GOTPCREL(%rip), %rdx
	decl	%eax
	movl	%eax, (%rdx)
	jne	LBB0_65
## %bb.47:
	movq	(%rcx), %rdi
	callq	_wskbd_compose_value
	movq	%rax, %rbx
	movq	_KEYBOARD_RELEASED@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	_MOD_COMPOSE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	xorl	%esi, %esi
	callq	_update_modifier
	jmp	LBB0_50
LBB0_48:
	movq	-56(%rbp), %rcx
	movslq	%r12d, %rdx
	movslq	(%rcx,%rdx,4), %rcx
	cmpq	%rcx, (%r13,%rdx,8)
	je	LBB0_46
## %bb.49:
	movq	__composelen@GOTPCREL(%rip), %rax
	movl	$0, (%rax)
LBB0_50:
	movq	__modifiers@GOTPCREL(%rip), %r12
	movq	%rbx, %rdi
	callq	_KS_GROUP
	addl	$-139, %eax
	cmpl	$3, %eax
	ja	LBB0_63
## %bb.51:
	cmpl	$2, %eax
	je	LBB0_63
## %bb.52:
	movq	_KEYBOARD_PRESSED@GOTPCREL(%rip), %rcx
	movq	_MAXHELD@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpq	(%rcx), %r15
	jne	LBB0_57
## %bb.53:
	testl	%eax, %eax
	jle	LBB0_63
## %bb.54:
	movq	__held@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	shlq	$4, %rax
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_55:                                ## =>This Inner Loop Header: Depth=1
	cmpl	$0, 8(%rcx,%rdx)
	je	LBB0_61
## %bb.56:                              ##   in Loop: Header=BB0_55 Depth=1
	addq	$16, %rdx
	cmpq	%rdx, %rax
	jne	LBB0_55
	jmp	LBB0_63
LBB0_57:
	testl	%eax, %eax
	jle	LBB0_63
## %bb.58:
	movq	__held@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	shlq	$4, %rax
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_59:                                ## =>This Inner Loop Header: Depth=1
	cmpl	%r14d, 8(%rcx,%rdx)
	je	LBB0_62
## %bb.60:                              ##   in Loop: Header=BB0_59 Depth=1
	addq	$16, %rdx
	cmpq	%rdx, %rax
	jne	LBB0_59
	jmp	LBB0_63
LBB0_61:
	movl	%r14d, 8(%rcx,%rdx)
	movq	%rbx, (%rcx,%rdx)
	jmp	LBB0_63
LBB0_62:
	movq	(%rcx,%rdx), %rbx
	movl	$0, 8(%rcx,%rdx)
	movq	$0, (%rcx,%rdx)
LBB0_63:
	movq	%rbx, -72(%rbp)
	movl	(%r12), %eax
	movl	%eax, -80(%rbp)
LBB0_64:
	leaq	-88(%rbp), %rdi
	callq	__kbd_addEvent
LBB0_65:
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.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_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_15, LBB0_15-LJTI0_0
.set L0_0_set_24, LBB0_24-LJTI0_0
.set L0_0_set_16, LBB0_16-LJTI0_0
.set L0_0_set_17, LBB0_17-LJTI0_0
.set L0_0_set_18, LBB0_18-LJTI0_0
.set L0_0_set_20, LBB0_20-LJTI0_0
.set L0_0_set_21, LBB0_21-LJTI0_0
LJTI0_0:
	.long	L0_0_set_8
	.long	L0_0_set_9
	.long	L0_0_set_10
	.long	L0_0_set_11
	.long	L0_0_set_12
	.long	L0_0_set_13
	.long	L0_0_set_15
	.long	L0_0_set_24
	.long	L0_0_set_24
	.long	L0_0_set_24
	.long	L0_0_set_24
	.long	L0_0_set_24
	.long	L0_0_set_16
	.long	L0_0_set_17
	.long	L0_0_set_18
	.long	L0_0_set_20
	.long	L0_0_set_21
	.end_data_region
                                        ## -- End function
	.comm	_KEYBOARD_DISCONNECTED,8,3      ## @KEYBOARD_DISCONNECTED
	.comm	_KEYBOARD_PRESSED,8,3           ## @KEYBOARD_PRESSED
	.comm	_KEYBOARD_RELEASED,8,3          ## @KEYBOARD_RELEASED
	.comm	__ukbd_keymapdata,4,2           ## @_ukbd_keymapdata
	.comm	_MOD_SHIFT_L,4,2                ## @MOD_SHIFT_L
	.comm	_MOD_SHIFT_R,4,2                ## @MOD_SHIFT_R
	.comm	_MOD_SHIFTLOCK,4,2              ## @MOD_SHIFTLOCK
	.comm	_MOD_CAPSLOCK,4,2               ## @MOD_CAPSLOCK
	.comm	_USBKEYBOARD_LEDCAPS,4,2        ## @USBKEYBOARD_LEDCAPS
	.comm	__modifiers,4,2                 ## @_modifiers
	.comm	_MOD_CONTROL_L,4,2              ## @MOD_CONTROL_L
	.comm	_MOD_CONTROL_R,4,2              ## @MOD_CONTROL_R
	.comm	_MOD_META_L,4,2                 ## @MOD_META_L
	.comm	_MOD_META_R,4,2                 ## @MOD_META_R
	.comm	_MOD_MODESHIFT,4,2              ## @MOD_MODESHIFT
	.comm	_MOD_MODELOCK,4,2               ## @MOD_MODELOCK
	.comm	_MOD_NUMLOCK,4,2                ## @MOD_NUMLOCK
	.comm	_USBKEYBOARD_LEDNUM,4,2         ## @USBKEYBOARD_LEDNUM
	.comm	_MOD_HOLDSCREEN,4,2             ## @MOD_HOLDSCREEN
	.comm	_USBKEYBOARD_LEDSCROLL,4,2      ## @USBKEYBOARD_LEDSCROLL
	.comm	_MOD_ANYCONTROL,4,2             ## @MOD_ANYCONTROL
	.comm	_MOD_ANYSHIFT,4,2               ## @MOD_ANYSHIFT
	.comm	_KS_Multi_key,8,3               ## @KS_Multi_key
	.comm	_MOD_COMPOSE,4,2                ## @MOD_COMPOSE
	.comm	__composelen,4,2                ## @_composelen
	.comm	__composebuf,8,3                ## @_composebuf
	.comm	_MAXHELD,4,2                    ## @MAXHELD
	.comm	__held,8,3                      ## @_held
	.no_dead_strip	__kbd_event_cb
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function _kbd_event_cb
__kbd_event_cb:                         ; @_kbd_event_cb
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #128
	.cfi_def_cfa_offset 128
	stp	x26, x25, [sp, #48]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #64]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #80]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #96]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #112]            ; 16-byte Folded Spill
	add	x29, sp, #112
	.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
	cmp	w0, #128
	b.eq	LBB0_4
; %bb.1:
	cmp	w0, #129
	b.eq	LBB0_5
; %bb.2:
	cmp	w0, #130
	b.ne	LBB0_67
; %bb.3:
Lloh0:
	adrp	x8, _KEYBOARD_DISCONNECTED@GOTPAGE
Lloh1:
	ldr	x8, [x8, _KEYBOARD_DISCONNECTED@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	str	x8, [sp, #16]
	str	wzr, [sp, #24]
	str	wzr, [sp, #40]
	str	xzr, [sp, #32]
	b	LBB0_66
LBB0_4:
Lloh3:
	adrp	x8, _KEYBOARD_RELEASED@GOTPAGE
Lloh4:
	ldr	x8, [x8, _KEYBOARD_RELEASED@GOTPAGEOFF]
	b	LBB0_6
LBB0_5:
Lloh5:
	adrp	x8, _KEYBOARD_PRESSED@GOTPAGE
Lloh6:
	ldr	x8, [x8, _KEYBOARD_PRESSED@GOTPAGEOFF]
LBB0_6:
	ldr	x20, [x8]
	str	x20, [sp, #16]
	lsr	x19, x0, #32
	str	w19, [sp, #40]
Lloh7:
	adrp	x0, __ukbd_keymapdata@GOTPAGE
Lloh8:
	ldr	x0, [x0, __ukbd_keymapdata@GOTPAGEOFF]
	mov	x2, sp
	mov	x1, x19
	bl	_wskbd_get_mapentry
	ldr	x8, [sp]
	ldr	w8, [x8]
Lloh9:
	adrp	x23, __modifiers@GOTPAGE
Lloh10:
	ldr	x23, [x23, __modifiers@GOTPAGEOFF]
Lloh11:
	adrp	x24, _MOD_MODESHIFT@GOTPAGE
Lloh12:
	ldr	x24, [x24, _MOD_MODESHIFT@GOTPAGEOFF]
	sub	w8, w8, #131
Lloh13:
	adrp	x25, _MOD_MODELOCK@GOTPAGE
Lloh14:
	ldr	x25, [x25, _MOD_MODELOCK@GOTPAGEOFF]
Lloh15:
	adrp	x22, _MOD_NUMLOCK@GOTPAGE
Lloh16:
	ldr	x22, [x22, _MOD_NUMLOCK@GOTPAGEOFF]
	cmp	w8, #16
	b.hi	LBB0_26
; %bb.7:
Lloh17:
	adrp	x9, lJTI0_0@PAGE
Lloh18:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_8
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_8:
Lloh19:
	adrp	x8, _MOD_SHIFT_R@GOTPAGE
Lloh20:
	ldr	x8, [x8, _MOD_SHIFT_R@GOTPAGEOFF]
	b	LBB0_23
LBB0_9:
Lloh21:
	adrp	x8, _MOD_SHIFTLOCK@GOTPAGE
Lloh22:
	ldr	x8, [x8, _MOD_SHIFTLOCK@GOTPAGEOFF]
Lloh23:
	ldr	w2, [x8]
	b	LBB0_14
LBB0_10:
Lloh24:
	adrp	x8, _MOD_SHIFT_L@GOTPAGE
Lloh25:
	ldr	x8, [x8, _MOD_SHIFT_L@GOTPAGEOFF]
	b	LBB0_23
LBB0_11:
	ldr	w2, [x22]
	mov	x0, x20
	mov	w1, #1
	bl	_update_modifier
Lloh26:
	adrp	x8, _USBKEYBOARD_LEDNUM@GOTPAGE
Lloh27:
	ldr	x8, [x8, _USBKEYBOARD_LEDNUM@GOTPAGEOFF]
Lloh28:
	ldr	w21, [x8]
	ldr	w0, [x23]
	ldr	w1, [x22]
	b	LBB0_20
LBB0_12:
	ldr	w2, [x24]
	b	LBB0_24
LBB0_13:
	ldr	w2, [x25]
LBB0_14:
	mov	x0, x20
	mov	w1, #1
	b	LBB0_25
LBB0_15:
Lloh29:
	adrp	x26, _MOD_HOLDSCREEN@GOTPAGE
Lloh30:
	ldr	x26, [x26, _MOD_HOLDSCREEN@GOTPAGEOFF]
	ldr	w2, [x26]
	mov	x0, x20
	mov	w1, #1
	bl	_update_modifier
Lloh31:
	adrp	x8, _USBKEYBOARD_LEDSCROLL@GOTPAGE
Lloh32:
	ldr	x8, [x8, _USBKEYBOARD_LEDSCROLL@GOTPAGEOFF]
	b	LBB0_19
LBB0_16:
Lloh33:
	adrp	x8, _MOD_CONTROL_R@GOTPAGE
Lloh34:
	ldr	x8, [x8, _MOD_CONTROL_R@GOTPAGEOFF]
	b	LBB0_23
LBB0_17:
Lloh35:
	adrp	x8, _MOD_CONTROL_L@GOTPAGE
Lloh36:
	ldr	x8, [x8, _MOD_CONTROL_L@GOTPAGEOFF]
	b	LBB0_23
LBB0_18:
Lloh37:
	adrp	x26, _MOD_CAPSLOCK@GOTPAGE
Lloh38:
	ldr	x26, [x26, _MOD_CAPSLOCK@GOTPAGEOFF]
	ldr	w2, [x26]
	mov	x0, x20
	mov	w1, #1
	bl	_update_modifier
Lloh39:
	adrp	x8, _USBKEYBOARD_LEDCAPS@GOTPAGE
Lloh40:
	ldr	x8, [x8, _USBKEYBOARD_LEDCAPS@GOTPAGEOFF]
LBB0_19:
	ldr	w21, [x8]
	ldr	w0, [x23]
	ldr	w1, [x26]
LBB0_20:
	bl	_MOD_ONESET
	mov	x1, x0
	mov	x0, x21
	bl	_USBKeyboard_SetLed
	b	LBB0_26
LBB0_21:
Lloh41:
	adrp	x8, _MOD_META_R@GOTPAGE
Lloh42:
	ldr	x8, [x8, _MOD_META_R@GOTPAGEOFF]
	b	LBB0_23
LBB0_22:
Lloh43:
	adrp	x8, _MOD_META_L@GOTPAGE
Lloh44:
	ldr	x8, [x8, _MOD_META_L@GOTPAGEOFF]
LBB0_23:
	ldr	w2, [x8]
LBB0_24:
	mov	x0, x20
	mov	w1, #0
LBB0_25:
	bl	_update_modifier
LBB0_26:
	ldr	w0, [x23]
	ldr	w8, [x24]
	ldr	w9, [x25]
	orr	w8, w9, w8
	tst	w8, w0
	b.eq	LBB0_28
; %bb.27:
Lloh45:
	adrp	x8, _MOD_ANYCONTROL@GOTPAGE
Lloh46:
	ldr	x8, [x8, _MOD_ANYCONTROL@GOTPAGEOFF]
Lloh47:
	ldr	w1, [x8]
	bl	_MOD_ONESET
	cbz	w0, LBB0_29
LBB0_28:
	ldr	x24, [sp]
	b	LBB0_30
LBB0_29:
	ldr	x24, [sp, #8]
LBB0_30:
	ldr	w0, [x23]
	ldr	w8, [x22]
	tst	w8, w0
	b.eq	LBB0_33
; %bb.31:
	ldr	x0, [x24, #8]
	bl	_KS_GROUP
	mov	x8, x0
	ldr	w0, [x23]
	cmp	w8, #139
	b.ne	LBB0_33
; %bb.32:
Lloh48:
	adrp	x8, _MOD_ANYSHIFT@GOTPAGE
Lloh49:
	ldr	x8, [x8, _MOD_ANYSHIFT@GOTPAGEOFF]
Lloh50:
	ldr	w1, [x8]
	bl	_MOD_ONESET
	cmp	w0, #0
	cset	w22, eq
	ldr	x21, [x24, w22, uxtw #3]
	b	LBB0_36
LBB0_33:
Lloh51:
	adrp	x8, _MOD_CAPSLOCK@GOTPAGE
Lloh52:
	ldr	x8, [x8, _MOD_CAPSLOCK@GOTPAGEOFF]
Lloh53:
	ldr	w8, [x8]
Lloh54:
	adrp	x9, _MOD_ANYSHIFT@GOTPAGE
Lloh55:
	ldr	x9, [x9, _MOD_ANYSHIFT@GOTPAGEOFF]
Lloh56:
	ldr	w1, [x9]
	orr	w9, w1, w8
	and	w9, w9, w0
	cmp	w9, w8
	b.ne	LBB0_35
; %bb.34:
	ldr	x0, [x24]
	bl	_ksym_upcase
	mov	x21, x0
	mov	w22, #0
	b	LBB0_36
LBB0_35:
	bl	_MOD_ONESET
	mov	x22, x0
	ldr	x21, [x24, w0, sxtw #3]
LBB0_36:
	mov	x0, x21
	bl	_KS_GROUP
	cmp	w0, #141
	b.eq	LBB0_45
; %bb.37:
	cmp	w0, #138
	b.ne	LBB0_39
; %bb.38:
Lloh57:
	adrp	x8, _KS_Multi_key@GOTPAGE
Lloh58:
	ldr	x8, [x8, _KS_Multi_key@GOTPAGEOFF]
Lloh59:
	ldr	x8, [x8]
	cmp	x21, x8
	b.eq	LBB0_48
LBB0_39:
Lloh60:
	adrp	x8, __composelen@GOTPAGE
Lloh61:
	ldr	x8, [x8, __composelen@GOTPAGEOFF]
Lloh62:
	ldr	w8, [x8]
Lloh63:
	adrp	x9, _KEYBOARD_PRESSED@GOTPAGE
Lloh64:
	ldr	x9, [x9, _KEYBOARD_PRESSED@GOTPAGEOFF]
Lloh65:
	ldr	x9, [x9]
LBB0_40:
	cmp	x20, x9
	b.ne	LBB0_53
; %bb.41:
	cmp	w8, #0
	b.le	LBB0_53
; %bb.42:
	cmp	w8, #2
	b.eq	LBB0_49
; %bb.43:
Lloh66:
	adrp	x9, __composebuf@GOTPAGE
Lloh67:
	ldr	x9, [x9, __composebuf@GOTPAGEOFF]
	ldr	x10, [x9]
	mov	w11, #2
	sub	w11, w11, w8
	str	x21, [x10, w11, sxtw #3]
Lloh68:
	adrp	x10, __composelen@GOTPAGE
Lloh69:
	ldr	x10, [x10, __composelen@GOTPAGEOFF]
	subs	w8, w8, #1
Lloh70:
	str	w8, [x10]
	b.ne	LBB0_67
; %bb.44:
	ldr	x0, [x9]
	bl	_wskbd_compose_value
	mov	x21, x0
Lloh71:
	adrp	x8, _KEYBOARD_RELEASED@GOTPAGE
Lloh72:
	ldr	x8, [x8, _KEYBOARD_RELEASED@GOTPAGEOFF]
Lloh73:
	ldr	x0, [x8]
Lloh74:
	adrp	x8, _MOD_COMPOSE@GOTPAGE
Lloh75:
	ldr	x8, [x8, _MOD_COMPOSE@GOTPAGEOFF]
Lloh76:
	ldr	w2, [x8]
	mov	w1, #0
	bl	_update_modifier
	b	LBB0_53
LBB0_45:
Lloh77:
	adrp	x8, _KEYBOARD_PRESSED@GOTPAGE
Lloh78:
	ldr	x8, [x8, _KEYBOARD_PRESSED@GOTPAGEOFF]
Lloh79:
	ldr	x8, [x8]
	cmp	x20, x8
	b.ne	LBB0_67
; %bb.46:
Lloh80:
	adrp	x25, __composelen@GOTPAGE
Lloh81:
	ldr	x25, [x25, __composelen@GOTPAGEOFF]
	ldr	w8, [x25]
	mov	x9, x20
	cbnz	w8, LBB0_40
; %bb.47:
Lloh82:
	adrp	x8, _MOD_COMPOSE@GOTPAGE
Lloh83:
	ldr	x8, [x8, _MOD_COMPOSE@GOTPAGEOFF]
Lloh84:
	ldr	w2, [x8]
	mov	x0, x20
	mov	w1, #0
	bl	_update_modifier
	mov	w8, #1
	str	w8, [x25]
Lloh85:
	adrp	x8, __composebuf@GOTPAGE
Lloh86:
	ldr	x8, [x8, __composebuf@GOTPAGEOFF]
Lloh87:
	ldr	x8, [x8]
	str	x21, [x8]
	b	LBB0_67
LBB0_48:
Lloh88:
	adrp	x25, _KEYBOARD_PRESSED@GOTPAGE
Lloh89:
	ldr	x25, [x25, _KEYBOARD_PRESSED@GOTPAGEOFF]
	ldr	x0, [x25]
Lloh90:
	adrp	x8, _MOD_COMPOSE@GOTPAGE
Lloh91:
	ldr	x8, [x8, _MOD_COMPOSE@GOTPAGEOFF]
Lloh92:
	ldr	w2, [x8]
	mov	w1, #0
	bl	_update_modifier
Lloh93:
	adrp	x8, __composelen@GOTPAGE
Lloh94:
	ldr	x8, [x8, __composelen@GOTPAGEOFF]
	mov	w9, #2
Lloh95:
	str	w9, [x8]
	ldr	x8, [x25]
	cmp	x20, x8
	b.ne	LBB0_53
LBB0_49:
	ldr	x8, [sp, #8]
	cmp	x24, x8
	b.eq	LBB0_51
LBB0_50:
Lloh96:
	adrp	x8, __composebuf@GOTPAGE
Lloh97:
	ldr	x8, [x8, __composebuf@GOTPAGEOFF]
Lloh98:
	ldr	x8, [x8]
	str	x21, [x8]
Lloh99:
	adrp	x8, __composelen@GOTPAGE
Lloh100:
	ldr	x8, [x8, __composelen@GOTPAGEOFF]
	mov	w9, #1
Lloh101:
	str	w9, [x8]
	b	LBB0_67
LBB0_51:
	ldr	x8, [sp]
	ldrsw	x8, [x8, w22, sxtw #2]
	ldr	x9, [x24, w22, sxtw #3]
	cmp	x9, x8
	b.eq	LBB0_50
; %bb.52:
Lloh102:
	adrp	x8, __composelen@GOTPAGE
Lloh103:
	ldr	x8, [x8, __composelen@GOTPAGEOFF]
Lloh104:
	str	wzr, [x8]
LBB0_53:
	mov	x0, x21
	bl	_KS_GROUP
	sub	w8, w0, #139
	cmp	w8, #3
	ccmp	w8, #2, #4, ls
	b.eq	LBB0_65
; %bb.54:
Lloh105:
	adrp	x8, _KEYBOARD_PRESSED@GOTPAGE
Lloh106:
	ldr	x8, [x8, _KEYBOARD_PRESSED@GOTPAGEOFF]
Lloh107:
	ldr	x9, [x8]
Lloh108:
	adrp	x8, _MAXHELD@GOTPAGE
Lloh109:
	ldr	x8, [x8, _MAXHELD@GOTPAGEOFF]
Lloh110:
	ldr	w8, [x8]
	cmp	x20, x9
	b.ne	LBB0_59
; %bb.55:
	cmp	w8, #1
	b.lt	LBB0_65
; %bb.56:
Lloh111:
	adrp	x9, __held@GOTPAGE
Lloh112:
	ldr	x9, [x9, __held@GOTPAGEOFF]
Lloh113:
	ldr	x9, [x9]
	add	x9, x9, #8
LBB0_57:                                ; =>This Inner Loop Header: Depth=1
	ldr	w10, [x9]
	cbz	w10, LBB0_63
; %bb.58:                               ;   in Loop: Header=BB0_57 Depth=1
	add	x9, x9, #16
	subs	x8, x8, #1
	b.ne	LBB0_57
	b	LBB0_65
LBB0_59:
	cmp	w8, #1
	b.lt	LBB0_65
; %bb.60:
Lloh114:
	adrp	x9, __held@GOTPAGE
Lloh115:
	ldr	x9, [x9, __held@GOTPAGEOFF]
Lloh116:
	ldr	x9, [x9]
	add	x9, x9, #8
LBB0_61:                                ; =>This Inner Loop Header: Depth=1
	ldr	w10, [x9]
	cmp	w10, w19
	b.eq	LBB0_64
; %bb.62:                               ;   in Loop: Header=BB0_61 Depth=1
	add	x9, x9, #16
	subs	x8, x8, #1
	b.ne	LBB0_61
	b	LBB0_65
LBB0_63:
	str	w19, [x9]
	stur	x21, [x9, #-8]
	b	LBB0_65
LBB0_64:
	ldur	x21, [x9, #-8]
	str	wzr, [x9]
	stur	xzr, [x9, #-8]
LBB0_65:
	str	x21, [sp, #32]
	ldr	w8, [x23]
	str	w8, [sp, #24]
LBB0_66:
	add	x0, sp, #16
	bl	__kbd_addEvent
LBB0_67:
	ldp	x29, x30, [sp, #112]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #96]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #80]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #64]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #128
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh15, Lloh16
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGot	Lloh31, Lloh32
	.loh AdrpLdrGot	Lloh29, Lloh30
	.loh AdrpLdrGot	Lloh33, Lloh34
	.loh AdrpLdrGot	Lloh35, Lloh36
	.loh AdrpLdrGot	Lloh39, Lloh40
	.loh AdrpLdrGot	Lloh37, Lloh38
	.loh AdrpLdrGot	Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGotStr	Lloh68, Lloh69, Lloh70
	.loh AdrpLdrGot	Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh71, Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpLdrGot	Lloh80, Lloh81
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpLdrGotLdr	Lloh82, Lloh83, Lloh84
	.loh AdrpLdrGotStr	Lloh93, Lloh94, Lloh95
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh92
	.loh AdrpLdrGot	Lloh88, Lloh89
	.loh AdrpLdrGotStr	Lloh99, Lloh100, Lloh101
	.loh AdrpLdrGotLdr	Lloh96, Lloh97, Lloh98
	.loh AdrpLdrGotStr	Lloh102, Lloh103, Lloh104
	.loh AdrpLdrGotLdr	Lloh108, Lloh109, Lloh110
	.loh AdrpLdrGotLdr	Lloh105, Lloh106, Lloh107
	.loh AdrpLdrGotLdr	Lloh111, Lloh112, Lloh113
	.loh AdrpLdrGotLdr	Lloh114, Lloh115, Lloh116
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_8-LBB0_8)>>2
	.byte	(LBB0_9-LBB0_8)>>2
	.byte	(LBB0_10-LBB0_8)>>2
	.byte	(LBB0_11-LBB0_8)>>2
	.byte	(LBB0_12-LBB0_8)>>2
	.byte	(LBB0_13-LBB0_8)>>2
	.byte	(LBB0_15-LBB0_8)>>2
	.byte	(LBB0_26-LBB0_8)>>2
	.byte	(LBB0_26-LBB0_8)>>2
	.byte	(LBB0_26-LBB0_8)>>2
	.byte	(LBB0_26-LBB0_8)>>2
	.byte	(LBB0_26-LBB0_8)>>2
	.byte	(LBB0_16-LBB0_8)>>2
	.byte	(LBB0_17-LBB0_8)>>2
	.byte	(LBB0_18-LBB0_8)>>2
	.byte	(LBB0_21-LBB0_8)>>2
	.byte	(LBB0_22-LBB0_8)>>2
                                        ; -- End function
	.comm	_KEYBOARD_DISCONNECTED,8,3      ; @KEYBOARD_DISCONNECTED
	.comm	_KEYBOARD_PRESSED,8,3           ; @KEYBOARD_PRESSED
	.comm	_KEYBOARD_RELEASED,8,3          ; @KEYBOARD_RELEASED
	.comm	__ukbd_keymapdata,4,2           ; @_ukbd_keymapdata
	.comm	_MOD_SHIFT_L,4,2                ; @MOD_SHIFT_L
	.comm	_MOD_SHIFT_R,4,2                ; @MOD_SHIFT_R
	.comm	_MOD_SHIFTLOCK,4,2              ; @MOD_SHIFTLOCK
	.comm	_MOD_CAPSLOCK,4,2               ; @MOD_CAPSLOCK
	.comm	_USBKEYBOARD_LEDCAPS,4,2        ; @USBKEYBOARD_LEDCAPS
	.comm	__modifiers,4,2                 ; @_modifiers
	.comm	_MOD_CONTROL_L,4,2              ; @MOD_CONTROL_L
	.comm	_MOD_CONTROL_R,4,2              ; @MOD_CONTROL_R
	.comm	_MOD_META_L,4,2                 ; @MOD_META_L
	.comm	_MOD_META_R,4,2                 ; @MOD_META_R
	.comm	_MOD_MODESHIFT,4,2              ; @MOD_MODESHIFT
	.comm	_MOD_MODELOCK,4,2               ; @MOD_MODELOCK
	.comm	_MOD_NUMLOCK,4,2                ; @MOD_NUMLOCK
	.comm	_USBKEYBOARD_LEDNUM,4,2         ; @USBKEYBOARD_LEDNUM
	.comm	_MOD_HOLDSCREEN,4,2             ; @MOD_HOLDSCREEN
	.comm	_USBKEYBOARD_LEDSCROLL,4,2      ; @USBKEYBOARD_LEDSCROLL
	.comm	_MOD_ANYCONTROL,4,2             ; @MOD_ANYCONTROL
	.comm	_MOD_ANYSHIFT,4,2               ; @MOD_ANYSHIFT
	.comm	_KS_Multi_key,8,3               ; @KS_Multi_key
	.comm	_MOD_COMPOSE,4,2                ; @MOD_COMPOSE
	.comm	__composelen,4,2                ; @_composelen
	.comm	__composebuf,8,3                ; @_composebuf
	.comm	_MAXHELD,4,2                    ; @MAXHELD
	.comm	__held,8,3                      ; @_held
	.no_dead_strip	__kbd_event_cb
.subsections_via_symbols
