	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_CRYPTO_cfb128_encrypt          ## -- Begin function CRYPTO_cfb128_encrypt
	.p2align	4, 0x90
_CRYPTO_cfb128_encrypt:                 ## @CRYPTO_cfb128_encrypt
	.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	%r13
	pushq	%r12
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rcx, %r10
	movq	%rsi, %r12
	movq	%rdi, %r15
	movq	24(%rbp), %r11
	movl	(%r9), %r14d
	testl	%r14d, %r14d
	setne	%cl
	testq	%rdx, %rdx
	setne	%al
	andb	%cl, %al
	cmpl	$0, 16(%rbp)
	movq	%r8, -48(%rbp)                  ## 8-byte Spill
	movq	%r10, -56(%rbp)                 ## 8-byte Spill
	je	LBB0_4
## %bb.1:
	testb	%al, %al
	je	LBB0_7
	.p2align	4, 0x90
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movl	%r14d, %eax
	movzbl	(%r8,%rax), %ecx
	xorb	(%r15), %cl
	incq	%r15
	movb	%cl, (%r8,%rax)
	movb	%cl, (%r12)
	incq	%r12
	leaq	-1(%rdx), %r13
	incl	%r14d
	andl	$15, %r14d
	je	LBB0_8
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	cmpq	$1, %rdx
	movq	%r13, %rdx
	jne	LBB0_2
	jmp	LBB0_8
LBB0_4:
	testb	%al, %al
	je	LBB0_16
	.p2align	4, 0x90
LBB0_5:                                 ## =>This Inner Loop Header: Depth=1
	movl	%r14d, %eax
	movzbl	(%r15), %ecx
	incq	%r15
	movzbl	(%r8,%rax), %ebx
	xorb	%cl, %bl
	movb	%bl, (%r12)
	incq	%r12
	movb	%cl, (%r8,%rax)
	leaq	-1(%rdx), %r13
	incl	%r14d
	andl	$15, %r14d
	je	LBB0_17
## %bb.6:                               ##   in Loop: Header=BB0_5 Depth=1
	cmpq	$1, %rdx
	movq	%r13, %rdx
	jne	LBB0_5
	jmp	LBB0_17
LBB0_7:
	movq	%rdx, %r13
LBB0_8:
	movq	%r9, -64(%rbp)                  ## 8-byte Spill
	cmpq	$16, %r13
	jb	LBB0_32
## %bb.9:
	movq	%r8, %rdi
	movq	%r8, %rsi
	movq	%r10, %rdx
	callq	*%r11
	movq	-48(%rbp), %r8                  ## 8-byte Reload
	cmpl	$15, %r14d
	ja	LBB0_12
## %bb.10:
	movl	%r14d, %eax
	movq	(%r8,%rax), %rcx
	xorq	(%r15,%rax), %rcx
	movq	%rcx, (%r8,%rax)
	movq	%rcx, (%r12,%rax)
	cmpl	$7, %r14d
	ja	LBB0_12
## %bb.11:
	movq	8(%r8,%rax), %rcx
	xorq	8(%r15,%rax), %rcx
	movq	%rcx, 8(%r8,%rax)
	movq	%rcx, 8(%r12,%rax)
LBB0_12:
	addq	$-16, %r13
	addq	$16, %r12
	addq	$16, %r15
	xorl	%r14d, %r14d
	cmpq	$16, %r13
	jb	LBB0_30
## %bb.13:
	movq	-56(%rbp), %rbx                 ## 8-byte Reload
	.p2align	4, 0x90
LBB0_14:                                ## =>This Inner Loop Header: Depth=1
	movq	%r8, %rdi
	movq	%r8, %rsi
	movq	%rbx, %rdx
	callq	*24(%rbp)
	movq	-48(%rbp), %r8                  ## 8-byte Reload
	movq	(%r8), %rax
	xorq	(%r15), %rax
	movq	%rax, (%r8)
	movq	%rax, (%r12)
	movq	8(%r8), %rax
	xorq	8(%r15), %rax
	movq	%rax, 8(%r8)
	movq	%rax, 8(%r12)
	addq	$-16, %r13
	addq	$16, %r12
	addq	$16, %r15
	cmpq	$15, %r13
	ja	LBB0_14
## %bb.15:
	movq	%rbx, %r10
	jmp	LBB0_31
LBB0_16:
	movq	%rdx, %r13
LBB0_17:
	movq	%r9, %rbx
	cmpq	$16, %r13
	jb	LBB0_24
## %bb.18:
	movq	%r8, %rdi
	movq	%r8, %rsi
	movq	%r10, %rdx
	callq	*%r11
	movq	-48(%rbp), %r8                  ## 8-byte Reload
	cmpl	$15, %r14d
	ja	LBB0_21
## %bb.19:
	movl	%r14d, %eax
	movq	(%r15,%rax), %rcx
	movq	(%r8,%rax), %rdx
	xorq	%rcx, %rdx
	movq	%rdx, (%r12,%rax)
	movq	%rcx, (%r8,%rax)
	cmpl	$7, %r14d
	ja	LBB0_21
## %bb.20:
	movq	8(%r15,%rax), %rcx
	movq	8(%r8,%rax), %rdx
	xorq	%rcx, %rdx
	movq	%rdx, 8(%r12,%rax)
	movq	%rcx, 8(%r8,%rax)
LBB0_21:
	addq	$-16, %r13
	addq	$16, %r12
	addq	$16, %r15
	xorl	%r14d, %r14d
	cmpq	$16, %r13
	jb	LBB0_63
## %bb.22:
	movq	-56(%rbp), %r10                 ## 8-byte Reload
	.p2align	4, 0x90
LBB0_23:                                ## =>This Inner Loop Header: Depth=1
	movq	%r8, %rdi
	movq	%r8, %rsi
	movq	%r10, %rdx
	callq	*24(%rbp)
	movq	24(%rbp), %r11
	movq	-56(%rbp), %r10                 ## 8-byte Reload
	movq	-48(%rbp), %r8                  ## 8-byte Reload
	movq	(%r15), %rax
	movq	(%r8), %rcx
	xorq	%rax, %rcx
	movq	%rcx, (%r12)
	movq	%rax, (%r8)
	movq	8(%r15), %rax
	movq	8(%r8), %rcx
	xorq	%rax, %rcx
	movq	%rcx, 8(%r12)
	movq	%rax, 8(%r8)
	addq	$-16, %r13
	addq	$16, %r12
	addq	$16, %r15
	cmpq	$15, %r13
	ja	LBB0_23
LBB0_24:
	testq	%r13, %r13
	je	LBB0_64
LBB0_25:
	movq	%r8, %rdi
	movq	%r8, %rsi
	movq	%r10, %rdx
	callq	*%r11
	cmpq	$32, %r13
	jae	LBB0_53
## %bb.26:
	movq	%rbx, %r11
LBB0_27:
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
LBB0_28:
	testb	$1, %r13b
	jne	LBB0_61
## %bb.29:
	movq	%r13, %rax
	cmpq	$1, %r13
	jne	LBB0_62
	jmp	LBB0_65
LBB0_30:
	movq	-56(%rbp), %r10                 ## 8-byte Reload
LBB0_31:
	movq	24(%rbp), %r11
LBB0_32:
	testq	%r13, %r13
	je	LBB0_38
## %bb.33:
	movq	%r8, %rdi
	movq	%r8, %rsi
	movq	%r10, %rdx
	callq	*%r11
	cmpq	$32, %r13
	jae	LBB0_39
## %bb.34:
	movq	-64(%rbp), %r11                 ## 8-byte Reload
LBB0_35:
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
LBB0_36:
	testb	$1, %r13b
	jne	LBB0_51
## %bb.37:
	movq	%r13, %rax
	cmpq	$1, %r13
	jne	LBB0_52
	jmp	LBB0_65
LBB0_38:
	movq	-64(%rbp), %r11                 ## 8-byte Reload
	jmp	LBB0_65
LBB0_39:
	leaq	-1(%r13), %rax
	movl	%r14d, %ecx
	addl	%eax, %ecx
	movq	-64(%rbp), %r11                 ## 8-byte Reload
	jb	LBB0_35
