	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function _utf8_to_unicode
__utf8_to_unicode:                      ## @_utf8_to_unicode
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movl	$0, (%rdi)
	xorl	%eax, %eax
	testq	%rdx, %rdx
	je	LBB0_18
## %bb.1:
	movzbl	(%rsi), %r11d
	testl	%r11d, %r11d
	je	LBB0_18
## %bb.2:
	movl	%r11d, %eax
	leaq	__utf8_to_unicode.utf8_count(%rip), %rcx
	movsbq	(%rax,%rcx), %r8
	movl	$-1, %eax
	cmpq	%rdx, %r8
	ja	LBB0_18
## %bb.3:
	leal	-1(%r8), %ecx
	cmpl	$3, %ecx
	ja	LBB0_18
## %bb.4:
	leaq	LJTI0_0(%rip), %r9
	movslq	(%r9,%rcx,4), %rcx
	addq	%r9, %rcx
	jmpq	*%rcx
LBB0_5:
	andl	$127, %r11d
	movl	$1, %r8d
	movl	%r11d, %edx
	jmp	LBB0_17
LBB0_8:
	movsbl	1(%rsi), %r9d
	movl	%r9d, %ecx
	andl	$192, %ecx
	cmpl	$128, %ecx
	jne	LBB0_18
## %bb.9:
	movzbl	2(%rsi), %edx
	movl	%edx, %ecx
	andl	$-64, %ecx
	cmpl	$128, %ecx
	jne	LBB0_18
## %bb.10:
	shll	$12, %r11d
	movzwl	%r11w, %ecx
	andl	$63, %r9d
	shll	$6, %r9d
	orl	%ecx, %r9d
	andl	$63, %edx
	orl	%r9d, %edx
	cmpl	$2048, %edx                     ## imm = 0x800
	jae	LBB0_16
	jmp	LBB0_18
LBB0_11:
	cmpq	$4, %rdx
	jb	LBB0_18
## %bb.12:
	movsbl	1(%rsi), %r9d
	movl	%r9d, %ecx
	andl	$192, %ecx
	cmpl	$128, %ecx
	jne	LBB0_18
## %bb.13:
	movsbl	2(%rsi), %r10d
	movl	%r10d, %ecx
	andl	$192, %ecx
	cmpl	$128, %ecx
	jne	LBB0_18
## %bb.14:
	movzbl	3(%rsi), %edx
	movl	%edx, %ecx
	andl	$-64, %ecx
	cmpl	$128, %ecx
	jne	LBB0_18
## %bb.15:
	andl	$7, %r11d
	shll	$18, %r11d
	andl	$63, %r9d
	shll	$12, %r9d
	orl	%r11d, %r9d
	andl	$63, %r10d
	shll	$6, %r10d
	orl	%r9d, %r10d
	andl	$63, %edx
	orl	%r10d, %edx
	cmpl	$65536, %edx                    ## imm = 0x10000
	jb	LBB0_18
LBB0_16:
	cmpl	$1114111, %edx                  ## imm = 0x10FFFF
	jle	LBB0_17
	jmp	LBB0_18
LBB0_6:
	movzbl	1(%rsi), %edx
	movl	%edx, %ecx
	andl	$-64, %ecx
	cmpl	$128, %ecx
	jne	LBB0_18
## %bb.7:
	andl	$31, %r11d
	shll	$6, %r11d
	andl	$63, %edx
	orl	%r11d, %edx
	movl	$2, %r8d
LBB0_17:
	movl	%edx, (%rdi)
	movl	%r8d, %eax
LBB0_18:
	popq	%rbp
	retq
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_5, LBB0_5-LJTI0_0
.set L0_0_set_6, LBB0_6-LJTI0_0
.set L0_0_set_8, LBB0_8-LJTI0_0
.set L0_0_set_11, LBB0_11-LJTI0_0
LJTI0_0:
	.long	L0_0_set_5
	.long	L0_0_set_6
	.long	L0_0_set_8
	.long	L0_0_set_11
	.end_data_region
                                        ## -- End function
	.section	__TEXT,__const
	.p2align	4                               ## @_utf8_to_unicode.utf8_count
