Function at 0x1400ca660
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rdi
sub rsp, 0x40
bsr eax, dword [rsp + 0x80]
mov qword [rsp + 0x30], r13
mov r11, r8
mov r13, rcx
mov qword [rsp + 0x28], r14
mov r8d, 0xffffffff
mov ecx, 0x20
mov r10d, r8d
mov r14, r9
cmovne r10d, eax
sub ecx, r10d
lea rbp, [rdx + r13]
mov dword [rsp + 0x60], ecx
mov r10, r13
cmp rdx, 0xf
jb 0x1400ca969
imul r8d, dword [r13 + 1], 0x1e35a7bd
lea rdx, [r13 + 1]
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x38], r12
lea r12, [rbp - 0xf]
mov qword [rsp + 0x20], r15
shr r8d, cl
mov r9d, 0x20
nop dword [rax]
mov eax, r9d
mov esi, r8d
shr eax, 5
mov rdi, rdx
mov r15, rdx
mov ebx, edx
add r9d, eax
add rdx, rax
cmp rdx, r12
ja 0x1400ca954
imul r8d, dword [rdx], 0x1e35a7bd
movzx eax, di
sub ax, r13w
shr r8d, cl
lea rcx, [r14 + rsi*2]
movzx esi, word [r14 + rsi*2]
mov word [rcx], ax
add rsi, r13
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsi]
cmp dword [r15], eax
jne 0x1400ca6e0
sub ebx, r10d
lea edx, [rbx - 1]
cmp ebx, 0x10
jg 0x1400ca74f
lea rax, [r11 + 1]
shl dl, 2
mov byte [r11], dl
movups xmm0, xmmword [r10]
movsxd r11, ebx
add r11, rax
movups xmmword [rax], xmm0
jmp 0x1400ca797
lea r14, [r11 + 1]
cmp edx, 0x3c
jge 0x1400ca760
shl dl, 2
mov byte [r11], dl
jmp 0x1400ca782
bsr eax, edx
mov ecx, 0xffffffff
cmovne ecx, eax
sar ecx, 3
inc ecx
lea eax, [rcx - 5]
shl al, 2
mov byte [r11], al
movsxd rax, ecx
mov dword [r14], edx
add r14, rax
movsxd rbx, ebx
mov rdx, r10
mov r8, rbx
mov rcx, r14
call fcn.1400ead90
lea r11, [rbx + r14]
lea r14, [rbp - 4]
nop dword [rax + rax]
lea rax, [rdi + 4]
xor edx, edx
xor r8d, r8d
lea rbx, [rsi + 4]
cmp rax, r14
ja 0x1400ca7db
mov r9, rbx
sub r9, rax
nop dword [rax + rax]
mov ecx, dword [r9 + rax]
mov r10d, edx
cmp dword [rax], ecx
jne 0x1400ca835
add rax, 4
add edx, 4
add r8, 4
cmp rax, r14
jbe 0x1400ca7c0
cmp rax, rbp
jae 0x1400ca7f8
add r8, rbx
movzx ecx, byte [rax]
cmp byte [r8], cl
jne 0x1400ca7f8
inc rax
inc r8
inc edx
cmp rax, rbp
jb 0x1400ca7e3
movsxd r8, edx
sub rdi, rsi
lea rcx, [r8 + 4]
add r15, rcx
cmp edx, 8
jge 0x1400ca862
cmp rdi, 0x800
jae 0x1400ca850
shl r8b, 2
mov rax, rdi
shr rax, 3
and al, 0xe0
inc al
add al, r8b
mov byte [r11], al
mov byte [r11 + 1], dil
add r11, 2
jmp 0x1400ca8ea
mov ecx, dword [rax]
mov edx, 0x20
mov eax, dword [r8 + rbx]
xor eax, ecx
bsf ecx, eax
cmovne edx, ecx
sar edx, 3
add edx, r10d
jmp 0x1400ca7f8
shl rdi, 8
lea eax, [rcx*4 - 2]
add eax, edi
jmp 0x1400ca8e3
cmp rcx, 0x44
jb 0x1400ca88d
shr r8, 6
mov rdx, rdi
shl rdx, 8
imul rax, r8, 0xffffffffffffffc0
add edx, 0xfe
add rcx, rax
mov dword [r11], edx
add r11, 3
sub r8, 1
jne 0x1400ca880
mov rdx, rdi
shl rdx, 8
cmp rcx, 0x40
jbe 0x1400ca8ab
lea eax, [rdx + 0xee]
mov dword [r11], eax
add r11, 3
sub rcx, 0x3c
cmp rcx, 0xc
jae 0x1400ca8da
cmp rdi, 0x800
jae 0x1400ca8da
add cl, 0xfc
mov rax, rdi
shl cl, 2
shr rax, 3
inc cl
and al, 0xe0
add cl, al
mov byte [r11], cl
mov byte [r11 + 1], dil
add r11, 2
jmp 0x1400ca8ea
lea eax, [rcx*4 - 2]
add eax, edx
mov dword [r11], eax
add r11, 3
mov r10, r15
mov rdi, r15
cmp r15, r12
jae 0x1400ca954
imul edx, dword [r15 - 1], 0x1e35a7bd
movzx r9d, r15w
mov rbx, qword [rsp + 0x78]
sub r9w, r13w
movsxd rcx, dword [rsp + 0x60]
shr rdx, cl
lea r8d, [r9 - 1]
mov word [rbx + rdx*2], r8w
imul edx, dword [r15], 0x1e35a7bd
shr rdx, cl
movzx esi, word [rbx + rdx*2]
add rsi, r13
mov eax, dword [rsi]
mov word [rbx + rdx*2], r9w
cmp dword [r15], eax
je 0x1400ca7a0
imul r8d, dword [r15 + 1], 0x1e35a7bd
lea rdx, [r15 + 1]
mov ecx, dword [rsp + 0x60]
mov r14, rbx
jmp 0x1400ca6d0
mov r15, qword [rsp + 0x20]
mov r8d, 0xffffffff
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
cmp r10, rbp
jae 0x1400ca9cc
sub ebp, r10d
lea rdi, [r11 + 1]
lea ecx, [rbp - 1]
cmp ecx, 0x3c
jge 0x1400ca98f
shl cl, 2
mov byte [r11], cl
jmp 0x1400ca9af
bsr eax, ecx
cmovne r8d, eax
sar r8d, 3
inc r8d
lea eax, [r8 - 5]
shl al, 2
mov byte [r11], al
movsxd rax, r8d
mov dword [rdi], ecx
add rdi, rax
movsxd rbx, ebp
mov rdx, r10
mov r8, rbx
mov rcx, rdi
call fcn.1400ead90
lea rax, [rbx + rdi]
add rsp, 0x40
pop rdi
pop rbp
pop rbx
ret
mov rax, r11
add rsp, 0x40
pop rdi
pop rbp
pop rbx
ret