	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_RC2_set_key                    ## -- Begin function RC2_set_key
	.p2align	4, 0x90
_RC2_set_key:                           ## @RC2_set_key
	.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
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%ecx, %r8d
	movq	(%rdi), %r11
	movb	$0, (%r11)
	cmpl	$128, %esi
	movl	$128, %r9d
	movl	$128, %r10d
	cmovll	%esi, %r10d
	cmpl	$1024, %ecx                     ## imm = 0x400
	movl	$1024, %eax                     ## imm = 0x400
	movl	$1024, %ecx                     ## imm = 0x400
	cmovll	%r8d, %ecx
	testl	%r8d, %r8d
	cmovlel	%eax, %ecx
	testl	%esi, %esi
	jle	LBB0_22
## %bb.1:
	cmpl	$2, %r10d
	movl	$1, %r8d
	cmovgel	%r10d, %r8d
	xorl	%r13d, %r13d
	cmpl	$8, %r8d
	jb	LBB0_17
## %bb.2:
	movq	%r11, %rbx
	subq	%rdx, %rbx
	cmpq	$32, %rbx
	jb	LBB0_17
## %bb.3:
	cmpl	$32, %r8d
	jae	LBB0_5
## %bb.4:
	xorl	%r13d, %r13d
	jmp	LBB0_14
LBB0_5:
	movl	%r8d, %r13d
	andl	$2147483616, %r13d              ## imm = 0x7FFFFFE0
	leaq	-32(%r13), %rbx
	movq	%rbx, %r15
	shrq	$5, %r15
	incq	%r15
	movl	%r15d, %r14d
	andl	$3, %r14d
	cmpq	$96, %rbx
	jae	LBB0_7
## %bb.6:
	xorl	%ebx, %ebx
	jmp	LBB0_9
LBB0_7:
	andq	$-4, %r15
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_8:                                 ## =>This Inner Loop Header: Depth=1
	movups	(%rdx,%rbx), %xmm0
	movups	16(%rdx,%rbx), %xmm1
	movups	%xmm0, (%r11,%rbx)
	movups	%xmm1, 16(%r11,%rbx)
	movups	32(%rdx,%rbx), %xmm0
	movups	48(%rdx,%rbx), %xmm1
	movups	%xmm0, 32(%r11,%rbx)
	movups	%xmm1, 48(%r11,%rbx)
	movups	64(%rdx,%rbx), %xmm0
	movups	80(%rdx,%rbx), %xmm1
	movups	%xmm0, 64(%r11,%rbx)
	movups	%xmm1, 80(%r11,%rbx)
	movdqu	96(%rdx,%rbx), %xmm0
	movdqu	112(%rdx,%rbx), %xmm1
	movdqu	%xmm0, 96(%r11,%rbx)
	movdqu	%xmm1, 112(%r11,%rbx)
	subq	$-128, %rbx
	addq	$-4, %r15
	jne	LBB0_8
LBB0_9:
	testq	%r14, %r14
	je	LBB0_12
## %bb.10:
	leaq	(%r11,%rbx), %r15
	addq	$16, %r15
	leaq	(%rdx,%rbx), %r12
	addq	$16, %r12
	shlq	$5, %r14
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_11:                                ## =>This Inner Loop Header: Depth=1
	movdqu	-16(%r12,%rbx), %xmm0
	movdqu	(%r12,%rbx), %xmm1
	movdqu	%xmm0, -16(%r15,%rbx)
	movdqu	%xmm1, (%r15,%rbx)
	addq	$32, %rbx
	cmpq	%rbx, %r14
	jne	LBB0_11
LBB0_12:
	cmpq	%r8, %r13
	je	LBB0_21
## %bb.13:
	testb	$24, %r8b
	je	LBB0_17
LBB0_14:
	movq	%r13, %rbx
	movl	%r8d, %r13d
	andl	$2147483640, %r13d              ## imm = 0x7FFFFFF8
	.p2align	4, 0x90
