	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function fromb64
LCPI0_0:
	.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
LCPI0_1:
	.byte	1                               ## 0x1
	.byte	5                               ## 0x5
	.byte	9                               ## 0x9
	.byte	13                              ## 0xd
	.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	2                               ## 0x2
	.byte	6                               ## 0x6
	.byte	10                              ## 0xa
	.byte	14                              ## 0xe
	.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:
	.byte	3                               ## 0x3
	.byte	7                               ## 0x7
	.byte	11                              ## 0xb
	.byte	15                              ## 0xf
	.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_4:
	.long	4282384384                      ## 0xff400000
	.long	4282384384                      ## 0xff400000
	.long	4282384384                      ## 0xff400000
	.long	4282384384                      ## 0xff400000
LCPI0_5:
	.long	4294770688                      ## 0xfffd0000
	.long	4294770688                      ## 0xfffd0000
	.long	4294770688                      ## 0xfffd0000
	.long	4294770688                      ## 0xfffd0000
LCPI0_6:
	.long	4294964224                      ## 0xfffff400
	.long	4294964224                      ## 0xfffff400
	.long	4294964224                      ## 0xfffff400
	.long	4294964224                      ## 0xfffff400
LCPI0_7:
	.long	4294967248                      ## 0xffffffd0
	.long	4294967248                      ## 0xffffffd0
	.long	4294967248                      ## 0xffffffd0
	.long	4294967248                      ## 0xffffffd0
LCPI0_8:
	.byte	2                               ## 0x2
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	6                               ## 0x6
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	10                              ## 0xa
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	14                              ## 0xe
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
LCPI0_9:
	.byte	1                               ## 0x1
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	5                               ## 0x5
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	9                               ## 0x9
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	13                              ## 0xd
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
LCPI0_10:
	.byte	255                             ## 0xff
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	255                             ## 0xff
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	255                             ## 0xff
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	255                             ## 0xff
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
LCPI0_11:
	.byte	128                             ## 0x80
	.space	1
	.byte	6                               ## 0x6
	.byte	128                             ## 0x80
	.space	1
	.byte	7                               ## 0x7
	.byte	128                             ## 0x80
	.space	1
	.byte	8                               ## 0x8
	.byte	128                             ## 0x80
	.space	1
	.byte	9                               ## 0x9
	.byte	128                             ## 0x80
	.space	1
	.byte	10                              ## 0xa
	.byte	128                             ## 0x80
LCPI0_12:
	.byte	5                               ## 0x5
	.space	1
	.byte	128                             ## 0x80
	.byte	6                               ## 0x6
	.space	1
	.byte	128                             ## 0x80
	.byte	7                               ## 0x7
	.space	1
	.byte	128                             ## 0x80
	.byte	8                               ## 0x8
	.space	1
	.byte	128                             ## 0x80
	.byte	9                               ## 0x9
	.space	1
	.byte	128                             ## 0x80
	.byte	10                              ## 0xa
LCPI0_13:
	.byte	0                               ## 0x0
	.byte	128                             ## 0x80
	.byte	2                               ## 0x2
	.byte	3                               ## 0x3
	.byte	128                             ## 0x80
	.byte	5                               ## 0x5
	.byte	6                               ## 0x6
	.byte	128                             ## 0x80
	.byte	8                               ## 0x8
	.byte	9                               ## 0x9
	.byte	128                             ## 0x80
	.byte	11                              ## 0xb
	.byte	12                              ## 0xc
	.byte	128                             ## 0x80
	.byte	14                              ## 0xe
	.byte	15                              ## 0xf
LCPI0_14:
	.byte	128                             ## 0x80
	.byte	5                               ## 0x5
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	6                               ## 0x6
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	7                               ## 0x7
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	8                               ## 0x8
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	9                               ## 0x9
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
LCPI0_15:
	.byte	0                               ## 0x0
	.byte	1                               ## 0x1
	.byte	128                             ## 0x80
	.byte	2                               ## 0x2
	.byte	3                               ## 0x3
	.byte	128                             ## 0x80
	.byte	4                               ## 0x4
	.byte	5                               ## 0x5
	.byte	128                             ## 0x80
	.byte	6                               ## 0x6
	.byte	7                               ## 0x7
	.byte	128                             ## 0x80
	.byte	8                               ## 0x8
	.byte	9                               ## 0x9
	.byte	128                             ## 0x80
	.byte	10                              ## 0xa