__utf8_to_unicode.utf8_count:
	.ascii	"\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\004\004\004\004\004"
	.space	11

	.no_dead_strip	__utf8_to_unicode
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function _utf8_to_unicode
__utf8_to_unicode:                      ; @_utf8_to_unicode
	.cfi_startproc
; %bb.0:
	str	wzr, [x0]
	cbz	x2, LBB0_4
; %bb.1:
	ldrb	w9, [x1]
	cbz	w9, LBB0_4
; %bb.2:
	mov	x8, x0
Lloh0:
	adrp	x10, __utf8_to_unicode.utf8_count@PAGE
Lloh1:
	add	x10, x10, __utf8_to_unicode.utf8_count@PAGEOFF
	ldrsb	x0, [x10, w9, uxtw]
	cmp	x0, x2
	b.ls	LBB0_5
LBB0_3:
	mov	w0, #-1
                                        ; kill: def $w0 killed $w0 killed $x0
	ret
LBB0_4:
	mov	w0, #0
                                        ; kill: def $w0 killed $w0 killed $x0
	ret
LBB0_5:
	sub	w10, w0, #1
	cmp	w10, #3
	b.hi	LBB0_3
; %bb.6:
Lloh2:
	adrp	x11, lJTI0_0@PAGE
Lloh3:
	add	x11, x11, lJTI0_0@PAGEOFF
	adr	x12, LBB0_7
	ldrb	w13, [x11, x10]
	add	x12, x12, x13, lsl #2
	br	x12
LBB0_7:
	and	w10, w9, #0x7f
	mov	w0, #1
LBB0_8:
	str	w10, [x8]
                                        ; kill: def $w0 killed $w0 killed $x0
	ret
LBB0_9:
	ldrsb	w11, [x1, #1]
	and	w10, w11, #0xc0
	cmp	w10, #128
	b.ne	LBB0_3
; %bb.10:
	ldrb	w12, [x1, #2]
	and	w10, w12, #0xc0
	cmp	w10, #128
	b.ne	LBB0_3
; %bb.11:
	ubfiz	w10, w9, #12, #4
	bfi	w10, w11, #6, #6
	bfxil	w10, w12, #0, #6
	cmp	w10, #2048
	b.lo	LBB0_3
LBB0_12:
	cmp	w10, #272, lsl #12              ; =1114112
	b.ge	LBB0_3
	b	LBB0_8
LBB0_13:
	ldrb	w10, [x1, #1]
	and	w11, w10, #0xc0
	cmp	w11, #128
	b.ne	LBB0_3
; %bb.14:
	and	w10, w10, #0x3f
	bfi	w10, w9, #6, #5
	mov	w0, #2
	str	w10, [x8]
                                        ; kill: def $w0 killed $w0 killed $x0
	ret
LBB0_15:
	cmp	x2, #4
	b.lo	LBB0_3
; %bb.16:
	ldrsb	w11, [x1, #1]
	and	w10, w11, #0xc0
	cmp	w10, #128
	b.ne	LBB0_3
; %bb.17:
	ldrsb	w12, [x1, #2]
	and	w10, w12, #0xc0
	cmp	w10, #128
	b.ne	LBB0_3
; %bb.18:
	ldrb	w13, [x1, #3]
	and	w10, w13, #0xc0
	cmp	w10, #128
	b.ne	LBB0_3
; %bb.19:
	ubfiz	w10, w9, #18, #3
	bfi	w10, w11, #12, #6
	bfi	w10, w12, #6, #6
	bfxil	w10, w13, #0, #6
	cmp	w10, #16, lsl #12               ; =65536
	b.lo	LBB0_3
	b	LBB0_12
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh2, Lloh3
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_7-LBB0_7)>>2
	.byte	(LBB0_13-LBB0_7)>>2
	.byte	(LBB0_9-LBB0_7)>>2
	.byte	(LBB0_15-LBB0_7)>>2
                                        ; -- End function
__utf8_to_unicode.utf8_count:           ; @_utf8_to_unicode.utf8_count
	.ascii	"\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\004\004\004\004\004"
	.space	11

	.no_dead_strip	__utf8_to_unicode
.subsections_via_symbols