LBB0_15:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rdx,%rbx), %rax
	movq	%rax, (%r11,%rbx)
	addq	$8, %rbx
	cmpq	%rbx, %r13
	jne	LBB0_15
## %bb.16:
	cmpq	%r8, %r13
	je	LBB0_21
LBB0_17:
	movq	%r13, %r14
	notq	%r14
	addq	%r8, %r14
	movq	%r8, %rbx
	andq	$3, %rbx
	je	LBB0_19
	.p2align	4, 0x90
LBB0_18:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%rdx,%r13), %eax
	movb	%al, (%r11,%r13)
	incq	%r13
	decq	%rbx
	jne	LBB0_18
LBB0_19:
	cmpq	$3, %r14
	jb	LBB0_21
	.p2align	4, 0x90
LBB0_20:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%rdx,%r13), %eax
	movb	%al, (%r11,%r13)
	movzbl	1(%rdx,%r13), %eax
	movb	%al, 1(%r11,%r13)
	movzbl	2(%rdx,%r13), %eax
	movb	%al, 2(%r11,%r13)
	movzbl	3(%rdx,%r13), %eax
	movb	%al, 3(%r11,%r13)
	addq	$4, %r13
	cmpq	%r13, %r8
	jne	LBB0_20
LBB0_21:
	cmpl	$127, %esi
	jg	LBB0_29
LBB0_22:
	movslq	%r10d, %r14
	movzbl	-1(%r14,%r11), %r15d
	subl	%r10d, %r9d
	cmpl	$127, %r10d
	jne	LBB0_24
## %bb.23:
	xorl	%esi, %esi
	testb	$1, %r9b
	jne	LBB0_28
	jmp	LBB0_29
LBB0_24:
	leaq	1(%r11), %rbx
	movl	%r9d, %r8d
	andl	$-2, %r8d
	negq	%r8
	xorl	%esi, %esi
	movq	_key_table@GOTPCREL(%rip), %r10
	.p2align	4, 0x90
LBB0_25:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r10), %rax
	movzbl	-1(%rbx), %edx
	addl	%r15d, %edx
	movzbl	%dl, %edx
	movl	(%rax,%rdx,4), %eax
	movb	%al, -1(%rbx,%r14)
	movq	(%r10), %r15
	movzbl	(%rbx), %edx
	addl	%eax, %edx
	movzbl	%dl, %eax
	movl	(%r15,%rax,4), %r15d
	movb	%r15b, (%rbx,%r14)
	addq	$-2, %rsi
	addq	$2, %rbx
	cmpq	%rsi, %r8
	jne	LBB0_25
## %bb.26:
	subq	%rsi, %r14
	negq	%rsi
	testb	$1, %r9b
	je	LBB0_29
LBB0_28:
	movq	_key_table@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movzbl	(%r11,%rsi), %edx
	addl	%edx, %r15d
	movzbl	%r15b, %edx
	movb	(%rax,%rdx,4), %al
	movb	%al, (%r11,%r14)
LBB0_29:
	leal	7(%rcx), %r9d
	sarl	$3, %r9d
	movslq	%r9d, %r8
	movl	$128, %eax
	subq	%r8, %rax
	negb	%cl
	andb	$7, %cl
	movl	$255, %ebx
                                        ## kill: def $cl killed $cl killed $rcx
	shrq	%cl, %rbx
	movq	_key_table@GOTPCREL(%rip), %r14
	movq	(%r14), %r10
	movl	%eax, %esi
	movzbl	(%r11,%rsi), %edx
	andl	%edx, %ebx
	movl	(%r10,%rbx,4), %ebx
	movb	%bl, (%r11,%rsi)
	cmpl	$128, %r8d
	je	LBB0_35
## %bb.30:
	testb	$1, %al
	je	LBB0_32
