	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function digest2string
LCPI0_0:
	.long	160                             ## 0xa0
	.long	160                             ## 0xa0
	.long	160                             ## 0xa0
	.long	160                             ## 0xa0
LCPI0_1:
	.byte	48                              ## 0x30
	.byte	48                              ## 0x30
	.byte	48                              ## 0x30
	.byte	48                              ## 0x30
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
LCPI0_2:
	.byte	87                              ## 0x57
	.byte	87                              ## 0x57
	.byte	87                              ## 0x57
	.byte	87                              ## 0x57
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
LCPI0_3:
	.long	4294967280                      ## 0xfffffff0
	.long	4294967280                      ## 0xfffffff0
	.long	4294967280                      ## 0xfffffff0
	.long	4294967280                      ## 0xfffffff0
LCPI0_4:
	.long	10                              ## 0xa
	.long	10                              ## 0xa
	.long	10                              ## 0xa
	.long	10                              ## 0xa
LCPI0_5:
	.byte	0                               ## 0x0
	.byte	4                               ## 0x4
	.byte	8                               ## 0x8
	.byte	12                              ## 0xc
	.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
_digest2string:                         ## @digest2string
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	testq	%rdx, %rdx
	je	LBB0_1
## %bb.2:
	cmpq	$4, %rdx
	jb	LBB0_3
## %bb.4:
	leaq	(%rdi,%rdx,4), %rax
	cmpq	%rsi, %rax
	jbe	LBB0_6
## %bb.5:
	leaq	(%rsi,%rdx,2), %rax
	cmpq	%rdi, %rax
	jbe	LBB0_6
LBB0_3:
	movq	%rdx, %r8
	movq	%rsi, %r10
	movq	%rdi, %r11
LBB0_9:
	xorl	%eax, %eax
	movl	$48, %edx
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_10:                                ## =>This Inner Loop Header: Depth=1
	movl	(%r11,%rsi,4), %edi
	leal	15(%rdi), %ecx
	testl	%edi, %edi
	cmovnsl	%edi, %ecx
	shrl	$4, %ecx
	cmpl	$160, %edi
	movl	$87, %edi
	cmovll	%edx, %edi
	addb	%cl, %dil
	movb	%dil, (%r10,%rsi,2)
	movl	(%r11,%rsi,4), %ecx
	leal	15(%rcx), %edi
	testl	%ecx, %ecx
	cmovnsl	%ecx, %edi
	andl	$-16, %edi
	subl	%edi, %ecx
	cmpl	$10, %ecx
	movl	$87, %edi
	cmovll	%edx, %edi
	addb	%cl, %dil
	movb	%dil, 1(%r10,%rsi,2)
	incq	%rsi
	addq	$-2, %rax
	cmpq	%rsi, %r8
	jne	LBB0_10
## %bb.11:
	subq	%rax, %r10
	jmp	LBB0_12
LBB0_1:
	movq	%rsi, %r10
	jmp	LBB0_12
LBB0_6:
	movq	%rdx, %r9
	andq	$-4, %r9
	movl	%edx, %r8d
	andl	$3, %r8d
	leaq	(%rsi,%r9,2), %r10
	leaq	(%rdi,%r9,4), %r11
	xorl	%eax, %eax
	movdqa	LCPI0_0(%rip), %xmm8            ## xmm8 = [160,160,160,160]
	movdqa	LCPI0_1(%rip), %xmm2            ## xmm2 = <48,48,48,48,u,u,u,u,u,u,u,u,u,u,u,u>
	movdqa	LCPI0_2(%rip), %xmm5            ## xmm5 = <87,87,87,87,u,u,u,u,u,u,u,u,u,u,u,u>
	movdqa	LCPI0_3(%rip), %xmm9            ## xmm9 = [4294967280,4294967280,4294967280,4294967280]
	movdqa	LCPI0_4(%rip), %xmm10           ## xmm10 = [10,10,10,10]
	movdqa	LCPI0_5(%rip), %xmm6            ## xmm6 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
	.p2align	4, 0x90
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	movdqu	(%rdi,%rax,4), %xmm7
	movdqa	%xmm8, %xmm0
	pcmpgtd	%xmm7, %xmm0
	packssdw	%xmm0, %xmm0
	packsswb	%xmm0, %xmm0
	movdqa	%xmm5, %xmm3
	pblendvb	%xmm0, %xmm2, %xmm3
	movdqa	%xmm7, %xmm0
	psrad	$31, %xmm0
	psrld	$28, %xmm0
	paddd	%xmm7, %xmm0
	movdqa	%xmm0, %xmm4
	psrld	$4, %xmm4
	pand	%xmm9, %xmm0
	psubd	%xmm0, %xmm7
	movdqa	%xmm10, %xmm0
	pcmpgtd	%xmm7, %xmm0
	packssdw	%xmm0, %xmm0
	packsswb	%xmm0, %xmm0
	movdqa	%xmm5, %xmm1
	pblendvb	%xmm0, %xmm2, %xmm1
	punpcklbw	%xmm1, %xmm3            ## xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3],xmm3[4],xmm1[4],xmm3[5],xmm1[5],xmm3[6],xmm1[6],xmm3[7],xmm1[7]
	pshufb	%xmm6, %xmm4
	pshufb	%xmm6, %xmm7
	punpcklbw	%xmm7, %xmm4            ## xmm4 = xmm4[0],xmm7[0],xmm4[1],xmm7[1],xmm4[2],xmm7[2],xmm4[3],xmm7[3],xmm4[4],xmm7[4],xmm4[5],xmm7[5],xmm4[6],xmm7[6],xmm4[7],xmm7[7]
	paddb	%xmm3, %xmm4
	movq	%xmm4, (%rsi,%rax,2)
	addq	$4, %rax
	cmpq	%rax, %r9
	jne	LBB0_7
