Function at 0x180198980
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
movzx eax, byte [rcx]
mov r15, r9
movzx r10d, byte [rcx + 1]
mov r11, r9
shl r10d, 8
lea r9, [rcx + 4]
or r10d, eax
mov rbx, r8
movzx eax, byte [rcx + 3]
mov r14, rdx
shl r10d, 8
mov r8b, reloc.WSOCK32.dll_recv
or r10d, eax
movzx eax, byte [rcx + 2]
shl r10d, 8
or r10d, eax
cmp r9, rdx
jae 0x180198b71
mov rbp, qword [rsp + 0x60]
cmp r11, rbp
jae 0x180198b71
nop word [rax + rax]
mov eax, r10d
shr rax, 0x16
movsx eax, word [rbx + rax*2]
test eax, eax
js 0x180198a12
movzx ecx, al
shr eax, 4
and cl, 0xf
shl r10d, cl
sub r8b, cl
js 0x180198a4a
jmp 0x180198a7d
shl r10d, 0xa
nop word [rax + rax]
mov ecx, r10d
add r10d, r10d
shr ecx, 0x1f
add ecx, 0x8000
add eax, ecx
movsxd rcx, eax
movsx eax, word [rbx + rcx*2]
test eax, eax
js 0x180198a20
movzx ecx, al
shr eax, 4
and cl, 0xf
sub r8b, cl
jns 0x180198a7d
cmp r9, r14
jae 0x180198b71
cmp r11, rbp
jae 0x180198b71
movzx ecx, byte [r9]
movzx edx, byte [r9 + 1]
add r9, 2
shl edx, 8
or edx, ecx
movzx ecx, r8b
neg cl
add r8b, 0x10
shl edx, cl
add r10d, edx
sub eax, 0x100
jns 0x180198ac1
nop dword [rax]
nop dword [rax + rax]
mov byte [r11], al
inc r11
mov eax, r10d
shr rax, 0x16
movsx eax, word [rbx + rax*2]
test eax, eax
js 0x180198a12
movzx ecx, al
shr eax, 4
and cl, 0xf
shl r10d, cl
sub r8b, cl
js 0x180198a4a
sub eax, 0x100
js 0x180198a90
mov esi, r10d
movzx ecx, al
or r10d, 1
shr cl, 4
movzx ecx, cl
and eax, 0xf
ror r10d, 1
sub r8b, cl
shl esi, cl
xor ecx, 0x1f
shr r10d, cl
neg r10d
cmp eax, 5
jle 0x180198b8f
cmp eax, 0xf
jne 0x180198b21
movzx eax, byte [r9]
inc r9
add eax, 0xf
cmp eax, 0x10e
jne 0x180198b21
movzx eax, byte [r9 + 1]
movzx ecx, byte [r9]
add r9, 2
shl eax, 8
or eax, ecx
cmp eax, 0x10e
jl 0x180198c6c
add eax, 3
movsxd rcx, r10d
movsxd rdi, eax
add rcx, r11
add rdi, r11
cmp rcx, r15
jb 0x180198c57
test eax, eax
jle 0x180198b62
sub rcx, r11
mov edx, eax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r11]
mov byte [r11], al
lea r11, [r11 + 1]
sub rdx, 1
jne 0x180198b50
mov r11, rdi
mov r10d, esi
cmp rdi, rbp
jb 0x180198c13
mov eax, 1
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
movsxd rdx, r10d
add rdx, r11
cmp r10d, 0xfffffffd
jg 0x180198bbf
cmp rdx, r15
jae 0x180198bc8
mov edx, r10d
lea rcx, [0x1800468d8]
call fcn.180198f10
lea rcx, [0x180046908]
call fcn.180198f10
xor eax, eax
jmp 0x180198b76
cmp rdx, r15
jb 0x180198c60
movzx ecx, byte [rdx]
mov r10d, esi
mov byte [r11], cl
movzx ecx, byte [rdx + 1]
mov byte [r11 + 1], cl
movzx ecx, byte [rdx + 2]
mov byte [r11 + 2], cl
movzx ecx, byte [rdx + 3]
mov byte [r11 + 3], cl
movzx ecx, byte [rdx + 4]
mov byte [r11 + 4], cl
movzx ecx, byte [rdx + 5]
mov byte [r11 + 5], cl
movzx ecx, byte [rdx + 6]
mov byte [r11 + 6], cl
movzx ecx, byte [rdx + 7]
mov byte [r11 + 7], cl
add r11, 3
movsxd rcx, eax
add r11, rcx
test r8b, r8b
jns 0x1801989f0
cmp r9, r14
jae 0x180198b71
cmp r11, rbp
jae 0x180198b71
movzx r10d, byte [r9 + 1]
movzx ecx, r8b
movzx eax, byte [r9]
neg cl
shl r10d, 8
add r9, 2
or r10d, eax
add r8b, 0x10
shl r10d, cl
add r10d, esi
jmp 0x1801989f0
lea rcx, [0x180046918]
jmp 0x180198c67
lea rcx, [0x1800468b0]
call fcn.180198f10
lea rcx, [0x180046908]
call fcn.180198f10
xor eax, eax
jmp 0x180198b76