	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_string_to_utf8                 ## -- Begin function string_to_utf8
	.p2align	4, 0x90
_string_to_utf8:                        ## @string_to_utf8
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movb	(%rdi), %al
	testb	%al, %al
	je	LBB0_32
## %bb.1:
	movq	%rsi, %r9
	jmp	LBB0_5
LBB0_2:                                 ##   in Loop: Header=BB0_5 Depth=1
	addq	$3, %rdi
	shll	$12, %ecx
	andl	$63, %eax
	shll	$6, %eax
	orl	%ecx, %eax
	andl	$63, %r8d
	orl	%eax, %r8d
	movl	%r8d, %ecx
LBB0_3:                                 ##   in Loop: Header=BB0_5 Depth=1
	movq	%rdi, %rdx
LBB0_4:                                 ##   in Loop: Header=BB0_5 Depth=1
	movl	%ecx, (%r9)
	addq	$4, %r9
	movzbl	(%rdx), %eax
	movq	%rdx, %rdi
	testb	%al, %al
	je	LBB0_33
LBB0_5:                                 ## =>This Inner Loop Header: Depth=1
	leaq	1(%rdi), %rdx
	movzbl	%al, %ecx
	testb	$-128, %cl
	je	LBB0_4
## %bb.6:                               ##   in Loop: Header=BB0_5 Depth=1
	testb	$64, %al
	je	LBB0_32
## %bb.7:                               ##   in Loop: Header=BB0_5 Depth=1
	testb	$32, %al
	jne	LBB0_11
## %bb.8:                               ##   in Loop: Header=BB0_5 Depth=1
	movzbl	(%rdx), %eax
	movl	%eax, %edx
	andl	$-64, %edx
	cmpl	$128, %edx
	jne	LBB0_32
## %bb.9:                               ##   in Loop: Header=BB0_5 Depth=1
	movl	%ecx, %edx
	andl	$30, %edx
	je	LBB0_32
## %bb.10:                              ##   in Loop: Header=BB0_5 Depth=1
	addq	$2, %rdi
	andl	$31, %ecx
	shll	$6, %ecx
	andl	$63, %eax
	orl	%eax, %ecx
	jmp	LBB0_3
	.p2align	4, 0x90
LBB0_11:                                ##   in Loop: Header=BB0_5 Depth=1
	testb	$16, %al
	jne	LBB0_15
## %bb.12:                              ##   in Loop: Header=BB0_5 Depth=1
	movzbl	(%rdx), %eax
	movl	%eax, %edx
	andl	$-64, %edx
	cmpl	$128, %edx
	jne	LBB0_32
## %bb.13:                              ##   in Loop: Header=BB0_5 Depth=1
	movzbl	2(%rdi), %r8d
	movl	%r8d, %edx
	andl	$-64, %edx
	cmpl	$128, %edx
	jne	LBB0_32
## %bb.14:                              ##   in Loop: Header=BB0_5 Depth=1
	andl	$15, %ecx
	movl	%eax, %edx
	andl	$32, %edx
	orl	%ecx, %edx
	jne	LBB0_2
	jmp	LBB0_32
LBB0_15:                                ##   in Loop: Header=BB0_5 Depth=1
	testb	$8, %al
	jne	LBB0_32
## %bb.16:                              ##   in Loop: Header=BB0_5 Depth=1
	movzbl	(%rdx), %edx
	movl	%edx, %eax
	andl	$-64, %eax
	cmpl	$128, %eax
	jne	LBB0_32
## %bb.17:                              ##   in Loop: Header=BB0_5 Depth=1
	movzbl	2(%rdi), %r8d
	movl	%r8d, %eax
	andl	$-64, %eax
	cmpl	$128, %eax
	jne	LBB0_32
## %bb.18:                              ##   in Loop: Header=BB0_5 Depth=1
	movzbl	3(%rdi), %r10d
	movl	%r10d, %eax
	andl	$-64, %eax
	cmpl	$128, %eax
	jne	LBB0_32
## %bb.19:                              ##   in Loop: Header=BB0_5 Depth=1
	andl	$7, %ecx
	movl	%edx, %eax
	andl	$48, %eax
	orl	%ecx, %eax
	je	LBB0_32
