Function at 0x1803de5a0
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 r12
push r13
push r14
push r15
sub rsp, 0x60
xor ebp, ebp
mov rsi, r8
cmp r9, 0x4000
mov r15d, ebp
mov r13, rdx
mov rdi, rcx
mov rcx, qword [rsp + 0xc8]
setae r15b
mov rdx, qword [rsp + 0xc0]
cmp r9, 0x400
mov r14d, ebp
mov r8d, 0x810
sbb rax, rax
mov rbx, r9
add rax, 4
mov r12d, 2
add r15, rax
cmp r9, 0x100
setb r14b
call fcn.1804365b0
cmp dword [rsp + 0xd8], ebp
jne 0x1803de902
mov ecx, dword [rsp + 0xd0]
mov eax, 9
sub eax, ecx
mov edx, 3
cmp eax, edx
cmovl edx, eax
mov rax, qword [rsp + 0xc0]
mov r9d, dword [rax + 0x808]
cmp r9d, r12d
jne 0x1803de658
mov eax, 6
jmp 0x1803de669
mov ecx, edx
mov eax, 8
shl rax, cl
mov ecx, dword [rsp + 0xd0]
cmp rbx, rax
jb 0x1803de902
lea rax, [r15 + 1]
cmp r13, rax
jae 0x1803de687
mov rax, 0xffffffffffffffba
jmp 0x1803de913
mov dword [rsp + 0xd8], r9d
cmp ecx, 4
jge 0x1803de6a2
mov edx, 4
cmp rbx, 0x400
jbe 0x1803de6a4
mov edx, ebp
cmp ecx, 8
mov r8d, ebp
cmovge r8d, r12d
neg dword [rsp + 0xe0]
sbb eax, eax
and eax, 8
or r8d, eax
mov eax, ebp
cmp dword [rsp + 0xe8], eax
setne al
or r8d, eax
mov eax, 1
or r8d, edx
cmp r9d, r12d
jne 0x1803de6e1
cmp r15, 3
cmove r14d, eax
mov dword [rsp + 0x50], r8d
lea rax, [0x1803da3b0]
mov rdx, r13
lea r10, [0x1803dbcc0]
sub rdx, r15
lea rcx, [r15 + rdi]
test r14d, r14d
mov r9, rbx
mov r8, rsi
cmovne r10, rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], reloc.WS2_32.dll_inet_addr
mov dword [rsp + 0x20], 0xff
call r10
cmp dword [rsp + 0xd8], ebp
mov rdx, rax
mov eax, 3
cmovne r12d, eax
mov eax, dword [rsp + 0xd0]
cmp eax, 8
jl 0x1803de776
lea ecx, [rax - 1]
jmp 0x1803de77b
mov ecx, 6
test rdx, rdx
je 0x1803de8e7
mov rax, rbx
shr rax, cl
mov rcx, rbx
sub rcx, rax
sub rcx, 2
cmp rdx, rcx
jae 0x1803de8e7
cmp rdx, 0xffffffffffffff88
ja 0x1803de8e7
cmp rdx, 1
jne 0x1803de85e
cmp rbx, 8
jae 0x1803de7d5
movzx r9d, byte [rsi]
mov rax, rdx
cmp rdx, rbx
jae 0x1803de7d5
cmp byte [rax + rsi], r9b
jne 0x1803de85e
inc rax
cmp rax, rbx
jb 0x1803de7c3
mov rcx, qword [rsp + 0xc8]
mov r8d, 0x810
mov rdx, qword [rsp + 0xc0]
call fcn.1804365b0
mov edx, ebp
cmp rbx, 0xfff
seta dl
cmp rbx, 0x1f
seta bpl
inc ebp
add edx, ebp
mov eax, edx
sub eax, 1
je 0x1803de849
sub eax, 1
je 0x1803de830
cmp eax, 1
jne 0x1803de850
shl rbx, 4
add ebx, 0xd
mov dword [rdi], ebx
movzx eax, byte [rsi]
mov byte [rdx + rdi], al
lea eax, [rdx + 1]
jmp 0x1803de913
shl rbx, 4
add bx, 5
mov word [rdi], bx
movzx eax, byte [rsi]
mov byte [rdx + rdi], al
lea eax, [rdx + 1]
jmp 0x1803de913
shl bl, 3
inc bl
mov byte [rdi], bl
movzx eax, byte [rsi]
mov byte [rdx + rdi], al
lea eax, [rdx + 1]
jmp 0x1803de913
cmp r12d, 2
jne 0x1803de876
mov rax, qword [rsp + 0xc8]
mov dword [rax + 0x808], 1
mov rax, r15
sub rax, 3
je 0x1803de8c5
sub rax, 1
je 0x1803de8ad
cmp rax, 1
jne 0x1803de8e1
mov eax, edx
shl eax, 0x12
add eax, ebx
shl eax, 4
add eax, 0xc
add eax, r12d
mov dword [rdi], eax
mov rax, rdx
shr rax, 0xa
mov byte [rdi + 4], al
lea rax, [rdx + r15]
jmp 0x1803de913
mov eax, edx
shl eax, 0xe
add eax, ebx
shl eax, 4
add eax, 8
add eax, r12d
mov dword [rdi], eax
lea rax, [rdx + r15]
jmp 0x1803de913
xor r14d, 1
mov eax, edx
shl eax, 0xa
add eax, ebx
lea eax, [r14 + rax*4]
lea ecx, [r12 + rax*4]
mov word [rdi], cx
shr ecx, 0x10
mov byte [rdi + 2], cl
lea rax, [rdx + r15]
jmp 0x1803de913
mov rcx, qword [rsp + 0xc8]
mov r8d, 0x810
mov rdx, qword [rsp + 0xc0]
call fcn.1804365b0
mov r9, rbx
mov r8, rsi
mov rdx, r13
mov rcx, rdi
call fcn.1803de9c0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret