Function at 0x14011d130
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
movsxd r13, edx
mov rdi, rcx
lea rdx, [rsp + 0x20]
movsxd rbx, r9d
mov rcx, r8
mov rbp, r13
call qword [rdi + r13*8 + 0xbf40]
mov r12d, dword [rsp + 0x20]
mov r11d, 1
movsxd r15, eax
xor r10d, r10d
mov eax, 2
sub r12d, r15d
mov dword [rsp + 0x98], r12d
mov word [rsp + r15*2 + 0x30], ax
lea ecx, [r15 + 1]
movsxd rdx, ecx
mov word [rsp + rdx*2 + 0x30], ax
mov eax, r11d
movsx rdx, word [rsp + 0x32]
movsx rcx, word [rsp + 0x34]
movsx r8d, word [rsp + 0x30]
sub eax, ecx
movsxd r9, eax
lea rax, [rcx + 1]
or r9, rax
movabs rax, 0x200000000
and r9, rax
mov eax, r11d
sub eax, edx
movsxd rcx, eax
lea rax, [rdx + 1]
or rcx, rax
mov edx, r11d
sub edx, r8d
movabs rax, 0x100000000
and rcx, rax
lea eax, [r15 - 1]
or r9, rcx
movsxd r14, eax
lea ecx, [r8 + 1]
sar r9, 0x1f
or rdx, rcx
mov rax, rbx
shr rdx, 0x1f
lea rcx, [0x140000000]
or r9, rdx
shl rax, 4
add rax, r14
lea rbx, [0x140000000]
movzx esi, byte [r9 + rcx + 0x31b208]
lea rax, [rsi + rax*4]
movzx edx, byte [rbx + rax*2 + 0x2ff1f1]
add edx, dword [rdi + 0x92c]
cmp r15d, 0xa
jle 0x14011d248
mov ecx, r11d
cmp esi, 3
jb 0x14011d24b
mov ecx, r10d
lea r8d, [rdx + rsi]
mov dword [rdi + 0x92c], r8d
cmp esi, r15d
jge 0x14011d405
movsx r9, word [rsp + rsi*2 + 0x30]
mov eax, r9d
mov edx, r9d
sar eax, 0x1f
or eax, r11d
cmp esi, 3
cmovb r10d, eax
lea eax, [r9 + 0x40]
sub edx, r10d
cmp eax, 0x80
jae 0x14011d2b1
shl rcx, 7
movsxd rax, edx
add rax, rcx
movzx eax, byte [rbx + rax*4 + 0x498882]
add r8d, eax
lea rax, [rcx + r9]
mov dword [rdi + 0x92c], r8d
movzx r9d, byte [rbx + rax*4 + 0x498883]
jmp 0x14011d2c8
mov r8d, edx
mov edx, ecx
mov rcx, rdi
call fcn.14011d040
mov r8d, dword [rdi + 0x92c]
mov r9d, eax
lea edx, [rsi + 1]
mov r11d, r8d
cmp edx, r15d
jge 0x14011d405
lea rsi, [rsp + 0x30]
mov ebp, r15d
lea rsi, [rsi + rdx*2]
sub ebp, edx
mov r12d, 1
nop dword [rax + rax]
movsx rdx, word [rsi]
lea eax, [rdx + 0x40]
cmp eax, 0x80
jae 0x14011d32b
movsxd rcx, r9d
shl rcx, 7
add rcx, rdx
movzx eax, byte [rbx + rcx*4 + 0x498882]
add dword [rdi + 0x92c], eax
mov r8d, dword [rdi + 0x92c]
movzx r9d, byte [rbx + rcx*4 + 0x498883]
jmp 0x14011d3e9
mov eax, edx
mov ecx, r9d
sar eax, 0x1f
mov r8d, reloc.WS2_32.dll_ntohs
mov ebx, eax
xor ebx, edx
sub ebx, eax
lea r10d, [rbx + rbx]
sub r10d, eax
sub r10d, 2
mov eax, r10d
sar eax, cl
cmp eax, r8d
jge 0x14011d360
lea r8d, [r11 + rax]
inc r8d
add r8d, r9d
jmp 0x14011d3b8
mov eax, r8d
shl eax, cl
sub r10d, eax
test r9d, r9d
lea edx, [r10 - 0xf]
cmovne edx, r10d
cmp edx, 0x1000
jl 0x14011d3b0
cmp dword [rdi + 0x3034], 0x64
jl 0x14011d3a9
mov eax, 0x1000
mov ecx, listen
nop
sub edx, eax
inc ecx
mov eax, r12d
inc r8d
shl eax, cl
cmp edx, eax
jge 0x14011d390
mov r11d, dword [rdi + 0x92c]
jmp 0x14011d3b0
add r11d, 0x7d0
lea r8d, [r8 - 1]
lea r8d, [r11 + r8*2]
test r9d, r9d
mov dword [rdi + 0x92c], r8d
lea rcx, [0x140000000]
cmove r9d, r12d
movsxd rdx, r9d
movzx ecx, word [rcx + rdx*2 + 0x31b1f8]
lea r9d, [rdx + 1]
cmp ebx, ecx
lea rbx, [0x140000000]
cmovle r9d, edx
add rsi, 2
mov r11d, r8d
sub rbp, 1
jne 0x14011d2f0
mov r12d, dword [rsp + 0x98]
mov rbp, r13
cmp r13d, 3
jne 0x14011d45a
mov ecx, dword [rdi + 0x5f90]
mov eax, 8
sar eax, cl
cmp r15d, eax
jge 0x14011d481
movsxd rax, r12d
inc rax
cmp dword [rdi + 0x3138], 1
jne 0x14011d443
lea rax, [rax + r14*4]
movzx eax, word [rbx + rax*2 + 0x2ff6d0]
movzx ecx, ax
shr ecx, 8
add r8d, ecx
jmp 0x14011d47a
lea rax, [rax + r14*8]
movzx eax, word [rbx + rax*2 + 0x2ff6f0]
movzx ecx, ax
shr ecx, 8
add r8d, ecx
jmp 0x14011d47a
cmp r15b, byte [rbx + rbp + 0x31b2f0]
jae 0x14011d481
shl r14, 4
movsxd rax, r12d
add r14, rax
movzx eax, byte [rbx + r14*2 + 0x2ff4f3]
add r8d, eax
mov dword [rdi + 0x92c], r8d
movsxd rax, dword [rsp + 0x24]
lea r11, [rsp + 0x60]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov ecx, dword [rbx + rax*4 + 0x458780]
mov eax, r15d
mov rbx, qword [r11 + 0x30]
and ecx, 0x1f
add ecx, r8d
mov dword [rdi + 0x92c], ecx
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret