	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function pick_one_utf8_char
_pick_one_utf8_char:                    ## @pick_one_utf8_char
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	.cfi_offset %rbx, -24
	movq	(%rdi), %rbx
	testq	%rsi, %rsi
	je	LBB0_1
## %bb.2:
	movq	(%rsi), %r11
	testq	%r11, %r11
	jne	LBB0_3
	jmp	LBB0_18
LBB0_1:
	movl	$999, %r11d                     ## imm = 0x3E7
LBB0_3:
	movb	(%rbx), %dl
	movl	$1, %ecx
	testb	%dl, %dl
	js	LBB0_4
LBB0_33:
	addq	%rcx, %rbx
	movq	%rbx, (%rdi)
	testq	%rsi, %rsi
	je	LBB0_35
## %bb.34:
	subq	%rcx, %r11
	movq	%r11, (%rsi)
	jmp	LBB0_35
LBB0_4:
	movzbl	%dl, %eax
	movl	%eax, %ecx
	andl	$-32, %ecx
	cmpl	$192, %ecx
	jne	LBB0_9
## %bb.5:
	cmpq	$2, %r11
	jb	LBB0_18
## %bb.6:
	movb	1(%rbx), %r8b
	movl	%r8d, %ecx
	andb	$-64, %cl
	cmpb	$-128, %cl
	jne	LBB0_18
## %bb.7:
	andl	$-2, %eax
	cmpl	$192, %eax
	je	LBB0_18
## %bb.8:
	shlb	$6, %dl
	andb	$63, %r8b
	orb	%dl, %r8b
	movl	$2, %ecx
	movl	%r8d, %edx
	jmp	LBB0_33
LBB0_9:
	movl	%eax, %ecx
	andl	$-16, %ecx
	cmpl	$224, %ecx
	jne	LBB0_22
## %bb.10:
	cmpq	$3, %r11
	jb	LBB0_18
## %bb.11:
	movzbl	1(%rbx), %r8d
	movl	%r8d, %eax
	andl	$-64, %eax
	cmpl	$128, %eax
	jne	LBB0_18
## %bb.12:
	movb	2(%rbx), %r9b
	movl	%r9d, %eax
	andb	$-64, %al
	cmpb	$-128, %al
	jne	LBB0_18
## %bb.13:
	cmpb	$-32, %dl
	jne	LBB0_15
## %bb.14:
	movl	%r8d, %eax
	andl	$-32, %eax
	cmpl	$128, %eax
	je	LBB0_18
LBB0_15:
	cmpb	$-17, %dl
	je	LBB0_19
## %bb.16:
	cmpb	$-19, %dl
	jne	LBB0_21
## %bb.17:
	movl	%r8d, %eax
	andb	$-32, %al
	cmpb	$-96, %al
	je	LBB0_18
	jmp	LBB0_21
LBB0_22:
	andl	$-8, %eax
	cmpl	$240, %eax
	jne	LBB0_18
## %bb.23:
	cmpq	$4, %r11
	jb	LBB0_18
## %bb.24:
	movzbl	1(%rbx), %r9d
	movl	%r9d, %eax
	andl	$-64, %eax
	cmpl	$128, %eax
	jne	LBB0_18
## %bb.25:
	movb	2(%rbx), %r8b
	movl	%r8d, %eax
	andb	$-64, %al
	cmpb	$-128, %al
	jne	LBB0_18
## %bb.26:
	movb	3(%rbx), %r10b
	movl	%r10d, %eax
	andb	$-64, %al
	cmpb	$-128, %al
	jne	LBB0_18
## %bb.27:
	cmpb	$-16, %dl
	jne	LBB0_29
## %bb.28:
	movl	%r9d, %eax
	andl	$-16, %eax
	cmpl	$128, %eax
	je	LBB0_18
LBB0_29:
	cmpb	$-12, %dl
	jne	LBB0_31
## %bb.30:
	cmpb	$-113, %r9b
LBB0_31:
	ja	LBB0_18
## %bb.32:
	shlb	$6, %r8b
	andb	$63, %r10b
	orb	%r8b, %r10b
	movl	$4, %ecx
	movl	%r10d, %edx
	jmp	LBB0_33
LBB0_19:
	cmpb	$-65, %r8b
	jne	LBB0_21
## %bb.20:
	movl	%r9d, %eax
	andb	$-2, %al
	cmpb	$-66, %al
	jne	LBB0_21
LBB0_18:
	movq	$0, (%rdi)
	xorl	%edx, %edx