## %bb.40:
	shrq	$32, %rax
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	jne	LBB0_36
## %bb.41:
	movl	%r14d, %esi
	leaq	(%rbx,%rsi), %rax
	leaq	(%rsi,%r13), %rcx
	leaq	(%rbx,%rcx), %rdx
	leaq	(%r12,%rsi), %rdi
	leaq	(%r12,%rcx), %r8
	addq	%r15, %rsi
	addq	%r15, %rcx
	cmpq	%r8, %rax
	setb	%r9b
	cmpq	%rdx, %rdi
	setb	%r10b
	cmpq	%rcx, %rax
	setb	%al
	cmpq	%rdx, %rsi
	setb	%dl
	cmpq	%rcx, %rdi
	setb	%cl
	cmpq	%r8, %rsi
	setb	%sil
	testb	%r10b, %r9b
	jne	LBB0_35
## %bb.42:
	andb	%dl, %al
	jne	LBB0_35
## %bb.43:
	andb	%sil, %cl
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	jne	LBB0_36
## %bb.44:
	movq	%r13, %r8
	andq	$-32, %r8
	leaq	-32(%r8), %rcx
	movq	%rcx, %rdx
	shrq	$5, %rdx
	incq	%rdx
	testq	%rcx, %rcx
	je	LBB0_68
## %bb.45:
	movq	%rdx, %rsi
	andq	$-2, %rsi
	xorl	%ecx, %ecx
	movl	%r14d, %edi
	.p2align	4, 0x90
LBB0_46:                                ## =>This Inner Loop Header: Depth=1
	movl	%edi, %eax
	movups	(%r15,%rax), %xmm0
	movups	16(%r15,%rax), %xmm1
	movups	(%rbx,%rax), %xmm2
	xorps	%xmm0, %xmm2
	movups	16(%rbx,%rax), %xmm0
	xorps	%xmm1, %xmm0
	movups	%xmm2, (%rbx,%rax)
	movups	%xmm0, 16(%rbx,%rax)
	movups	%xmm2, (%r12,%rax)
	movups	%xmm0, 16(%r12,%rax)
	leal	32(%rdi), %eax
	movups	(%r15,%rax), %xmm0
	movups	16(%r15,%rax), %xmm1
	movups	(%rbx,%rax), %xmm2
	xorps	%xmm0, %xmm2
	movups	16(%rbx,%rax), %xmm0
	xorps	%xmm1, %xmm0
	movups	%xmm2, (%rbx,%rax)
	movups	%xmm0, 16(%rbx,%rax)
	movups	%xmm2, (%r12,%rax)
	movups	%xmm0, 16(%r12,%rax)
	addl	$64, %edi
	addl	$64, %ecx
	addq	$-2, %rsi
	jne	LBB0_46
## %bb.47:
	testb	$1, %dl
	je	LBB0_49
LBB0_48:
	addl	%r14d, %ecx
	movups	(%r15,%rcx), %xmm0
	movups	16(%r15,%rcx), %xmm1
	movups	(%rbx,%rcx), %xmm2
	xorps	%xmm0, %xmm2
	movups	16(%rbx,%rcx), %xmm0
	xorps	%xmm1, %xmm0
	movups	%xmm2, (%rbx,%rcx)
	movups	%xmm0, 16(%rbx,%rcx)
	movups	%xmm2, (%r12,%rcx)
	movups	%xmm0, 16(%r12,%rcx)
LBB0_49:
	addl	%r8d, %r14d
	cmpq	%r8, %r13
	je	LBB0_65
## %bb.50:
	andl	$31, %r13d
	jmp	LBB0_36
LBB0_51:
	movl	%r14d, %ecx
	movb	(%rbx,%rcx), %dl
	xorb	(%r15,%rcx), %dl
	leaq	-1(%r13), %rax
	movb	%dl, (%rbx,%rcx)
	movb	%dl, (%r12,%rcx)
	incl	%r14d
	cmpq	$1, %r13
	je	LBB0_65
	.p2align	4, 0x90
