	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function Encode
LCPI0_0:
	.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_1:
	.byte	0                               ## 0x0
	.byte	4                               ## 0x4
	.byte	8                               ## 0x8
	.byte	12                              ## 0xc
	.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_2:
	.byte	0                               ## 0x0
	.byte	8                               ## 0x8
	.byte	1                               ## 0x1
	.byte	9                               ## 0x9
	.byte	2                               ## 0x2
	.byte	10                              ## 0xa
	.byte	3                               ## 0x3
	.byte	11                              ## 0xb
	.byte	4                               ## 0x4
	.byte	12                              ## 0xc
	.byte	5                               ## 0x5
	.byte	13                              ## 0xd
	.byte	6                               ## 0x6
	.byte	14                              ## 0xe
	.byte	7                               ## 0x7
	.byte	15                              ## 0xf
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_Encode:                                ## @Encode
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	testl	%edx, %edx
	je	LBB0_10
## %bb.1:
	decl	%edx
	cmpl	$12, %edx
	jb	LBB0_2
## %bb.3:
	movl	%edx, %r9d
	shrl	$2, %r9d
	incl	%r9d
	leaq	(%rsi,%r9,4), %rax
	cmpq	%rdi, %rax
	jbe	LBB0_5
## %bb.4:
	movl	%edx, %eax
	andl	$-4, %eax
	addq	%rdi, %rax
	addq	$4, %rax
	cmpq	%rsi, %rax
	jbe	LBB0_5
LBB0_2:
	xorl	%eax, %eax
	xorl	%r8d, %r8d
LBB0_8:
	leaq	(%rsi,%rax,4), %rcx
	movl	%edx, %r9d
	shrq	$2, %r9
	subq	%rax, %r9
	incq	%r9
	leaq	(%r8,%rdi), %rax
	addq	$3, %rax
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_9:                                 ## =>This Inner Loop Header: Depth=1
	movzbl	(%rcx,%rsi,4), %edx
	movb	%dl, -3(%rax,%rsi,4)
	movzbl	1(%rcx,%rsi,4), %edx
	movb	%dl, -2(%rax,%rsi,4)
	movzbl	2(%rcx,%rsi,4), %edx
	movb	%dl, -1(%rax,%rsi,4)
	movzbl	3(%rcx,%rsi,4), %edx
	movb	%dl, (%rax,%rsi,4)
	incq	%rsi
	cmpq	%rsi, %r9
	jne	LBB0_9
LBB0_10:
	popq	%rbp
	retq
LBB0_5:
	movl	%r9d, %eax
	andl	$-4, %eax
	leaq	(,%rax,4), %r8
	xorl	%ecx, %ecx
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = <2,6,10,14,u,u,u,u,u,u,u,u,u,u,u,u>
	movdqa	LCPI0_1(%rip), %xmm1            ## xmm1 = <0,4,8,12,1,5,9,13,u,u,u,u,u,u,u,u>
	movdqa	LCPI0_2(%rip), %xmm2            ## xmm2 = [0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15]
	.p2align	4, 0x90
LBB0_6:                                 ## =>This Inner Loop Header: Depth=1
	movdqu	(%rsi,%rcx,4), %xmm3
	movdqa	%xmm3, %xmm4
	psrld	$24, %xmm4
	packusdw	%xmm4, %xmm4
	packuswb	%xmm4, %xmm4
	movdqa	%xmm3, %xmm5
	pshufb	%xmm0, %xmm5
	punpckldq	%xmm4, %xmm5            ## xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]
	pshufb	%xmm1, %xmm3
	punpcklbw	%xmm5, %xmm3            ## xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3],xmm3[4],xmm5[4],xmm3[5],xmm5[5],xmm3[6],xmm5[6],xmm3[7],xmm5[7]
	pshufb	%xmm2, %xmm3
	movdqu	%xmm3, (%rdi,%rcx,4)
	addq	$4, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_6
## %bb.7:
	cmpq	%r9, %rax
	jne	LBB0_8
	jmp	LBB0_10
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_Encode
.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 Encode
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
_Encode:                                ; @Encode
	.cfi_startproc
; %bb.0:
	cbz	w2, LBB0_8
; %bb.1:
	sub	w8, w2, #1
	cmp	w8, #28
	b.lo	LBB0_5