LBB0_35:
	movzbl	%dl, %eax
	popq	%rbx
	popq	%rbp
	retq
LBB0_21:
	shlb	$6, %r8b
	andb	$63, %r9b
	orb	%r8b, %r9b
	movl	$3, %ecx
	movl	%r9d, %edx
	jmp	LBB0_33
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_pick_one_utf8_char
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function pick_one_utf8_char
_pick_one_utf8_char:                    ; @pick_one_utf8_char
	.cfi_startproc
; %bb.0:
	ldr	x8, [x0]
	cbz	x1, LBB0_2
; %bb.1:
	ldr	x9, [x1]
	cbnz	x9, LBB0_3
	b	LBB0_34
LBB0_2:
	mov	w9, #999
LBB0_3:
	ldrsb	w11, [x8]
	and	w10, w11, #0xff
	tbnz	w11, #31, LBB0_8
; %bb.4:
	mov	w11, #1
LBB0_5:
	add	x8, x8, x11
	str	x8, [x0]
	cbz	x1, LBB0_7
; %bb.6:
	sub	x8, x9, x11
	str	x8, [x1]
LBB0_7:
	and	w0, w10, #0xff
	ret
LBB0_8:
	and	w11, w10, #0xe0
	cmp	w11, #192
	b.ne	LBB0_13
; %bb.9:
	cmp	x9, #2
	b.lo	LBB0_34
; %bb.10:
	ldrb	w11, [x8, #1]
	and	w12, w11, #0xc0
	cmp	w12, #128
	b.ne	LBB0_34
; %bb.11:
	and	w12, w10, #0xfe
	cmp	w12, #192
	b.eq	LBB0_34
; %bb.12:
	and	w12, w11, #0x3f
	bfi	w12, w10, #6, #8
	mov	w11, #2
	mov	x10, x12
	b	LBB0_5
LBB0_13:
	and	w11, w10, #0xf0
	cmp	w11, #224
	b.ne	LBB0_22
; %bb.14:
	cmp	x9, #3
	b.lo	LBB0_34
; %bb.15:
	ldrb	w11, [x8, #1]
	and	w12, w11, #0xc0
	cmp	w12, #128
	b.ne	LBB0_34
; %bb.16:
	ldrb	w12, [x8, #2]
	and	w13, w12, #0xc0
	cmp	w13, #128
	b.ne	LBB0_34
; %bb.17:
	cmp	w10, #224
	b.ne	LBB0_19
; %bb.18:
	and	w13, w11, #0xe0
	cmp	w13, #128
	b.eq	LBB0_34
LBB0_19:
	cmp	w10, #239
	b.eq	LBB0_32
; %bb.20:
	cmp	w10, #237
	b.ne	LBB0_35
; %bb.21:
	and	w10, w11, #0xe0
	cmp	w10, #160
	b.eq	LBB0_34
	b	LBB0_35
LBB0_22:
	and	w11, w10, #0xf8
	cmp	w11, #240
	ccmp	x9, #4, #0, eq
	b.lo	LBB0_34
; %bb.23:
	ldrb	w12, [x8, #1]
	and	w11, w12, #0xc0
	cmp	w11, #128
	b.ne	LBB0_34
; %bb.24:
	ldrb	w11, [x8, #2]
	and	w13, w11, #0xc0
	cmp	w13, #128
	b.ne	LBB0_34
; %bb.25:
	ldrb	w13, [x8, #3]
	and	w14, w13, #0xc0
	cmp	w14, #128
	b.ne	LBB0_34
; %bb.26:
	cmp	w10, #240
	b.ne	LBB0_28
; %bb.27:
	and	w14, w12, #0xf0
	cmp	w14, #128
	b.eq	LBB0_34
LBB0_28:
	cmp	w10, #244
	b.ne	LBB0_30
; %bb.29:
	cmp	w12, #143
LBB0_30:
	b.hi	LBB0_34
; %bb.31:
	and	w10, w13, #0x3f
	bfi	w10, w11, #6, #8
	mov	w11, #4
	b	LBB0_5
LBB0_32:
	cmp	w11, #191
	b.ne	LBB0_35
; %bb.33:
	and	w10, w12, #0xfe
	cmp	w10, #190
	b.ne	LBB0_35
LBB0_34:
	str	xzr, [x0]
	and	w0, wzr, #0xff
	ret
LBB0_35:
	and	w10, w12, #0x3f
	bfi	w10, w11, #6, #8
	mov	w11, #3
	b	LBB0_5
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_pick_one_utf8_char
.subsections_via_symbols