LBB0_52:                                ## =>This Inner Loop Header: Depth=1
	movl	%r14d, %ecx
	movzbl	(%rbx,%rcx), %edx
	xorb	(%r15,%rcx), %dl
	movb	%dl, (%rbx,%rcx)
	movb	%dl, (%r12,%rcx)
	leal	1(%r14), %ecx
	movzbl	(%rbx,%rcx), %edx
	xorb	(%r15,%rcx), %dl
	addl	$2, %r14d
	movb	%dl, (%rbx,%rcx)
	movb	%dl, (%r12,%rcx)
	addq	$-2, %rax
	jne	LBB0_52
	jmp	LBB0_65
LBB0_53:
	leaq	-1(%r13), %rax
	movl	%r14d, %ecx
	addl	%eax, %ecx
	movq	%rbx, %r11
	jb	LBB0_27
## %bb.54:
	shrq	$32, %rax
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
	jne	LBB0_28
## %bb.55:
	movl	%r14d, %ebx
	leaq	(%r12,%rbx), %rax
	leaq	(%rbx,%r13), %rcx
	leaq	(%r12,%rcx), %rdx
	leaq	(%rsi,%rbx), %rdi
	leaq	(%rsi,%rcx), %r10
	addq	%r15, %rbx
	addq	%r15, %rcx
	cmpq	%r10, %rax
	setb	%r8b
	cmpq	%rdx, %rdi
	setb	%r9b
	cmpq	%rcx, %rax
	setb	%al
	cmpq	%rdx, %rbx
	setb	%dl
	cmpq	%rcx, %rdi
	setb	%cl
	cmpq	%r10, %rbx
	setb	%bl
	testb	%r9b, %r8b
	jne	LBB0_28
## %bb.56:
	andb	%dl, %al
	jne	LBB0_28
## %bb.57:
	andb	%bl, %cl
	jne	LBB0_28
## %bb.58:
	movq	%r13, %r8
	andq	$-32, %r8
	leaq	-32(%r8), %rcx
	movq	%rcx, %rax
	shrq	$5, %rax
	incq	%rax
	testq	%rcx, %rcx
	je	LBB0_71
## %bb.59:
	movq	%rax, %rdx
	andq	$-2, %rdx
	xorl	%ecx, %ecx
	movl	%r14d, %edi
	.p2align	4, 0x90
LBB0_60:                                ## =>This Inner Loop Header: Depth=1
	movl	%edi, %ebx
	movups	(%rsi,%rbx), %xmm0
	movups	16(%rsi,%rbx), %xmm1
	movups	(%r15,%rbx), %xmm2
	movups	16(%r15,%rbx), %xmm3
	xorps	%xmm2, %xmm0
	xorps	%xmm3, %xmm1
	movups	%xmm0, (%r12,%rbx)
	movups	%xmm1, 16(%r12,%rbx)
	movups	%xmm2, (%rsi,%rbx)
	movups	%xmm3, 16(%rsi,%rbx)
	leal	32(%rdi), %ebx
	movups	(%rsi,%rbx), %xmm0
	movups	16(%rsi,%rbx), %xmm1
	movups	(%r15,%rbx), %xmm2
	movups	16(%r15,%rbx), %xmm3
	xorps	%xmm2, %xmm0
	xorps	%xmm3, %xmm1
	movups	%xmm0, (%r12,%rbx)
	movups	%xmm1, 16(%r12,%rbx)
	movups	%xmm2, (%rsi,%rbx)
	movups	%xmm3, 16(%rsi,%rbx)
	addl	$64, %edi
	addl	$64, %ecx
	addq	$-2, %rdx
	jne	LBB0_60
	jmp	LBB0_72
LBB0_61:
	leaq	-1(%r13), %rax
	movl	%r14d, %ecx
	movb	(%r15,%rcx), %dl
	movb	(%rsi,%rcx), %bl
	xorb	%dl, %bl
	movb	%bl, (%r12,%rcx)
	movb	%dl, (%rsi,%rcx)
	incl	%r14d
	cmpq	$1, %r13
	je	LBB0_65
	.p2align	4, 0x90
