Function at 0x14007ab80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x58
mov rax, qword [rcx + 0x20]
mov rbp, rcx
mov edi, r9d
mov rbx, r8
mov r9, rdx
movabs rsi, 0x7fffffffffff
mov rcx, qword [rax]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffff5
jne 0x14007ac27
mov rdx, qword [rdx]
and rcx, rsi
movzx r8d, word [rcx + 0xa]
lea rax, [r8 + r8*2]
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x14007abf8
nop dword [rax + rax]
movzx ecx, cx
lea rax, [rcx + rcx*2]
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x14007abe0
mov eax, ecx
movzx edx, cx
and eax, 0xf0000000
mov rcx, r9
cmp eax, 0x20000000
cmovne edx, r8d
mov r8d, edi
call fcn.140056890
test rax, rax
jne 0x14007ac9f
mov r9, qword [rsp + 0x88]
mov rcx, qword [rbp + 0x20]
add rcx, 8
cmp rcx, qword [rbp + 0x28]
jae 0x14007acb2
mov rcx, qword [rcx]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffff5
jne 0x14007acb2
mov rdx, qword [r9]
and rcx, rsi
movzx r8d, word [rcx + 0xa]
lea rax, [r8 + r8*2]
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x14007ac7c
movzx ecx, cx
lea rax, [rcx + rcx*2]
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x14007ac64
mov eax, ecx
movzx edx, cx
and eax, 0xf0000000
mov rcx, r9
cmp eax, 0x20000000
cmovne edx, r8d
mov r8d, edi
call fcn.140056890
test rax, rax
je 0x14007acb2
mov rdx, rax
mov rcx, rbp
add rsp, 0x58
pop rdi
pop rsi
pop rbp
pop rbx
jmp fcn.1400448d0
mov qword [rsp + 0x48], r14
xor esi, esi
mov qword [rsp + 0x40], r15
mov r15d, 0xffffffff
mov r14d, r15d
cmp edi, 4
jne 0x14007ad0a
mov rax, qword [rbx + 8]
cmp qword [rbx], rax
mov rax, qword [rbp + 0x28]
mov r14, qword [rsp + 0x48]
sete sil
mov r15, qword [rsp + 0x40]
inc rsi
shl rsi, 0x2f
not rsi
mov qword [rax - 8], rsi
mov rax, qword [rbp + 0x10]
mov qword [rax + 0xf0], rsi
lea eax, [rdi - 3]
add rsp, 0x58
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x90], r12
lea rax, [rsp + 0x30]
sub rax, rbx
mov qword [rsp + 0x50], r13
add rax, 0xffffffffffffffe8
lea rdi, [rbx + 0x18]
mov qword [rsp + 0x20], rax
lea r9, [0x1400cca10]
lea rax, [rsp + 0x28]
mov r12, 0xfffffffffffffff0
sub rax, rbx
sub r12, rbx
add rax, 0xffffffffffffffe8
mov r13, 0xffffffffffffffe8
mov qword [rsp + 0x80], rax
sub r13, rbx
movabs r10, 0x2aaaaaaaaaaaaaab
mov r8, qword [rdi - 8]
test r8, r8
je 0x14007addc
mov rax, qword [rbp + 0x20]
lea rdx, [rdi + r13]
mov rcx, qword [rdx + rax]
sar rcx, 0x2f
cmp ecx, 0xfffffff5
jne 0x14007ade0
mov ebx, dword [r8]
mov rcx, rbp
mov rax, qword [rsp + 0x88]
sub r8, qword [rax]
mov rax, r10
imul r8
xor r8d, r8d
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
call fcn.140056980
add rax, 0x18
lea r9, [0x1400cca10]
and ebx, 0xf0000000
mov ecx, esi
cmp ebx, 0x50000000
movabs r10, 0x2aaaaaaaaaaaaaab
cmovne ecx, r15d
mov r15d, ecx
jmp 0x14007ae0c
lea rdx, [rdi + r13]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rdx + rax]
mov eax, esi
sar rcx, 0x2f
cmp ecx, 0xfffffffb
cmovne eax, r14d
mov r14d, eax
cmp ecx, 0xfffffff2
ja 0x14007ae04
mov ecx, 0xd
jmp 0x14007ae06
not ecx
mov eax, ecx
mov rax, qword [r9 + rax*8]
mov rcx, qword [rsp + 0x80]
mov qword [rcx + rdi], rax
mov r8, qword [rdi]
test r8, r8
je 0x14007ae85
mov rax, qword [rbp + 0x20]
lea rdx, [r12 + rdi]
mov rcx, qword [rdx + rax]
sar rcx, 0x2f
cmp ecx, 0xfffffff5
jne 0x14007ae89
mov ebx, dword [r8]
mov rcx, rbp
mov rax, qword [rsp + 0x88]
sub r8, qword [rax]
mov rax, r10
imul r8
xor r8d, r8d
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
call fcn.140056980
add rax, 0x18
lea ecx, [rsi + 1]
and ebx, 0xf0000000
lea r9, [0x1400cca10]
cmp ebx, 0x50000000
cmovne ecx, r15d
mov r15d, ecx
jmp 0x14007aeb6
lea rdx, [rdi + r12]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rdx + rax]
lea eax, [rsi + 1]
sar rcx, 0x2f
cmp ecx, 0xfffffffb
cmovne eax, r14d
mov r14d, eax
cmp ecx, 0xfffffff2
ja 0x14007aeae
mov ecx, 0xd
jmp 0x14007aeb0
not ecx
mov eax, ecx
mov rax, qword [r9 + rax*8]
mov rcx, qword [rsp + 0x20]
add esi, 2
movabs r10, 0x2aaaaaaaaaaaaaab
mov qword [rcx + rdi], rax
add rdi, 0x10
cmp esi, 2
jl 0x14007ad65
mov r13, qword [rsp + 0x50]
mov eax, r14d
mov r12, qword [rsp + 0x90]
xor eax, r15d
cmp eax, 1
je 0x14007af33
mov eax, dword [rsp + 0x98]
cmp eax, 5
jne 0x14007af04
mov edx, 0xceb
jmp 0x14007af20
cmp eax, 8
jne 0x14007af10
mov edx, 0xd09
jmp 0x14007af20
cmp eax, 0xa
mov edx, 0xd2e
mov ecx, 0xd5d
cmovl edx, ecx
mov r9, qword [rsp + 0x30]
mov rcx, rbp
mov r8, qword [rsp + 0x28]
call fcn.140035be0
int3
movsxd r9, r15d
mov edx, 0xccf
movsxd r8, r14d
mov rcx, rbp
mov r9, qword [rsp + r9*8 + 0x28]
mov r8, qword [rsp + r8*8 + 0x28]
call fcn.140035be0
int3