## %bb.31:
	movq	(%r14), %rdx
	leaq	(%rax,%r8), %rsi
	decq	%rsi
	movzbl	(%r11,%rsi), %esi
	xorl	%esi, %ebx
	movl	(%rdx,%rbx,4), %ebx
	movb	%bl, -1(%r11,%rax)
	decq	%rax
LBB0_32:
	cmpl	$127, %r9d
	je	LBB0_35
## %bb.33:
	leaq	-1(%r11), %r9
	leaq	(%r11,%r8), %rdx
	decq	%rdx
	.p2align	4, 0x90
LBB0_34:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r14), %rcx
	movzbl	(%rdx,%rax), %esi
	xorl	%ebx, %esi
	movl	(%rcx,%rsi,4), %ecx
	movb	%cl, (%r9,%rax)
	movzbl	-1(%rdx,%rax), %esi
	xorl	%ecx, %esi
	movq	(%r14), %rcx
	movl	(%rcx,%rsi,4), %ebx
	movb	%bl, -1(%r9,%rax)
	addq	$-2, %rax
	jne	LBB0_34
LBB0_35:
	movq	(%rdi), %rax
	leaq	128(%r11), %rcx
	cmpq	%rax, %rcx
	jbe	LBB0_39
## %bb.36:
	leaq	256(%rax), %rcx
	cmpq	%rcx, %r11
	jae	LBB0_39
## %bb.37:
	movl	$129, %ecx
	.p2align	4, 0x90
LBB0_38:                                ## =>This Inner Loop Header: Depth=1
	movzwl	-3(%r11,%rcx), %edx
	movl	%edx, -6(%rax,%rcx,2)
	movzwl	-5(%r11,%rcx), %edx
	movl	%edx, -10(%rax,%rcx,2)
	addq	$-4, %rcx
	cmpq	$1, %rcx
	ja	LBB0_38
	jmp	LBB0_41
LBB0_39:
	movl	$60, %ecx
	.p2align	4, 0x90
LBB0_40:                                ## =>This Inner Loop Header: Depth=1
	movzbl	7(%r11,%rcx,2), %edx
	movd	%edx, %xmm0
	pinsrb	$4, 5(%r11,%rcx,2), %xmm0
	pinsrb	$8, 3(%r11,%rcx,2), %xmm0
	pinsrb	$12, 1(%r11,%rcx,2), %xmm0
	movzbl	6(%r11,%rcx,2), %edx
	movd	%edx, %xmm1
	pinsrb	$4, 4(%r11,%rcx,2), %xmm1
	pinsrb	$8, 2(%r11,%rcx,2), %xmm1
	pslld	$8, %xmm0
	pinsrb	$12, (%r11,%rcx,2), %xmm1
	por	%xmm0, %xmm1
	pshufd	$27, %xmm1, %xmm0               ## xmm0 = xmm1[3,2,1,0]
	movdqu	%xmm0, (%rax,%rcx,4)
	addq	$-4, %rcx
	cmpq	$-4, %rcx
	jne	LBB0_40
LBB0_41:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_key_table,8,3                  ## @key_table
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_RC2_set_key                    ; -- Begin function RC2_set_key
	.p2align	2
_RC2_set_key:                           ; @RC2_set_key
	.cfi_startproc
; %bb.0:
	ldr	x8, [x0]
	strb	wzr, [x8]
	mov	w11, #128
	cmp	w1, #128
	csel	w12, w1, w11, lt
	mov	w9, #1024
	cmp	w3, #1024
	csel	w10, w3, w9, lt
	cmp	w3, #1
	csel	w10, w9, w10, lt
Lloh0:
	adrp	x9, _key_table@GOTPAGE
Lloh1:
	ldr	x9, [x9, _key_table@GOTPAGEOFF]
	cmp	w1, #1
	b.lt	LBB0_15
; %bb.1:
	mov	x14, #0
	cmp	w12, #1
	csinc	w13, w12, wzr, gt
	cmp	w13, #8
	b.lo	LBB0_12