LBB0_62:                                ## =>This Inner Loop Header: Depth=1
	movl	%r14d, %ecx
	movzbl	(%r15,%rcx), %edx
	movzbl	(%rsi,%rcx), %ebx
	xorb	%dl, %bl
	movb	%bl, (%r12,%rcx)
	movb	%dl, (%rsi,%rcx)
	leal	1(%r14), %ecx
	movzbl	(%r15,%rcx), %edx
	movzbl	(%rsi,%rcx), %ebx
	xorb	%dl, %bl
	addl	$2, %r14d
	movb	%bl, (%r12,%rcx)
	movb	%dl, (%rsi,%rcx)
	addq	$-2, %rax
	jne	LBB0_62
	jmp	LBB0_65
LBB0_63:
	movq	-56(%rbp), %r10                 ## 8-byte Reload
	movq	24(%rbp), %r11
	testq	%r13, %r13
	jne	LBB0_25
LBB0_64:
	movq	%rbx, %r11
LBB0_65:
	movl	%r14d, (%r11)
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_68:
	xorl	%ecx, %ecx
	testb	$1, %dl
	jne	LBB0_48
	jmp	LBB0_49
LBB0_71:
	xorl	%ecx, %ecx
LBB0_72:
	testb	$1, %al
	je	LBB0_74
## %bb.73:
	addl	%r14d, %ecx
	movups	(%rsi,%rcx), %xmm0
	movups	16(%rsi,%rcx), %xmm1
	movups	(%r15,%rcx), %xmm2
	movups	16(%r15,%rcx), %xmm3
	xorps	%xmm2, %xmm0
	xorps	%xmm3, %xmm1
	movups	%xmm0, (%r12,%rcx)
	movups	%xmm1, 16(%r12,%rcx)
	movups	%xmm2, (%rsi,%rcx)
	movups	%xmm3, 16(%rsi,%rcx)
LBB0_74:
	addl	%r8d, %r14d
	cmpq	%r8, %r13
	je	LBB0_65
## %bb.75:
	andl	$31, %r13d
	jmp	LBB0_28
	.cfi_endproc
                                        ## -- End function
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_CRYPTO_cfb128_encrypt          ; -- Begin function CRYPTO_cfb128_encrypt
	.p2align	2
_CRYPTO_cfb128_encrypt:                 ; @CRYPTO_cfb128_encrypt
	.cfi_startproc
