	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function get_char_utf8
_get_char_utf8:                         ## @get_char_utf8
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movzbl	(%rsi), %ecx
	testb	$-128, %cl
	jne	LBB0_2
## %bb.1:
	movl	%ecx, (%rdi)
	xorl	%eax, %eax
	testl	%ecx, %ecx
	setne	%al
	popq	%rbp
	retq
LBB0_2:
	testb	$64, %cl
	je	LBB0_23
## %bb.3:
	movzbl	1(%rsi), %eax
	movl	%eax, %edx
	andl	$-64, %edx
	cmpl	$128, %edx
	jne	LBB0_23
## %bb.4:
	testb	$32, %cl
	jne	LBB0_7
## %bb.5:
	testb	$30, %cl
	je	LBB0_23
## %bb.6:
	andl	$31, %ecx
	shll	$6, %ecx
	andl	$63, %eax
	orl	%ecx, %eax
	movl	%eax, (%rdi)
	movl	$2, %eax
	popq	%rbp
	retq
LBB0_7:
	movzbl	2(%rsi), %r10d
	movl	%r10d, %edx
	andl	$-64, %edx
	cmpl	$128, %edx
	jne	LBB0_23
## %bb.8:
	testb	$16, %cl
	jne	LBB0_11
## %bb.9:
	andl	$15, %ecx
	movl	%eax, %edx
	andl	$32, %edx
	orl	%ecx, %edx
	je	LBB0_23
## %bb.10:
	shll	$12, %ecx
	andl	$63, %eax
	shll	$6, %eax
	orl	%ecx, %eax
	andl	$63, %r10d
	orl	%eax, %r10d
	movl	%r10d, (%rdi)
	movl	$3, %eax
	popq	%rbp
	retq
LBB0_11:
	movzbl	3(%rsi), %r8d
	movl	%r8d, %edx
	andl	$-64, %edx
	cmpl	$128, %edx
	jne	LBB0_23
## %bb.12:
	testb	$8, %cl
	jne	LBB0_15
## %bb.13:
	andl	$7, %ecx
	movl	%eax, %edx
	andl	$48, %edx
	orl	%ecx, %edx
	je	LBB0_23
## %bb.14:
	shll	$18, %ecx
	andl	$63, %eax
	shll	$12, %eax
	orl	%ecx, %eax
	andl	$63, %r10d
	shll	$6, %r10d
	orl	%eax, %r10d
	andl	$63, %r8d
	orl	%r10d, %r8d
	movl	%r8d, (%rdi)
	movl	$4, %eax
	popq	%rbp
	retq
LBB0_15:
	movzbl	4(%rsi), %r9d
	movl	%r9d, %edx
	andl	$-64, %edx
	cmpl	$128, %edx
	jne	LBB0_23
## %bb.16:
	testb	$4, %cl
	jne	LBB0_19
## %bb.17:
	andl	$3, %ecx
	movl	%eax, %edx
	andl	$56, %edx
	orl	%ecx, %edx
	je	LBB0_23
## %bb.18:
	shll	$24, %ecx
	andl	$63, %eax
	shll	$18, %eax
	orl	%ecx, %eax
	andl	$63, %r10d
	shll	$12, %r10d
	orl	%eax, %r10d
	andl	$63, %r8d
	shll	$6, %r8d
	orl	%r10d, %r8d
	andl	$63, %r9d
	orl	%r8d, %r9d
	movl	%r9d, (%rdi)
	movl	$5, %eax
	popq	%rbp
	retq
LBB0_19:
	movzbl	5(%rsi), %esi
	movl	%esi, %edx
	andl	$-64, %edx
	cmpl	$128, %edx
	jne	LBB0_23
## %bb.20:
	testb	$2, %cl
	jne	LBB0_23
## %bb.21:
	andl	$1, %ecx
	movl	%eax, %edx
	andl	$60, %edx
	orl	%ecx, %edx
	je	LBB0_23