; %bb.2:
	lsr	w9, w8, #2
	add	w10, w9, #1
	and	w9, w8, #0xfffffffc
	add	x9, x9, x0
	add	x9, x9, #4
	add	x11, x1, x10, lsl #2
	cmp	x11, x0
	ccmp	x9, x1, #0, hi
	b.hi	LBB0_5
; %bb.3:
	cmp	w8, #60
	b.hs	LBB0_9
; %bb.4:
	mov	x9, #0
	b	LBB0_14
LBB0_5:
	mov	x9, #0
	mov	x11, #0
LBB0_6:
	add	x10, x1, x9, lsl #2
	lsr	x8, x8, #2
	sub	x8, x8, x9
	add	x8, x8, #1
	add	x9, x11, x0
	add	x9, x9, #1
LBB0_7:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w11, [x10]
	sturb	w11, [x9, #-1]
	ldr	w11, [x10]
	lsr	w11, w11, #8
	strb	w11, [x9]
	ldrh	w11, [x10, #2]
	strb	w11, [x9, #1]
	ldrb	w11, [x10, #3]
	strb	w11, [x9, #2]
	add	x10, x10, #4
	add	x9, x9, #4
	subs	x8, x8, #1
	b.ne	LBB0_7
LBB0_8:
	ret
LBB0_9:
	and	x9, x10, #0x7ffffff0
Lloh0:
	adrp	x11, lCPI0_0@PAGE
Lloh1:
	ldr	q0, [x11, lCPI0_0@PAGEOFF]
	mov	x11, x9
	mov	x12, x0
	mov	x13, x1
LBB0_10:                                ; =>This Inner Loop Header: Depth=1
	ldp	q3, q4, [x13, #32]
	ldp	q1, q2, [x13], #64
	tbl.16b	v16, { v1, v2, v3, v4 }, v0
	ushr.4s	v23, v4, #8
	ushr.4s	v22, v3, #8
	ushr.4s	v21, v2, #8
	ushr.4s	v20, v1, #8
	tbl.16b	v17, { v20, v21, v22, v23 }, v0
	ushr.4s	v23, v4, #16
	ushr.4s	v22, v3, #16
	ushr.4s	v21, v2, #16
	ushr.4s	v20, v1, #16
	tbl.16b	v18, { v20, v21, v22, v23 }, v0
	ushr.4s	v23, v4, #24
	ushr.4s	v22, v3, #24
	ushr.4s	v21, v2, #24
	ushr.4s	v20, v1, #24
	tbl.16b	v19, { v20, v21, v22, v23 }, v0
	st4.16b	{ v16, v17, v18, v19 }, [x12], #64
	subs	x11, x11, #16
	b.ne	LBB0_10
; %bb.11:
	cmp	x9, x10
	b.eq	LBB0_8
; %bb.12:
	tbnz	w10, #3, LBB0_14
; %bb.13:
	lsl	x11, x9, #2
	b	LBB0_6
LBB0_14:
	mov	x14, x9
	and	x9, x10, #0x7ffffff8
	lsl	x11, x9, #2
	lsl	x13, x14, #2
	add	x12, x1, x13
	add	x13, x0, x13
	sub	x14, x14, x9
Lloh2:
	adrp	x15, lCPI0_1@PAGE
Lloh3:
	ldr	q0, [x15, lCPI0_1@PAGEOFF]
LBB0_15:                                ; =>This Inner Loop Header: Depth=1
	ldp	q1, q2, [x12], #32
	tbl.16b	v3, { v1, v2 }, v0
	ushr.4s	v17, v2, #8
	ushr.4s	v16, v1, #8
	tbl.16b	v4, { v16, v17 }, v0
	ushr.4s	v17, v2, #16
	ushr.4s	v16, v1, #16
	tbl.16b	v5, { v16, v17 }, v0
	ushr.4s	v17, v2, #24
	ushr.4s	v16, v1, #24
	tbl.16b	v6, { v16, v17 }, v0
	st4.8b	{ v3, v4, v5, v6 }, [x13], #32
	adds	x14, x14, #8
	b.ne	LBB0_15
; %bb.16:
	cmp	x9, x10
	b.ne	LBB0_6
	b	LBB0_8
	.loh AdrpLdr	Lloh0, Lloh1
	.loh AdrpLdr	Lloh2, Lloh3
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_Encode
.subsections_via_symbols
