	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function utf8_to_unicode
LCPI0_0:
	.byte	63                              ## 0x3f
	.byte	63                              ## 0x3f
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_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
	movzbl	(%rdi), %ecx
	testb	$-128, %cl
	jne	LBB0_2
## %bb.1:
	movl	%ecx, %eax
	popq	%rbp
	retq
LBB0_2:
	movl	%ecx, %eax
	andl	$-32, %eax
	cmpl	$192, %eax
	jne	LBB0_4
## %bb.3:
	andl	$31, %ecx
	shll	$6, %ecx
	movl	$1, %eax
	jmp	LBB0_8
LBB0_4:
	movl	%ecx, %eax
	andl	$-16, %eax
	cmpl	$224, %eax
	jne	LBB0_6
## %bb.5:
	shll	$12, %ecx
	movzwl	%cx, %eax
	movzbl	1(%rdi), %ecx
	andl	$63, %ecx
	shll	$6, %ecx
	orl	%eax, %ecx
	movl	$2, %eax
	jmp	LBB0_8
LBB0_6:
	movl	%ecx, %edx
	andl	$-8, %edx
	movl	$-1, %eax
	cmpl	$240, %edx
	jne	LBB0_9
## %bb.7:
	andl	$7, %ecx
	shll	$18, %ecx
	movzwl	1(%rdi), %eax
	movd	%eax, %xmm0
	pand	LCPI0_0(%rip), %xmm0
	pmovzxbd	%xmm0, %xmm0                    ## xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
	movdqa	%xmm0, %xmm1
	pslld	$6, %xmm1
	pslld	$12, %xmm0
	movd	%xmm0, %eax
	orl	%ecx, %eax
	pextrd	$1, %xmm1, %ecx
	orl	%eax, %ecx
	movl	$3, %eax
LBB0_8:
	movzbl	(%rdi,%rax), %eax
	andl	$63, %eax
	orl	%ecx, %eax
LBB0_9:
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.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:
	ldrb	w8, [x0]
	tbz	w8, #7, LBB0_8
; %bb.1:
	and	w9, w8, #0xe0
	cmp	w9, #192
	b.ne	LBB0_3
; %bb.2:
	ubfiz	w8, w8, #6, #5
	mov	w9, #1
	b	LBB0_7
LBB0_3:
	and	w9, w8, #0xf0
	cmp	w9, #224
	b.ne	LBB0_5
; %bb.4:
	ubfiz	w8, w8, #12, #4
	ldrb	w9, [x0, #1]
	and	w9, w9, #0x3f
	bfi	w8, w9, #6, #6
	mov	w9, #2
	b	LBB0_7
LBB0_5:
	and	w9, w8, #0xf8
	cmp	w9, #240
	b.ne	LBB0_9
; %bb.6:
	ubfiz	w8, w8, #18, #3
	ldrb	w9, [x0, #1]
	and	w9, w9, #0x3f
	bfi	w8, w9, #12, #6
	ldrb	w9, [x0, #2]
	and	w9, w9, #0x3f
	bfi	w8, w9, #6, #6
	mov	w9, #3
LBB0_7:
	ldrb	w9, [x0, x9]
	and	w9, w9, #0x3f
	orr	w8, w8, w9
LBB0_8:
	mov	x0, x8
	ret
LBB0_9:
	mov	w0, #-1
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_utf8_to_unicode
.subsections_via_symbols