; %bb.2:
	sub	x15, x8, x2
	cmp	x15, #64
	b.lo	LBB0_12
; %bb.3:
	cmp	w13, #64
	b.hs	LBB0_5
; %bb.4:
	mov	x14, #0
	b	LBB0_9
LBB0_5:
	and	x14, x13, #0x7fffffc0
	add	x15, x8, #32
	add	x16, x2, #32
	mov	x17, x14
LBB0_6:                                 ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x16, #-32]
	ldp	q2, q3, [x16], #64
	stp	q0, q1, [x15, #-32]
	stp	q2, q3, [x15], #64
	subs	x17, x17, #64
	b.ne	LBB0_6
; %bb.7:
	cmp	x14, x13
	b.eq	LBB0_14
; %bb.8:
	tst	x13, #0x38
	b.eq	LBB0_12
LBB0_9:
	mov	x17, x14
	and	x14, x13, #0x7ffffff8
	add	x15, x2, x17
	add	x16, x8, x17
	sub	x17, x17, x14
LBB0_10:                                ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x15], #8
	str	d0, [x16], #8
	adds	x17, x17, #8
	b.ne	LBB0_10
; %bb.11:
	cmp	x14, x13
	b.eq	LBB0_14
LBB0_12:
	add	x15, x8, x14
	add	x16, x2, x14
	sub	x13, x13, x14
LBB0_13:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w14, [x16], #1
	strb	w14, [x15], #1
	subs	x13, x13, #1
	b.ne	LBB0_13
LBB0_14:
	cmp	w1, #127
	b.gt	LBB0_17
LBB0_15:
	sxtw	x13, w12
	add	x14, x13, x8
	ldurb	w14, [x14, #-1]
	sub	w11, w11, w12
	mov	x12, x8
LBB0_16:                                ; =>This Inner Loop Header: Depth=1
	ldr	x15, [x9]
	ldrb	w16, [x12]
	add	w14, w14, w16
	and	w14, w14, #0xff
	ldr	w14, [x15, w14, uxtw #2]
	strb	w14, [x12, x13]
	add	x12, x12, #1
	subs	x11, x11, #1
	b.ne	LBB0_16
LBB0_17:
	add	w11, w10, #7
	asr	w12, w11, #3
	mov	w11, #128
	sub	w11, w11, w12
	neg	w10, w10
	and	x10, x10, #0x7
	mov	w13, #255
	lsr	x10, x13, x10
	ldr	x13, [x9]
	ldrb	w14, [x8, x11]
	and	x10, x10, x14
	ldr	w10, [x13, x10, lsl #2]
	strb	w10, [x8, x11]
	cmp	w12, #128
	b.eq	LBB0_20
; %bb.18:
	mov	x11, #0
	sxtw	x14, w12
	neg	x12, x14
	add	x13, x8, #127
	sub	x14, x13, x14
LBB0_19:                                ; =>This Inner Loop Header: Depth=1
	ldr	x15, [x9]
	ldrb	w16, [x13, x11]
	eor	w10, w10, w16
	ldr	w10, [x15, w10, uxtw #2]
	strb	w10, [x14, x11]
	sub	x11, x11, #1
	add	x15, x12, x11
	cmn	x15, #128
	b.ne	LBB0_19
LBB0_20:
	mov	x9, #0
	ldr	x10, [x0]
	add	x10, x10, #252
LBB0_21:                                ; =>This Inner Loop Header: Depth=1
	add	x11, x8, x9
	ldrh	w11, [x11, #126]
	str	w11, [x10], #-4
	add	x11, x9, #127
	sub	x9, x9, #2
	cmp	x11, #1
	b.hi	LBB0_21
; %bb.22:
	ret
	.loh AdrpLdrGot	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.comm	_key_table,8,3                  ; @key_table
.subsections_via_symbols