LCPI0_16:
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	0                               ## 0x0
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	1                               ## 0x1
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	2                               ## 0x2
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	3                               ## 0x3
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	4                               ## 0x4
	.byte	128                             ## 0x80
LCPI0_17:
	.byte	128                             ## 0x80
	.byte	6                               ## 0x6
	.byte	7                               ## 0x7
	.byte	128                             ## 0x80
	.byte	8                               ## 0x8
	.byte	9                               ## 0x9
	.byte	128                             ## 0x80
	.byte	10                              ## 0xa
	.byte	11                              ## 0xb
	.byte	128                             ## 0x80
	.byte	12                              ## 0xc
	.byte	13                              ## 0xd
	.byte	128                             ## 0x80
	.byte	14                              ## 0xe
	.byte	15                              ## 0xf
	.byte	128                             ## 0x80
LCPI0_18:
	.byte	10                              ## 0xa
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	11                              ## 0xb
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	12                              ## 0xc
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	13                              ## 0xd
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	14                              ## 0xe
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	15                              ## 0xf
LCPI0_19:
	.space	1
	.space	1
	.space	1
	.space	1
	.byte	1                               ## 0x1
	.byte	5                               ## 0x5
	.byte	9                               ## 0x9
	.byte	13                              ## 0xd
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
LCPI0_20:
	.byte	0                               ## 0x0
	.byte	8                               ## 0x8
	.byte	128                             ## 0x80
	.byte	1                               ## 0x1
	.byte	9                               ## 0x9
	.byte	128                             ## 0x80
	.byte	2                               ## 0x2
	.byte	10                              ## 0xa
	.byte	128                             ## 0x80
	.byte	3                               ## 0x3
	.byte	11                              ## 0xb
	.byte	128                             ## 0x80
	.byte	4                               ## 0x4
	.byte	12                              ## 0xc
	.byte	128                             ## 0x80
	.byte	5                               ## 0x5
LCPI0_21:
	.byte	13                              ## 0xd
	.byte	128                             ## 0x80
	.byte	6                               ## 0x6
	.byte	14                              ## 0xe
	.byte	128                             ## 0x80
	.byte	7                               ## 0x7
	.byte	15                              ## 0xf
	.byte	128                             ## 0x80
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
LCPI0_22:
	.byte	128                             ## 0x80
	.byte	5                               ## 0x5
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	6                               ## 0x6
	.byte	128                             ## 0x80
	.byte	128                             ## 0x80
	.byte	7                               ## 0x7
	.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
_fromb64:                               ## @fromb64
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r12
	pushq	%rbx
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%edx, %r12d
	movq	%rsi, %r15
	movq	%rdi, %r14
	testb	$3, %r12b
	je	LBB0_2
## %bb.1:
	leaq	L_.str(%rip), %rdi
	callq	_error
LBB0_2:
	testl	%r12d, %r12d
	jle	LBB0_19
## %bb.3:
	leal	-1(%r12), %eax
	xorl	%edx, %edx
	cmpl	$28, %eax
	jb	LBB0_4
## %bb.5:
	movl	%eax, %r8d
	shrl	$2, %r8d
	leaq	(%r14,%r8,4), %rcx
	addq	$4, %rcx
	cmpq	%r15, %rcx
	jbe	LBB0_7
## %bb.6:
	leaq	(%r8,%r8,2), %rcx
	addq	%r15, %rcx
	addq	$3, %rcx
	cmpq	%r14, %rcx
	jbe	LBB0_7
LBB0_4:
	movq	%r14, %rsi
LBB0_17:
	movq	%r15, %rdi
	.p2align	4, 0x90
LBB0_18:                                ## =>This Inner Loop Header: Depth=1
	movsbl	(%rsi), %eax
	shll	$18, %eax
	addl	$-12582912, %eax                ## imm = 0xFF400000
	movsbl	1(%rsi), %ecx
	shll	$12, %ecx
	addl	$-196608, %ecx                  ## imm = 0xFFFD0000
	orl	%eax, %ecx
	movsbl	2(%rsi), %ebx
	shll	$6, %ebx
	addl	$-3072, %ebx                    ## imm = 0xF400
	movsbl	3(%rsi), %eax
	addl	$-48, %eax
	orl	%ebx, %eax
	orl	%ecx, %eax
	movl	%eax, %ecx
	shrl	$16, %ecx
	movb	%cl, (%rdi)
	movb	%ah, 1(%rdi)
	movb	%al, 2(%rdi)
	addl	$4, %edx
	addq	$4, %rsi
	addq	$3, %rdi
	cmpl	%r12d, %edx
	jl	LBB0_18
LBB0_19:
	leal	3(%r12), %eax
	testl	%r12d, %r12d
	cmovnsl	%r12d, %eax
	sarl	$2, %eax
	leal	(%rax,%rax,2), %eax
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_7:
	incl	%r8d
	cmpl	$60, %eax
	jae	LBB0_12
## %bb.8:
	xorl	%ecx, %ecx
	jmp	LBB0_9
LBB0_12:
	movl	%r8d, %ecx
	andl	$-16, %ecx
	xorl	%edx, %edx
	movdqa	LCPI0_10(%rip), %xmm10          ## xmm10 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
	movq	%r15, %rsi
	.p2align	4, 0x90
LBB0_13:                                ## =>This Inner Loop Header: Depth=1
	movdqu	(%r14,%rdx,4), %xmm14
	movdqu	16(%r14,%rdx,4), %xmm15
	movdqu	32(%r14,%rdx,4), %xmm11
	movdqu	48(%r14,%rdx,4), %xmm12
	movdqa	%xmm14, %xmm9
	movdqa	LCPI0_0(%rip), %xmm1            ## xmm1 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
	pshufb	%xmm1, %xmm9
	movdqa	%xmm12, %xmm0
	pshufb	%xmm1, %xmm0
	pmovsxbd	%xmm0, %xmm6
	movdqa	%xmm11, %xmm0
	pshufb	%xmm1, %xmm0
	pmovsxbd	%xmm0, %xmm5
	movdqa	%xmm15, %xmm0
	pshufb	%xmm1, %xmm0
	pmovsxbd	%xmm0, %xmm4
	pslld	$18, %xmm4
	pslld	$18, %xmm5
	pslld	$18, %xmm6
	movdqa	LCPI0_4(%rip), %xmm2            ## xmm2 = [4282384384,4282384384,4282384384,4282384384]
	paddd	%xmm2, %xmm6
	paddd	%xmm2, %xmm5
	paddd	%xmm2, %xmm4
	movdqa	%xmm12, %xmm0
	movdqa	LCPI0_1(%rip), %xmm1            ## xmm1 = <1,5,9,13,u,u,u,u,u,u,u,u,u,u,u,u>
	pshufb	%xmm1, %xmm0
	pmovsxbd	%xmm0, %xmm3
	pslld	$12, %xmm3
	movdqa	LCPI0_5(%rip), %xmm7            ## xmm7 = [4294770688,4294770688,4294770688,4294770688]
	paddd	%xmm7, %xmm3
	por	%xmm6, %xmm3
	movdqa	%xmm11, %xmm0
	pshufb	%xmm1, %xmm0
	pmovsxbd	%xmm0, %xmm13
	pslld	$12, %xmm13
	paddd	%xmm7, %xmm13
	por	%xmm5, %xmm13
	movdqa	%xmm15, %xmm0
	pshufb	%xmm1, %xmm0
	pmovsxbd	%xmm0, %xmm8
	pslld	$12, %xmm8
	paddd	%xmm7, %xmm8
	por	%xmm4, %xmm8
	movdqa	%xmm14, %xmm0
	pshufb	%xmm1, %xmm0
	pmovsxbd	%xmm9, %xmm5
	pslld	$18, %xmm5
	paddd	%xmm2, %xmm5
	pmovsxbd	%xmm0, %xmm4
	pslld	$12, %xmm4
	paddd	%xmm7, %xmm4
	por	%xmm5, %xmm4
	movdqa	%xmm12, %xmm0
	movdqa	LCPI0_2(%rip), %xmm1            ## xmm1 = <2,6,10,14,u,u,u,u,u,u,u,u,u,u,u,u>
	pshufb	%xmm1, %xmm0
	pmovsxbd	%xmm0, %xmm0
	pslld	$6, %xmm0
	movdqa	LCPI0_6(%rip), %xmm7            ## xmm7 = [4294964224,4294964224,4294964224,4294964224]
	paddd	%xmm7, %xmm0
	movdqa	LCPI0_3(%rip), %xmm2            ## xmm2 = <3,7,11,15,u,u,u,u,u,u,u,u,u,u,u,u>
	pshufb	%xmm2, %xmm12
	pmovsxbd	%xmm12, %xmm5
	movdqa	LCPI0_7(%rip), %xmm9            ## xmm9 = [4294967248,4294967248,4294967248,4294967248]
	paddd	%xmm9, %xmm5
	por	%xmm0, %xmm5
	por	%xmm3, %xmm5
	movdqa	%xmm11, %xmm0
	pshufb	%xmm1, %xmm0
	pmovsxbd	%xmm0, %xmm0
	pslld	$6, %xmm0
	paddd	%xmm7, %xmm0
	pshufb	%xmm2, %xmm11
	pmovsxbd	%xmm11, %xmm6
	paddd	%xmm9, %xmm6
	por	%xmm0, %xmm6
	movdqa	%xmm14, %xmm0
	pshufb	%xmm1, %xmm0
	pshufb	%xmm2, %xmm14
	pmovsxbd	%xmm0, %xmm0
	por	%xmm13, %xmm6
	movdqa	%xmm15, %xmm3
	pshufb	%xmm1, %xmm3
	pmovsxbd	%xmm3, %xmm1
	pslld	$6, %xmm1
	pslld	$6, %xmm0
	paddd	%xmm7, %xmm0
	paddd	%xmm7, %xmm1
	pmovsxbd	%xmm14, %xmm3
	pshufb	%xmm2, %xmm15
	pmovsxbd	%xmm15, %xmm7
	paddd	%xmm9, %xmm7
	por	%xmm1, %xmm7
	por	%xmm8, %xmm7
	paddd	%xmm9, %xmm3
	por	%xmm0, %xmm3
	por	%xmm4, %xmm3
	movdqa	%xmm5, %xmm0
	movdqa	LCPI0_8(%rip), %xmm2            ## xmm2 = [2,128,128,128,6,128,128,128,10,128,128,128,14,128,128,128]
	pshufb	%xmm2, %xmm0
	movdqa	%xmm6, %xmm1
	pshufb	%xmm2, %xmm1
	packusdw	%xmm0, %xmm1
	movdqa	%xmm7, %xmm0
	pshufb	%xmm2, %xmm0
	movdqa	%xmm3, %xmm4
	pshufb	%xmm2, %xmm4
	packusdw	%xmm0, %xmm4
	packuswb	%xmm1, %xmm4
	movdqa	%xmm5, %xmm0
	movdqa	LCPI0_9(%rip), %xmm8            ## xmm8 = [1,128,128,128,5,128,128,128,9,128,128,128,13,128,128,128]
	pshufb	%xmm8, %xmm0
	movdqa	%xmm6, %xmm1
	pshufb	%xmm8, %xmm1
	packusdw	%xmm0, %xmm1
	movdqa	%xmm7, %xmm2
	pshufb	%xmm8, %xmm2
	movdqa	%xmm3, %xmm0
	pshufb	%xmm8, %xmm0
	packusdw	%xmm2, %xmm0
	packuswb	%xmm1, %xmm0
	pand	%xmm10, %xmm5
	pand	%xmm10, %xmm6
	packusdw	%xmm5, %xmm6
	pand	%xmm10, %xmm7
	pand	%xmm10, %xmm3
	packusdw	%xmm7, %xmm3
	packuswb	%xmm6, %xmm3
	movdqa	%xmm4, %xmm1
	pshufb	LCPI0_11(%rip), %xmm1           ## xmm1 = zero,xmm1[u,6],zero,xmm1[u,7],zero,xmm1[u,8],zero,xmm1[u,9],zero,xmm1[u,10],zero
	movdqa	%xmm4, %xmm2
	punpcklbw	%xmm0, %xmm2            ## xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3],xmm2[4],xmm0[4],xmm2[5],xmm0[5],xmm2[6],xmm0[6],xmm2[7],xmm0[7]
	punpckhbw	%xmm0, %xmm4            ## xmm4 = xmm4[8],xmm0[8],xmm4[9],xmm0[9],xmm4[10],xmm0[10],xmm4[11],xmm0[11],xmm4[12],xmm0[12],xmm4[13],xmm0[13],xmm4[14],xmm0[14],xmm4[15],xmm0[15]
	pshufb	LCPI0_12(%rip), %xmm0           ## xmm0 = xmm0[5,u],zero,xmm0[6,u],zero,xmm0[7,u],zero,xmm0[8,u],zero,xmm0[9,u],zero,xmm0[10]
	por	%xmm1, %xmm0
	pshufb	LCPI0_13(%rip), %xmm0           ## xmm0 = xmm0[0],zero,xmm0[2,3],zero,xmm0[5,6],zero,xmm0[8,9],zero,xmm0[11,12],zero,xmm0[14,15]
	movdqa	%xmm3, %xmm1
	pshufb	LCPI0_14(%rip), %xmm1           ## xmm1 = zero,xmm1[5],zero,zero,xmm1[6],zero,zero,xmm1[7],zero,zero,xmm1[8],zero,zero,xmm1[9],zero,zero
	por	%xmm0, %xmm1
	pshufb	LCPI0_15(%rip), %xmm2           ## xmm2 = xmm2[0,1],zero,xmm2[2,3],zero,xmm2[4,5],zero,xmm2[6,7],zero,xmm2[8,9],zero,xmm2[10]
	movdqa	%xmm3, %xmm0
	pshufb	LCPI0_16(%rip), %xmm0           ## xmm0 = zero,zero,xmm0[0],zero,zero,xmm0[1],zero,zero,xmm0[2],zero,zero,xmm0[3],zero,zero,xmm0[4],zero
	por	%xmm2, %xmm0
	pshufb	LCPI0_17(%rip), %xmm4           ## xmm4 = zero,xmm4[6,7],zero,xmm4[8,9],zero,xmm4[10,11],zero,xmm4[12,13],zero,xmm4[14,15],zero
	pshufb	LCPI0_18(%rip), %xmm3           ## xmm3 = xmm3[10],zero,zero,xmm3[11],zero,zero,xmm3[12],zero,zero,xmm3[13],zero,zero,xmm3[14],zero,zero,xmm3[15]
	por	%xmm4, %xmm3
	movdqu	%xmm3, 32(%rsi)
	movdqu	%xmm0, (%rsi)
	movdqu	%xmm1, 16(%rsi)
	addq	$16, %rdx
	addq	$48, %rsi
	cmpq	%rdx, %rcx
	jne	LBB0_13
## %bb.14:
	cmpq	%r8, %rcx
	je	LBB0_19
## %bb.15:
	testb	$8, %r8b
	jne	LBB0_9
## %bb.16:
	leaq	(%rcx,%rcx,2), %rax
	addq	%rax, %r15
	leal	(,%rcx,4), %edx
	leaq	(%r14,%rcx,4), %rsi
	jmp	LBB0_17
LBB0_9:
	movl	%r8d, %r9d
	andl	$-8, %r9d
	leaq	(%r14,%r9,4), %rsi
	leal	(,%r9,4), %edx
	leaq	(%r9,%r9,2), %rdi
	addq	%r15, %rdi
	leaq	(%rcx,%rcx,2), %rax
	addq	%r15, %rax
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
	movdqa	LCPI0_1(%rip), %xmm8            ## xmm8 = <1,5,9,13,u,u,u,u,u,u,u,u,u,u,u,u>
	movdqa	LCPI0_2(%rip), %xmm2            ## xmm2 = <2,6,10,14,u,u,u,u,u,u,u,u,u,u,u,u>
	movdqa	LCPI0_3(%rip), %xmm13           ## xmm13 = <3,7,11,15,u,u,u,u,u,u,u,u,u,u,u,u>
	movdqa	LCPI0_4(%rip), %xmm14           ## xmm14 = [4282384384,4282384384,4282384384,4282384384]
	movdqa	LCPI0_5(%rip), %xmm15           ## xmm15 = [4294770688,4294770688,4294770688,4294770688]
	movdqa	LCPI0_6(%rip), %xmm11           ## xmm11 = [4294964224,4294964224,4294964224,4294964224]
	movdqa	LCPI0_7(%rip), %xmm12           ## xmm12 = [4294967248,4294967248,4294967248,4294967248]
	movdqa	LCPI0_19(%rip), %xmm1           ## xmm1 = <u,u,u,u,1,5,9,13,u,u,u,u,u,u,u,u>
	.p2align	4, 0x90
LBB0_10:                                ## =>This Inner Loop Header: Depth=1
	movdqu	(%r14,%rcx,4), %xmm3
	movdqu	16(%r14,%rcx,4), %xmm4
	movdqa	%xmm3, %xmm9
	pshufb	%xmm0, %xmm9
	movdqa	%xmm4, %xmm5
	pshufb	%xmm0, %xmm5
	pmovsxbd	%xmm5, %xmm10
	pslld	$18, %xmm10
	paddd	%xmm14, %xmm10
	movdqa	%xmm4, %xmm5
	pshufb	%xmm8, %xmm5
	pmovsxbd	%xmm5, %xmm5
	pslld	$12, %xmm5
	paddd	%xmm15, %xmm5
	por	%xmm10, %xmm5
	movdqa	%xmm3, %xmm6
	pshufb	%xmm8, %xmm6
	pmovsxbd	%xmm9, %xmm7
	pslld	$18, %xmm7
	paddd	%xmm14, %xmm7
	pmovsxbd	%xmm6, %xmm6
	pslld	$12, %xmm6
	paddd	%xmm15, %xmm6
	por	%xmm7, %xmm6
	movdqa	%xmm4, %xmm7
	pshufb	%xmm2, %xmm7
	pmovsxbd	%xmm7, %xmm7
	pslld	$6, %xmm7
	paddd	%xmm11, %xmm7
	pshufb	%xmm13, %xmm4
	pmovsxbd	%xmm4, %xmm4
	paddd	%xmm12, %xmm4
	por	%xmm7, %xmm4
	movdqa	%xmm3, %xmm7
	pshufb	%xmm2, %xmm7
	pshufb	%xmm13, %xmm3
	pmovsxbd	%xmm7, %xmm7
	pslld	$6, %xmm7
	paddd	%xmm11, %xmm7
	pmovsxbd	%xmm3, %xmm3
	por	%xmm5, %xmm4
	paddd	%xmm12, %xmm3
	por	%xmm7, %xmm3
	por	%xmm6, %xmm3
	movdqa	%xmm4, %xmm5
	pshufb	%xmm0, %xmm5
	movdqa	%xmm3, %xmm6
	pshufb	%xmm0, %xmm6
	punpckldq	%xmm5, %xmm6            ## xmm6 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]
	movdqa	%xmm4, %xmm5
	pshufb	%xmm1, %xmm5
	movdqa	%xmm3, %xmm7
	pshufb	%xmm1, %xmm7
	punpckldq	%xmm5, %xmm7            ## xmm7 = xmm7[0],xmm5[0],xmm7[1],xmm5[1]
	pshufb	%xmm2, %xmm4
	pshufb	%xmm2, %xmm3
	punpckldq	%xmm4, %xmm3            ## xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]
	pblendw	$240, %xmm7, %xmm3              ## xmm3 = xmm3[0,1,2,3],xmm7[4,5,6,7]
	movdqa	%xmm3, %xmm4
	pshufb	LCPI0_20(%rip), %xmm4           ## xmm4 = xmm4[0,8],zero,xmm4[1,9],zero,xmm4[2,10],zero,xmm4[3,11],zero,xmm4[4,12],zero,xmm4[5]
	movdqa	%xmm6, %xmm5
	pshufb	LCPI0_16(%rip), %xmm5           ## xmm5 = zero,zero,xmm5[0],zero,zero,xmm5[1],zero,zero,xmm5[2],zero,zero,xmm5[3],zero,zero,xmm5[4],zero
	por	%xmm4, %xmm5
	pshufb	LCPI0_21(%rip), %xmm3           ## xmm3 = xmm3[13],zero,xmm3[6,14],zero,xmm3[7,15],zero,xmm3[u,u,u,u,u,u,u,u]
	pshufb	LCPI0_22(%rip), %xmm6           ## xmm6 = zero,xmm6[5],zero,zero,xmm6[6],zero,zero,xmm6[7,u,u,u,u,u,u,u,u]
	por	%xmm3, %xmm6
	movq	%xmm6, 16(%rax)
	movdqu	%xmm5, (%rax)
	addq	$8, %rcx
	addq	$24, %rax
	cmpq	%rcx, %r9
	jne	LBB0_10
