	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function utf8
_utf8:                                  ## @utf8
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	cmpl	$127, %edi
	ja	LBB0_2
## %bb.1:
	movb	%dil, (%rsi)
	movl	$1, %eax
	jmp	LBB0_13
LBB0_2:
	cmpl	$2047, %edi                     ## imm = 0x7FF
	ja	LBB0_4
## %bb.3:
	movl	%edi, %eax
	shrl	$6, %eax
	orb	$-64, %al
	movb	%al, (%rsi)
	andb	$63, %dil
	orb	$-128, %dil
	movb	%dil, 1(%rsi)
	movl	$2, %eax
	jmp	LBB0_13
LBB0_4:
	cmpl	$65535, %edi                    ## imm = 0xFFFF
	ja	LBB0_6
## %bb.5:
	movl	%edi, %eax
	shrl	$12, %eax
	orb	$-32, %al
	movb	%al, (%rsi)
	movl	%edi, %eax
	shrl	$6, %eax
	andb	$63, %al
	orb	$-128, %al
	movb	%al, 1(%rsi)
	andb	$63, %dil
	orb	$-128, %dil
	movb	%dil, 2(%rsi)
	movl	$3, %eax
	jmp	LBB0_13
LBB0_6:
	cmpl	$2097151, %edi                  ## imm = 0x1FFFFF
	ja	LBB0_8
## %bb.7:
	movl	%edi, %eax
	shrl	$18, %eax
	orb	$-16, %al
	movb	%al, (%rsi)
	movl	%edi, %eax
	shrl	$12, %eax
	andb	$63, %al
	orb	$-128, %al
	movb	%al, 1(%rsi)
	movl	%edi, %eax
	shrl	$6, %eax
	andb	$63, %al
	orb	$-128, %al
	movb	%al, 2(%rsi)
	andb	$63, %dil
	orb	$-128, %dil
	movb	%dil, 3(%rsi)
	movl	$4, %eax
	jmp	LBB0_13
LBB0_8:
	cmpl	$67108863, %edi                 ## imm = 0x3FFFFFF
	ja	LBB0_10
## %bb.9:
	movl	%edi, %eax
	shrl	$24, %eax
	orb	$-8, %al
	movb	%al, (%rsi)
	movl	%edi, %eax
	shrl	$18, %eax
	andb	$63, %al
	orb	$-128, %al
	movb	%al, 1(%rsi)
	movl	%edi, %eax
	shrl	$12, %eax
	andb	$63, %al
	orb	$-128, %al
	movb	%al, 2(%rsi)
	movl	%edi, %eax
	shrl	$6, %eax
	andb	$63, %al
	orb	$-128, %al
	movb	%al, 3(%rsi)
	andb	$63, %dil
	orb	$-128, %dil
	movb	%dil, 4(%rsi)
	movl	$5, %eax
	jmp	LBB0_13
LBB0_10:
	testl	%edi, %edi
	js	LBB0_11
## %bb.12:
	movl	%edi, %eax
	shrl	$30, %eax
	orb	$-4, %al
	movb	%al, (%rsi)
	movl	%edi, %eax
	shrl	$24, %eax
	andb	$63, %al
	orb	$-128, %al
	movb	%al, 1(%rsi)
	movl	%edi, %eax
	shrl	$18, %eax
	andb	$63, %al
	orb	$-128, %al
	movb	%al, 2(%rsi)
	movl	%edi, %eax
	shrl	$12, %eax
	andb	$63, %al
	orb	$-128, %al
	movb	%al, 3(%rsi)
	movl	%edi, %eax
	shrl	$6, %eax
	andb	$63, %al
	orb	$-128, %al
	movb	%al, 4(%rsi)
	andb	$63, %dil
	orb	$-128, %dil
	movb	%dil, 5(%rsi)
	movl	$6, %eax
LBB0_13:
	movb	$0, (%rsi,%rax)
	popq	%rbp
	retq
LBB0_11:
	xorl	%eax, %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_utf8
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function utf8
_utf8:                                  ; @utf8
	.cfi_startproc
; %bb.0:
	cmp	w0, #127
	b.hi	LBB0_2
; %bb.1:
	strb	w0, [x1]
	mov	w0, #1
	strb	wzr, [x1, x0]
	ret
LBB0_2:
	cmp	w0, #2047
	b.hi	LBB0_4
; %bb.3:
	lsr	w8, w0, #6
	orr	w8, w8, #0xc0
	strb	w8, [x1]
	mov	w8, #128
	bfxil	w8, w0, #0, #6
	strb	w8, [x1, #1]
	mov	w0, #2
	strb	wzr, [x1, x0]
	ret
LBB0_4:
	lsr	w8, w0, #16
	cbnz	w8, LBB0_6
; %bb.5:
	lsr	w8, w0, #12
	orr	w8, w8, #0xe0
	strb	w8, [x1]
	mov	w8, #128
	mov	w9, #128
	bfxil	w9, w0, #6, #6
	strb	w9, [x1, #1]
	bfxil	w8, w0, #0, #6
	strb	w8, [x1, #2]
	mov	w0, #3
	strb	wzr, [x1, x0]
	ret
LBB0_6:
	lsr	w8, w0, #21
	cbnz	w8, LBB0_8
; %bb.7:
	lsr	w8, w0, #18
	orr	w8, w8, #0xf0
	strb	w8, [x1]
	mov	w8, #128
	mov	w9, #128
	bfxil	w9, w0, #12, #6
	strb	w9, [x1, #1]
	mov	w9, #128
	bfxil	w9, w0, #6, #6
	strb	w9, [x1, #2]
	bfxil	w8, w0, #0, #6
	strb	w8, [x1, #3]
	mov	w0, #4
	strb	wzr, [x1, x0]
	ret
LBB0_8:
	lsr	w8, w0, #26
	cbnz	w8, LBB0_10
; %bb.9:
	lsr	w8, w0, #24
	orr	w8, w8, #0xf8
	strb	w8, [x1]
	mov	w8, #128
	mov	w9, #128
	bfxil	w9, w0, #18, #6
	strb	w9, [x1, #1]
	mov	w9, #128
	bfxil	w9, w0, #12, #6
	strb	w9, [x1, #2]
	mov	w9, #128
	bfxil	w9, w0, #6, #6
	strb	w9, [x1, #3]
	bfxil	w8, w0, #0, #6
	strb	w8, [x1, #4]
	mov	w0, #5
	strb	wzr, [x1, x0]
	ret
LBB0_10:
	tbnz	w0, #31, LBB0_12
; %bb.11:
	mov	w8, #252
	bfxil	w8, w0, #30, #2
	strb	w8, [x1]
	mov	w8, #128
	mov	w9, #128
	bfxil	w9, w0, #24, #6
	strb	w9, [x1, #1]
	mov	w9, #128
	bfxil	w9, w0, #18, #6
	strb	w9, [x1, #2]
	mov	w9, #128
	bfxil	w9, w0, #12, #6
	strb	w9, [x1, #3]
	mov	w9, #128
	bfxil	w9, w0, #6, #6
	strb	w9, [x1, #4]
	bfxil	w8, w0, #0, #6
	strb	w8, [x1, #5]
	mov	w0, #6
	strb	wzr, [x1, x0]
	ret
LBB0_12:
	mov	x0, #0
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_utf8
.subsections_via_symbols