## %bb.22:
	shll	$30, %ecx
	andl	$63, %eax
	shll	$24, %eax
	orl	%ecx, %eax
	andl	$63, %r10d
	shll	$18, %r10d
	orl	%eax, %r10d
	andl	$63, %r8d
	shll	$12, %r8d
	orl	%r10d, %r8d
	andl	$63, %r9d
	shll	$6, %r9d
	orl	%r8d, %r9d
	andl	$63, %esi
	orl	%r9d, %esi
	movl	%esi, (%rdi)
	movl	$6, %eax
	popq	%rbp
	retq
LBB0_23:
	movl	$-1, (%rdi)
	movl	$-1, %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_get_char_utf8
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function get_char_utf8
_get_char_utf8:                         ; @get_char_utf8
	.cfi_startproc
; %bb.0:
	ldrb	w8, [x1]
	tbnz	w8, #7, LBB0_2
; %bb.1:
	str	w8, [x0]
	cmp	w8, #0
	cset	w0, ne
	ret
LBB0_2:
	tbz	w8, #6, LBB0_23
; %bb.3:
	ldrb	w9, [x1, #1]
	and	w10, w9, #0xc0
	cmp	w10, #128
	b.ne	LBB0_23
; %bb.4:
	tbnz	w8, #5, LBB0_7
; %bb.5:
	tst	w8, #0x1e
	b.eq	LBB0_23
; %bb.6:
	and	w9, w9, #0x3f
	bfi	w9, w8, #6, #5
	str	w9, [x0]
	mov	w0, #2
	ret
LBB0_7:
	ldrb	w10, [x1, #2]
	and	w11, w10, #0xc0
	cmp	w11, #128
	b.ne	LBB0_23
; %bb.8:
	tbnz	w8, #4, LBB0_11
; %bb.9:
	and	w11, w9, #0x20
	bfxil	w11, w8, #0, #4
	cbz	w11, LBB0_23
; %bb.10:
	and	w8, w8, #0xf
	lsl	w8, w8, #12
	bfi	w8, w9, #6, #6
	bfxil	w8, w10, #0, #6
	str	w8, [x0]
	mov	w0, #3
	ret
LBB0_11:
	ldrb	w11, [x1, #3]
	and	w12, w11, #0xc0
	cmp	w12, #128
	b.ne	LBB0_23
; %bb.12:
	tbnz	w8, #3, LBB0_15
; %bb.13:
	and	w12, w9, #0x30
	bfxil	w12, w8, #0, #3
	cbz	w12, LBB0_23
; %bb.14:
	and	w8, w8, #0x7
	lsl	w8, w8, #18
	bfi	w8, w9, #12, #6
	bfi	w8, w10, #6, #6
	bfxil	w8, w11, #0, #6
	str	w8, [x0]
	mov	w0, #4
	ret
LBB0_15:
	ldrb	w12, [x1, #4]
	and	w13, w12, #0xc0
	cmp	w13, #128
	b.ne	LBB0_23
; %bb.16:
	tbnz	w8, #2, LBB0_19
; %bb.17:
	and	w13, w9, #0x38
	bfxil	w13, w8, #0, #2
	cbz	w13, LBB0_23
; %bb.18:
	and	w8, w8, #0x3
	lsl	w8, w8, #24
	bfi	w8, w9, #18, #6
	bfi	w8, w10, #12, #6
	bfi	w8, w11, #6, #6
	bfxil	w8, w12, #0, #6
	str	w8, [x0]
	mov	w0, #5
	ret
LBB0_19:
	ldrb	w13, [x1, #5]
	and	w14, w13, #0xc0
	cmp	w14, #128
	b.ne	LBB0_23
; %bb.20:
	tbnz	w8, #1, LBB0_23
; %bb.21:
	and	w14, w9, #0x3c
	bfxil	w14, w8, #0, #1
	cbz	w14, LBB0_23
; %bb.22:
	and	w8, w8, #0x1
	lsl	w8, w8, #30
	bfi	w8, w9, #24, #6
	bfi	w8, w10, #18, #6
	bfi	w8, w11, #12, #6
	bfi	w8, w12, #6, #6
	bfxil	w8, w13, #0, #6
	str	w8, [x0]
	mov	w0, #6
	ret
LBB0_23:
	mov	w8, #-1
	str	w8, [x0]
	mov	x0, x8
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_get_char_utf8
.subsections_via_symbols