## %bb.11:
	cmpq	%r8, %r9
	jne	LBB0_18
	jmp	LBB0_19
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"bad length"

	.no_dead_strip	_fromb64
.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 fromb64
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
lCPI0_1:
	.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	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_fromb64:                               ; @fromb64
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	mov	x19, x2
	mov	x21, x1
	mov	x20, x0
	tst	w2, #0x3
	b.eq	LBB0_2
; %bb.1:
Lloh0:
	adrp	x0, l_.str@PAGE
Lloh1:
	add	x0, x0, l_.str@PAGEOFF
	bl	_error
LBB0_2:
	subs	w9, w19, #1
	b.lt	LBB0_9
; %bb.3:
	cmp	w9, #28
	b.lo	LBB0_6
; %bb.4:
	lsr	w8, w9, #2
	add	x10, x20, w8, uxtw #2
	add	x10, x10, #4
	cmp	x10, x21
	b.ls	LBB0_10
; %bb.5:
	add	x10, x8, w8, uxtw #1
	add	x10, x10, x21
	add	x10, x10, #3
	cmp	x10, x20
	b.ls	LBB0_10
LBB0_6:
	mov	w10, #0
	mov	x11, x20
	mov	x12, x21
LBB0_7:
	mov	w8, #-12582912
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	ldrsb	w9, [x11]
	add	w9, w8, w9, lsl #18
	ldrsb	w13, [x11, #1]
	add	w13, w8, w13, lsl #12
	add	w13, w13, #3024, lsl #12        ; =12386304
	orr	w9, w13, w9
	ldrsb	w13, [x11, #2]
	lsl	w13, w13, #6
	sub	w13, w13, #3072
	orr	w9, w9, w13
	ldrsb	w13, [x11, #3]
	sub	w13, w13, #48
	orr	w9, w9, w13
	lsr	w13, w9, #16
	strb	w13, [x12]
	lsr	w13, w9, #8
	strb	w13, [x12, #1]
	strb	w9, [x12, #2]
	add	w10, w10, #4
	add	x11, x11, #4
	add	x12, x12, #3
	cmp	w10, w19
	b.lt	LBB0_8
LBB0_9:
	add	w8, w19, #3
	cmp	w19, #0
	csel	w8, w8, w19, lt
	asr	w8, w8, #2
	add	w0, w8, w8, lsl #1
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
LBB0_10:
	add	w8, w8, #1
	cmp	w9, #60
	b.hs	LBB0_12
; %bb.11:
	mov	x9, #0
	b	LBB0_17
LBB0_12:
	and	x9, x8, #0x7ffffff0
	mvni.4s	v0, #191, msl #16
	mvni.4s	v1, #2, msl #16
	mvni.4s	v2, #11, msl #8
	mvni.4s	v3, #47
Lloh2:
	adrp	x10, lCPI0_0@PAGE
Lloh3:
	ldr	q4, [x10, lCPI0_0@PAGEOFF]
	mov	x10, x9
	mov	x11, x20
	mov	x12, x21
LBB0_13:                                ; =>This Inner Loop Header: Depth=1
	ld4.16b	{ v16, v17, v18, v19 }, [x11], #64
	sshll2.8h	v5, v16, #0
	ushll2.4s	v6, v5, #0
	ushll.4s	v5, v5, #0
	sshll.8h	v7, v16, #0
	ushll2.4s	v20, v7, #0
	ushll.4s	v7, v7, #0
	shl.4s	v7, v7, #18
	shl.4s	v20, v20, #18
	shl.4s	v5, v5, #18
	shl.4s	v6, v6, #18
	add.4s	v6, v6, v0
	add.4s	v5, v5, v0
	add.4s	v20, v20, v0
	add.4s	v7, v7, v0
	sshll2.8h	v21, v17, #0
	sshll.8h	v22, v17, #0
	sshll.4s	v23, v22, #12
	sshll2.4s	v22, v22, #12
	sshll.4s	v24, v21, #12
	sshll2.4s	v21, v21, #12
	add.4s	v21, v21, v1
	add.4s	v24, v24, v1
	add.4s	v22, v22, v1
	add.4s	v23, v23, v1
	orr.16b	v7, v23, v7
	orr.16b	v20, v22, v20
	orr.16b	v5, v24, v5
	orr.16b	v6, v21, v6
	sshll.8h	v21, v18, #0
	sshll2.8h	v22, v18, #0
	sshll2.4s	v23, v22, #6
	sshll.4s	v22, v22, #6
	sshll2.4s	v24, v21, #6
	sshll.4s	v21, v21, #6
	add.4s	v21, v21, v2
	add.4s	v24, v24, v2
	add.4s	v22, v22, v2
	add.4s	v23, v23, v2
	orr.16b	v6, v6, v23
	orr.16b	v5, v5, v22
	orr.16b	v20, v20, v24
	orr.16b	v7, v7, v21
	sshll.8h	v21, v19, #0
	sshll2.8h	v16, v19, #0
	saddw2.4s	v17, v3, v16
	saddw.4s	v16, v3, v16
	saddw2.4s	v18, v3, v21
	saddw.4s	v19, v3, v21
	orr.16b	v21, v7, v19
	orr.16b	v22, v20, v18
	orr.16b	v23, v5, v16
	orr.16b	v24, v6, v17
	ushr.4s	v19, v24, #16
	ushr.4s	v18, v23, #16
	ushr.4s	v17, v22, #16
	ushr.4s	v16, v21, #16
	tbl.16b	v5, { v16, v17, v18, v19 }, v4
	ushr.4s	v19, v24, #8
	ushr.4s	v18, v23, #8
	ushr.4s	v17, v22, #8
	ushr.4s	v16, v21, #8
	tbl.16b	v6, { v16, v17, v18, v19 }, v4
	tbl.16b	v7, { v21, v22, v23, v24 }, v4
	st3.16b	{ v5, v6, v7 }, [x12], #48
	subs	x10, x10, #16
	b.ne	LBB0_13
; %bb.14:
	cmp	x9, x8
	b.eq	LBB0_9
; %bb.15:
	tbnz	w8, #3, LBB0_17
; %bb.16:
	add	x8, x9, x9, lsl #1
	add	x12, x21, x8
	lsl	w10, w9, #2
	add	x11, x20, x9, lsl #2
	b	LBB0_7
LBB0_17:
	and	x13, x8, #0x7ffffff8
	add	x11, x20, x13, lsl #2
	lsl	w10, w13, #2
	add	x12, x13, x13, lsl #1
	add	x12, x21, x12
	add	x14, x9, x9, lsl #1
	add	x14, x21, x14
Lloh4:
	adrp	x15, lCPI0_1@PAGE
Lloh5:
	ldr	q0, [x15, lCPI0_1@PAGEOFF]
	sub	x15, x9, x13
	mvni.4s	v1, #191, msl #16
	mvni.4s	v2, #2, msl #16
	mvni.4s	v3, #11, msl #8
	mvni.4s	v4, #47
	add	x9, x20, x9, lsl #2
LBB0_18:                                ; =>This Inner Loop Header: Depth=1
	ld4.8b	{ v16, v17, v18, v19 }, [x9], #32
	sshll.8h	v5, v16, #0
	ushll2.4s	v6, v5, #0
	ushll.4s	v5, v5, #0
	shl.4s	v5, v5, #18
	shl.4s	v6, v6, #18
	add.4s	v6, v6, v1
	add.4s	v5, v5, v1
	sshll.8h	v7, v17, #0
	sshll.4s	v20, v7, #12
	sshll2.4s	v7, v7, #12
	add.4s	v7, v7, v2
	add.4s	v20, v20, v2
	orr.16b	v5, v20, v5
	orr.16b	v6, v7, v6
	sshll.8h	v7, v18, #0
	sshll2.4s	v20, v7, #6
	sshll.4s	v7, v7, #6
	add.4s	v7, v7, v3
	add.4s	v20, v20, v3
	orr.16b	v6, v6, v20
	orr.16b	v5, v5, v7
	sshll.8h	v7, v19, #0
	saddw2.4s	v16, v4, v7
	saddw.4s	v7, v4, v7
	orr.16b	v17, v5, v7
	orr.16b	v18, v6, v16
	ushr.4s	v6, v18, #16
	ushr.4s	v5, v17, #16
	tbl.16b	v5, { v5, v6 }, v0
	ushr.4s	v20, v18, #8
	ushr.4s	v19, v17, #8
	tbl.16b	v6, { v19, v20 }, v0
	tbl.16b	v7, { v17, v18 }, v0
	st3.8b	{ v5, v6, v7 }, [x14], #24
	adds	x15, x15, #8
	b.ne	LBB0_18
; %bb.19:
	cmp	x13, x8
	b.ne	LBB0_7
	b	LBB0_9
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdr	Lloh2, Lloh3
	.loh AdrpLdr	Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"bad length"

	.no_dead_strip	_fromb64
.subsections_via_symbols