## %bb.8:
	cmpq	%rdx, %r9
	jne	LBB0_9
LBB0_12:
	movb	$0, (%r10)
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_digest2string
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function digest2string
lCPI0_0:
	.byte	0                               ; 0x0
	.byte	4                               ; 0x4
	.byte	8                               ; 0x8
	.byte	12                              ; 0xc
	.byte	16                              ; 0x10
	.byte	20                              ; 0x14
	.byte	24                              ; 0x18
	.byte	28                              ; 0x1c
	.byte	32                              ; 0x20
	.byte	36                              ; 0x24
	.byte	40                              ; 0x28
	.byte	44                              ; 0x2c
	.byte	48                              ; 0x30
	.byte	52                              ; 0x34
	.byte	56                              ; 0x38
	.byte	60                              ; 0x3c
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_digest2string:                         ; @digest2string
	.cfi_startproc
; %bb.0:
	cbz	x2, LBB0_9
; %bb.1:
	cmp	x2, #16
	b.lo	LBB0_4
; %bb.2:
	add	x8, x0, x2, lsl #2
	cmp	x8, x1
	b.ls	LBB0_10
; %bb.3:
	add	x8, x1, x2, lsl #1
	cmp	x8, x0
	b.ls	LBB0_10
LBB0_4:
	mov	x8, x2
	mov	x9, x1
	mov	x10, x0
LBB0_5:
	mov	w11, #87
	mov	w12, #48
LBB0_6:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w13, [x10]
	add	w14, w13, #15
	cmp	w13, #0
	csel	w14, w14, w13, lt
	cmp	w13, #160
	csel	w13, w12, w11, lt
	add	w13, w13, w14, lsr #4
	strb	w13, [x9]
	ldr	w13, [x10], #4
	negs	w14, w13
	and	w14, w14, #0xf
	and	w13, w13, #0xf
	csneg	w13, w13, w14, mi
	cmp	w13, #10
	csel	w14, w12, w11, lt
	add	w14, w14, w13
	add	x13, x9, #2
	strb	w14, [x9, #1]
	mov	x9, x13
	sub	x8, x8, #1
	cbnz	x8, LBB0_6
; %bb.7:
	mov	x9, x13
LBB0_8:
	strb	wzr, [x9]
	ret
LBB0_9:
	strb	wzr, [x1]
	ret
LBB0_10:
	and	x11, x2, #0xfffffffffffffff0
	and	x8, x2, #0xf
	add	x9, x1, x11, lsl #1
	add	x10, x0, x11, lsl #2
	movi.4s	v0, #160
Lloh0:
	adrp	x12, lCPI0_0@PAGE
Lloh1:
	ldr	q1, [x12, lCPI0_0@PAGEOFF]
	movi.16b	v2, #87
	movi.16b	v3, #48
	movi.4s	v4, #10
	mov	x12, x11
LBB0_11:                                ; =>This Inner Loop Header: Depth=1
	ldp	q5, q6, [x0]
	ldp	q7, q16, [x0, #32]
	cmgt.4s	v17, v0, v16
	cmgt.4s	v18, v0, v7
	uzp1.8h	v17, v18, v17
	cmgt.4s	v18, v0, v6
	cmgt.4s	v19, v0, v5
	uzp1.8h	v18, v19, v18
	uzp1.16b	v17, v18, v17
	cmlt.4s	v18, v16, #0
	mov.16b	v19, v16
	usra.4s	v19, v18, #28
	sshr.4s	v23, v19, #4
	cmlt.4s	v18, v7, #0
	mov.16b	v24, v7
	usra.4s	v24, v18, #28
	sshr.4s	v22, v24, #4
	cmlt.4s	v18, v6, #0
	mov.16b	v25, v6
	usra.4s	v25, v18, #28
	sshr.4s	v21, v25, #4
	cmlt.4s	v18, v5, #0
	mov.16b	v26, v5
	usra.4s	v26, v18, #28
	sshr.4s	v20, v26, #4
	tbl.16b	v18, { v20, v21, v22, v23 }, v1
	bsl.16b	v17, v3, v2
	add.16b	v17, v17, v18
	bic.4s	v26, #15
	sub.4s	v20, v5, v26
	bic.4s	v25, #15
	sub.4s	v21, v6, v25
	bic.4s	v24, #15
	sub.4s	v22, v7, v24
	bic.4s	v19, #15
	sub.4s	v23, v16, v19
	cmgt.4s	v5, v4, v23
	cmgt.4s	v6, v4, v22
	uzp1.8h	v5, v6, v5
	cmgt.4s	v6, v4, v21
	cmgt.4s	v7, v4, v20
	uzp1.8h	v6, v7, v6
	uzp1.16b	v5, v6, v5
	tbl.16b	v6, { v20, v21, v22, v23 }, v1
	bsl.16b	v5, v3, v2
	add.16b	v18, v5, v6
	st2.16b	{ v17, v18 }, [x1], #32
	add	x0, x0, #64
	subs	x12, x12, #16
	b.ne	LBB0_11
; %bb.12:
	cmp	x11, x2
	b.ne	LBB0_5
	b	LBB0_8
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_digest2string
.subsections_via_symbols