; %bb.0:
	stp	x26, x25, [sp, #-80]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 80
	stp	x24, x23, [sp, #16]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #32]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.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
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	mov	x23, x7
	mov	x19, x5
	mov	x20, x4
	mov	x24, x3
	mov	x21, x1
	mov	x22, x0
	ldr	w25, [x5]
	cmp	w25, #0
	ccmp	x2, #0, #4, ne
	cset	w8, ne
	cbz	w6, LBB0_11
; %bb.1:
	cbz	w8, LBB0_21
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	ldrb	w8, [x22], #1
	mov	w9, w25
	ldrb	w10, [x20, x9]
	eor	w8, w10, w8
	strb	w8, [x20, x9]
	strb	w8, [x21], #1
	sub	x8, x2, #1
	add	w9, w25, #1
	ands	w25, w9, #0xf
	b.eq	LBB0_4
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	cmp	x2, #1
	mov	x2, x8
	b.ne	LBB0_2
LBB0_4:
	subs	x26, x8, #16
	b.lo	LBB0_22
LBB0_5:
	mov	x0, x20
	mov	x1, x20
	mov	x2, x24
	blr	x23
	cmp	w25, #15
	b.hi	LBB0_8
; %bb.6:
	mov	w8, w25
	ldr	x9, [x22, x8]
	ldr	x10, [x20, x8]
	eor	x9, x10, x9
	str	x9, [x20, x8]
	str	x9, [x21, x8]
	cmp	w25, #7
	b.hi	LBB0_8
; %bb.7:
	add	x8, x8, #8
	ldr	x9, [x22, x8]
	ldr	x10, [x20, x8]
	eor	x9, x10, x9
	str	x9, [x20, x8]
	str	x9, [x21, x8]
LBB0_8:
	add	x21, x21, #16
	add	x22, x22, #16
	cmp	x26, #16
	b.lo	LBB0_10
LBB0_9:                                 ; =>This Inner Loop Header: Depth=1
	mov	x0, x20
	mov	x1, x20
	mov	x2, x24
	blr	x23
	ldr	x8, [x22]
	ldr	x9, [x20]
	eor	x8, x9, x8
	str	x8, [x20]
	str	x8, [x21]
	ldr	x8, [x22, #8]
	ldr	x9, [x20, #8]
	eor	x8, x9, x8
	str	x8, [x20, #8]
	str	x8, [x21, #8]
	sub	x26, x26, #16
	add	x21, x21, #16
	add	x22, x22, #16
	cmp	x26, #15
	b.hi	LBB0_9
LBB0_10:
	mov	w25, #0
	cbnz	x26, LBB0_23
	b	LBB0_45
LBB0_11:
	cbz	w8, LBB0_34
LBB0_12:                                ; =>This Inner Loop Header: Depth=1
	mov	w8, w25
	ldrb	w9, [x20, x8]
	ldrb	w10, [x22], #1
	eor	w9, w10, w9
	strb	w9, [x21], #1
	strb	w10, [x20, x8]
	sub	x8, x2, #1
	add	w9, w25, #1
	ands	w25, w9, #0xf
	b.eq	LBB0_14
; %bb.13:                               ;   in Loop: Header=BB0_12 Depth=1
	cmp	x2, #1
	mov	x2, x8
	b.ne	LBB0_12
LBB0_14:
	subs	x26, x8, #16
	b.lo	LBB0_35
LBB0_15:
	mov	x0, x20
	mov	x1, x20
	mov	x2, x24
	blr	x23
	cmp	w25, #15
	b.hi	LBB0_18
; %bb.16:
	mov	w8, w25
	ldr	x9, [x22, x8]
	ldr	x10, [x20, x8]
	eor	x10, x10, x9
	str	x10, [x21, x8]
	str	x9, [x20, x8]
	cmp	w25, #7
	b.hi	LBB0_18
; %bb.17:
	add	x8, x8, #8
	ldr	x9, [x22, x8]
	ldr	x10, [x20, x8]
	eor	x10, x10, x9
	str	x10, [x21, x8]
	str	x9, [x20, x8]
LBB0_18:
	add	x21, x21, #16
	add	x22, x22, #16
	cmp	x26, #16
	b.lo	LBB0_20
LBB0_19:                                ; =>This Inner Loop Header: Depth=1
	mov	x0, x20
	mov	x1, x20
	mov	x2, x24
	blr	x23
	ldr	x8, [x22]
	ldr	x9, [x20]
	eor	x9, x9, x8
	str	x9, [x21]
	str	x8, [x20]
	ldr	x8, [x22, #8]
	ldr	x9, [x20, #8]
	eor	x9, x9, x8
	str	x9, [x21, #8]
	str	x8, [x20, #8]
	sub	x26, x26, #16
	add	x21, x21, #16
	add	x22, x22, #16
	cmp	x26, #15
	b.hi	LBB0_19
LBB0_20:
	mov	w25, #0
	cbnz	x26, LBB0_36
	b	LBB0_45
LBB0_21:
	mov	x8, x2
	subs	x26, x8, #16
	b.hs	LBB0_5
LBB0_22:
	mov	x26, x8
	cbz	x26, LBB0_45
LBB0_23:
	mov	x0, x20
	mov	x1, x20
	mov	x2, x24
	blr	x23
	cmp	x26, #32
	b.lo	LBB0_32
; %bb.24:
	sub	x8, x26, #1
	cmn	w25, w8
	b.hs	LBB0_32
; %bb.25:
	lsr	x8, x8, #32
	cbnz	x8, LBB0_32
; %bb.26:
	mov	w9, w25
	add	x10, x20, x9
	add	x8, x26, x9
	add	x11, x20, x8
	add	x12, x21, x8
	add	x13, x22, x9
	add	x14, x22, x8
	cmp	x10, x14
	ccmp	x13, x11, #2, lo
	cset	w8, lo
	add	x15, x21, x9
	cmp	x15, x14
	ccmp	x13, x12, #2, lo
	cset	w9, lo
	cmp	x15, x11
	ccmp	x10, x12, #2, lo
	b.lo	LBB0_32
; %bb.27:
	tbnz	w8, #0, LBB0_32
; %bb.28:
	tbnz	w9, #0, LBB0_32
; %bb.29:
	and	x10, x26, #0xffffffffffffffe0
	and	x9, x26, #0x1f
	add	w8, w25, w10
	mov	x11, x10
LBB0_30:                                ; =>This Inner Loop Header: Depth=1
	mov	w12, w25
	add	x13, x22, x12
	ldp	q0, q1, [x13]
	add	x13, x20, x12
	ldp	q2, q3, [x13]
	eor.16b	v0, v2, v0
	eor.16b	v1, v3, v1
	stp	q0, q1, [x13]
	add	x12, x21, x12
	stp	q0, q1, [x12]
	add	w25, w25, #32
	subs	x11, x11, #32
	b.ne	LBB0_30
; %bb.31:
	cmp	x26, x10
	b.ne	LBB0_33
	b	LBB0_48
LBB0_32:
	mov	x9, x26
	mov	x8, x25
LBB0_33:                                ; =>This Inner Loop Header: Depth=1
	mov	w10, w8
	ldrb	w11, [x22, x10]
	ldrb	w12, [x20, x10]
	eor	w11, w12, w11
	strb	w11, [x20, x10]
	strb	w11, [x21, x10]
	add	w8, w8, #1
	subs	x9, x9, #1
	b.ne	LBB0_33
	b	LBB0_48
LBB0_34:
	mov	x8, x2
	subs	x26, x8, #16
	b.hs	LBB0_15
LBB0_35:
	mov	x26, x8
	cbz	x26, LBB0_45
LBB0_36:
	mov	x0, x20
	mov	x1, x20
	mov	x2, x24
	blr	x23
	cmp	x26, #32
	b.lo	LBB0_46
; %bb.37:
	sub	x8, x26, #1
	cmn	w25, w8
	b.hs	LBB0_46
; %bb.38:
	lsr	x8, x8, #32
	cbnz	x8, LBB0_46
; %bb.39:
	mov	w9, w25
	add	x10, x21, x9
	add	x8, x26, x9
	add	x11, x21, x8
	add	x12, x20, x8
	add	x13, x22, x9
	add	x14, x22, x8
	cmp	x10, x14
	ccmp	x13, x11, #2, lo
	cset	w8, lo
	add	x15, x20, x9
	cmp	x15, x14
	ccmp	x13, x12, #2, lo
	cset	w9, lo
	cmp	x15, x11
	ccmp	x10, x12, #2, lo
	b.lo	LBB0_46
; %bb.40:
	tbnz	w8, #0, LBB0_46
; %bb.41:
	tbnz	w9, #0, LBB0_46
; %bb.42:
	and	x10, x26, #0xffffffffffffffe0
	and	x9, x26, #0x1f
	add	w8, w25, w10
	mov	x11, x10
LBB0_43:                                ; =>This Inner Loop Header: Depth=1
	mov	w12, w25
	add	x13, x20, x12
	ldp	q0, q1, [x13]
	add	x14, x22, x12
	ldp	q2, q3, [x14]
	eor.16b	v0, v2, v0
	eor.16b	v1, v3, v1
	add	x12, x21, x12
	stp	q0, q1, [x12]
	stp	q2, q3, [x13]
	add	w25, w25, #32
	subs	x11, x11, #32
	b.ne	LBB0_43
; %bb.44:
	cmp	x26, x10
	b.ne	LBB0_47
	b	LBB0_48
LBB0_45:
	mov	x8, x25
	b	LBB0_48
LBB0_46:
	mov	x9, x26
	mov	x8, x25
LBB0_47:                                ; =>This Inner Loop Header: Depth=1
	mov	w10, w8
	ldrb	w11, [x20, x10]
	ldrb	w12, [x22, x10]
	eor	w11, w12, w11
	strb	w11, [x21, x10]
	strb	w12, [x20, x10]
	add	w8, w8, #1
	subs	x9, x9, #1
	b.ne	LBB0_47
LBB0_48:
	str	w8, [x19]
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