## %bb.20:                              ##   in Loop: Header=BB0_5 Depth=1
	addq	$4, %rdi
	shll	$18, %ecx
	andl	$63, %edx
	shll	$12, %edx
	orl	%ecx, %edx
	andl	$63, %r8d
	shll	$6, %r8d
	orl	%edx, %r8d
	andl	$63, %r10d
	orl	%r8d, %r10d
	movl	%r10d, %ecx
	jmp	LBB0_3
LBB0_32:
	movq	%rsi, %r9
LBB0_33:
	movl	$0, (%r9)
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_string_to_utf8                 ; -- Begin function string_to_utf8
	.p2align	2
_string_to_utf8:                        ; @string_to_utf8
	.cfi_startproc
; %bb.0:
	ldrb	w9, [x0]
	cbz	w9, LBB0_19
; %bb.1:
	mov	x8, x1
	b	LBB0_4
LBB0_2:                                 ;   in Loop: Header=BB0_4 Depth=1
	add	x10, x0, #3
	and	w9, w9, #0xf
	lsl	w9, w9, #12
	bfi	w9, w11, #6, #6
	bfxil	w9, w12, #0, #6
LBB0_3:                                 ;   in Loop: Header=BB0_4 Depth=1
	str	w9, [x8], #4
	ldrb	w9, [x10]
	mov	x0, x10
	cbz	w9, LBB0_20
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	add	x10, x0, #1
	tbz	w9, #7, LBB0_3
; %bb.5:                                ;   in Loop: Header=BB0_4 Depth=1
	tbz	w9, #6, LBB0_19
; %bb.6:                                ;   in Loop: Header=BB0_4 Depth=1
	tbnz	w9, #5, LBB0_9
; %bb.7:                                ;   in Loop: Header=BB0_4 Depth=1
	ldrb	w11, [x10]
	and	w10, w11, #0xc0
	and	w12, w9, #0x1e
	cmp	w10, #128
	ccmp	w12, #0, #4, eq
	b.eq	LBB0_19
; %bb.8:                                ;   in Loop: Header=BB0_4 Depth=1
	add	x10, x0, #2
	and	w11, w11, #0x3f
	bfi	w11, w9, #6, #5
	mov	x9, x11
	b	LBB0_3
LBB0_9:                                 ;   in Loop: Header=BB0_4 Depth=1
	tbnz	w9, #4, LBB0_13
; %bb.10:                               ;   in Loop: Header=BB0_4 Depth=1
	ldrb	w11, [x10]
	and	w10, w11, #0xc0
	cmp	w10, #128
	b.ne	LBB0_19
; %bb.11:                               ;   in Loop: Header=BB0_4 Depth=1
	ldrb	w12, [x0, #2]
	and	w10, w12, #0xc0
	cmp	w10, #128
	b.ne	LBB0_19
; %bb.12:                               ;   in Loop: Header=BB0_4 Depth=1
	and	w10, w11, #0x20
	bfxil	w10, w9, #0, #4
	cbnz	w10, LBB0_2
	b	LBB0_19
LBB0_13:                                ;   in Loop: Header=BB0_4 Depth=1
	tbnz	w9, #3, LBB0_19
; %bb.14:                               ;   in Loop: Header=BB0_4 Depth=1
	ldrb	w11, [x10]
	and	w10, w11, #0xc0
	cmp	w10, #128
	b.ne	LBB0_19
; %bb.15:                               ;   in Loop: Header=BB0_4 Depth=1
	ldrb	w12, [x0, #2]
	and	w10, w12, #0xc0
	cmp	w10, #128
	b.ne	LBB0_19
; %bb.16:                               ;   in Loop: Header=BB0_4 Depth=1
	ldrb	w13, [x0, #3]
	and	w10, w13, #0xc0
	cmp	w10, #128
	b.ne	LBB0_19
; %bb.17:                               ;   in Loop: Header=BB0_4 Depth=1
	and	w10, w11, #0x30
	bfxil	w10, w9, #0, #3
	cbz	w10, LBB0_19
; %bb.18:                               ;   in Loop: Header=BB0_4 Depth=1
	add	x10, x0, #4
	and	w9, w9, #0x7
	lsl	w9, w9, #18
	bfi	w9, w11, #12, #6
	bfi	w9, w12, #6, #6
	bfxil	w9, w13, #0, #6
	b	LBB0_3
LBB0_19:
	str	wzr, [x1]
	ret
LBB0_20:
	str	wzr, [x8]
	ret
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
