Function at 0x1800c2190
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rdi
push r13
sub rsp, 0x48
mov rax, qword [rcx + 0x20]
mov rbp, rcx
mov r13d, r9d
mov rbx, r8
mov r9, rdx
movabs rdi, 0x7fffffffffff
mov rcx, qword [rax]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffff5
jne 0x1800c2234
mov rdx, qword [rdx]
and rcx, rdi
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 0x1800c2208
nop dword [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 0x1800c21f0
mov eax, ecx
movzx edx, cx
and eax, 0xf0000000
mov rcx, r9
cmp eax, 0x20000000
cmovne edx, r8d
mov r8d, r13d
call fcn.1800952b0
test rax, rax
jne 0x1800c22bb
mov r9, qword [rsp + 0x78]
mov rcx, qword [rbp + 0x20]
add rcx, 8
cmp rcx, qword [rbp + 0x28]
jae 0x1800c22cf
mov rcx, qword [rcx]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffff5
jne 0x1800c22cf
mov rdx, qword [r9]
and rcx, rdi
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 0x1800c2298
nop word [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 0x1800c2280
mov eax, ecx
movzx edx, cx
and eax, 0xf0000000
mov rcx, r9
cmp eax, 0x20000000
cmovne edx, r8d
mov r8d, r13d
call fcn.1800952b0
test rax, rax
je 0x1800c22cf
mov rdx, rax
mov rcx, rbp
add rsp, 0x48
pop r13
pop rdi
pop rbp
pop rbx
jmp fcn.180083340
mov qword [rsp + 0x40], r12
xor edi, edi
mov qword [rsp + 0x30], r15
mov r12d, 0xffffffff
mov r15d, r12d
cmp r13d, 4
jne 0x1800c232b
mov rax, qword [rbx + 8]
cmp qword [rbx], rax
mov rax, qword [rbp + 0x28]
mov r15, qword [rsp + 0x30]
sete dil
inc rdi
shl rdi, 0x2f
not rdi
mov qword [rax - 8], rdi
mov rax, qword [rbp + 0x10]
mov qword [rax + 0xf0], rdi
lea eax, [r12 + 2]
mov r12, qword [rsp + 0x40]
add rsp, 0x48
pop r13
pop rdi
pop rbp
pop rbx
ret
mov qword [rsp + 0x70], rsi
lea rax, [rsp + 0x20]
sub rbx, rax
mov qword [rsp + 0x38], r14
mov rsi, rdi
lea r8, [0x18014fbc0]
movabs r9, 0x2aaaaaaaaaaaaaab
lea r13, [rbx + 0x10]
nop word [rax + rax]
lea r14, [rsp + 0x20]
add r14, rsi
mov rdx, qword [r14 + r13]
test rdx, rdx
je 0x1800c23d7
mov rax, qword [rbp + 0x20]
mov rcx, qword [rsi + rax]
sar rcx, 0x2f
cmp ecx, 0xfffffff5
jne 0x1800c23d7
mov ebx, dword [rdx]
xor r8d, r8d
mov rax, qword [rsp + 0x78]
mov rcx, rbp
sub rdx, qword [rax]
mov rax, r9
imul rdx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
call fcn.180095470
add rax, 0x18
lea r8, [0x18014fbc0]
and ebx, 0xf0000000
mov ecx, edi
cmp ebx, 0x50000000
movabs r9, 0x2aaaaaaaaaaaaaab
cmovne ecx, r12d
mov r12d, ecx
jmp 0x1800c2403
mov rax, qword [rbp + 0x20]
mov ecx, edi
mov rax, qword [rsi + rax]
sar rax, 0x2f
cmp eax, 0xfffffffb
cmovne ecx, r15d
mov r15d, ecx
cmp eax, 0xfffffff2
ja 0x1800c23fb
mov eax, ntohs
jmp 0x1800c23fd
not eax
mov ecx, eax
mov rax, qword [r8 + rcx*8]
inc edi
mov qword [r14], rax
add rsi, 8
cmp edi, 2
jl 0x1800c2360
mov r14, qword [rsp + 0x38]
mov eax, r15d
mov rsi, qword [rsp + 0x70]
xor eax, r12d
mov r13d, dword [rsp + 0x88]
cmp eax, 1
je 0x1800c2470
cmp r13d, 5
jne 0x1800c243f
mov edx, 0xceb
jmp 0x1800c245d
cmp r13d, 8
jne 0x1800c244c
mov edx, 0xd09
jmp 0x1800c245d
cmp r13d, 0xa
mov edx, 0xd2e
mov eax, 0xd5d
cmovl edx, eax
mov r9, qword [rsp + 0x28]
mov rcx, rbp
mov r8, qword [rsp + 0x20]
call fcn.180075f70
int3
movsxd r9, r12d
mov edx, 0xccf
movsxd r8, r15d
mov rcx, rbp
mov r9, qword [rsp + r9*8 + 0x20]
mov r8, qword [rsp + r8*8 + 0x20]
call fcn.180075f70
int3