Function at 0x1401c4320
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
movsxd rax, edx
lea rsi, [rcx + 0x908]
mov rbx, rcx
movsxd rdi, r9d
lea rdx, [rsp + 0x20]
mov qword [rsp + 0xc0], rax
mov rcx, r8
call qword [rbx + rax*8 + 0xe300]
mov r15d, dword [rsp + 0x20]
lea r10, [0x140000000]
movsxd r13, eax
mov eax, 1
sub r15d, r13d
mov dword [rsp + 0xd8], r15d
mov dword [rsp + r13*4 + 0x30], 2
lea ecx, [r13 + 1]
movsxd rdx, ecx
mov dword [rsp + rdx*4 + 0x30], 2
mov edx, dword [rsp + 0x38]
mov r11d, dword [rsp + 0x30]
sub eax, r11d
mov r9d, dword [rsp + 0x34]
lea r8d, [r11 + 1]
sar r11d, 0x1f
or r8, rax
and r11d, 4
lea eax, [r9 + 1]
shr r8, 0x1f
movsxd rcx, eax
mov eax, 1
sub eax, r9d
sar r9d, 0x1f
cdqe
and r9d, 2
or rcx, rax
or r11d, r9d
sar rcx, 0x1f
lea eax, [rdx + 1]
and ecx, 2
or r8, rcx
movsxd rcx, eax
mov eax, 1
sub eax, edx
sar edx, 0x1f
cdqe
and edx, 1
or rcx, rax
or r11d, edx
sar rcx, 0x1f
lea eax, [r13 - 1]
movsxd r12, eax
and ecx, 4
or r8, rcx
mov rax, rdi
shl rax, 4
mov ecx, 3
add rax, r12
movzx ebp, byte [r8 + r10 + 0x329720]
sub ecx, ebp
lea rax, [rax*4]
shr r11d, cl
add rax, rbp
movzx ecx, byte [r10 + rax*2 + 0x2ff1f1]
movzx edx, byte [r10 + rax*2 + 0x2ff1f0]
mov rax, qword [rbx + 0x920]
sub dword [rbx + 0x928], ecx
shl rax, cl
mov ecx, dword [rbx + 0x928]
or rdx, rax
mov qword [rbx + 0x920], rdx
cmp ecx, 0x20
jg 0x1401c44bc
shl rdx, cl
shr rdx, 0x20
mov eax, edx
mov ecx, edx
and eax, 0xff00
shl ecx, 0x10
add ecx, eax
mov eax, edx
shr eax, 8
and eax, 0xff00
shl ecx, 8
add ecx, eax
shr edx, 0x18
mov rax, qword [rbx + 0x910]
add ecx, edx
mov dword [rax], ecx
add qword [rbx + 0x910], 4
mov r8d, dword [rbx + 0x928]
mov rdx, qword [rsi + 0x18]
add r8d, 0x20
jmp 0x1401c44c3
mov r8d, dword [rbx + 0x928]
xor r10d, r10d
cmp r13d, 0xa
jle 0x1401c44d6
mov edi, 1
cmp ebp, 3
jb 0x1401c44d9
mov edi, r10d
sub r8d, ebp
mov eax, r11d
mov ecx, ebp
mov dword [rbx + 0x928], r8d
shl rdx, cl
or rdx, rax
mov qword [rbx + 0x920], rdx
cmp r8d, 0x20
jg 0x1401c4552
mov ecx, r8d
shl rdx, cl
shr rdx, 0x20
mov eax, edx
mov ecx, edx
and eax, 0xff00
shl ecx, 0x10
add ecx, eax
mov eax, edx
shr eax, 8
and eax, 0xff00
shl ecx, 8
add ecx, eax
shr edx, 0x18
mov rax, qword [rbx + 0x910]
add ecx, edx
mov dword [rax], ecx
add dword [rbx + 0x928], 0x20
mov r9d, dword [rbx + 0x928]
mov r8d, r9d
add qword [rbx + 0x910], 4
mov rdx, qword [rbx + 0x920]
jmp 0x1401c4555
mov r9d, r8d
cmp ebp, r13d
jge 0x1401c4913
movsxd r11, dword [rsp + rbp*4 + 0x30]
mov eax, r11d
mov r8d, r11d
sar eax, 0x1f
or eax, 1
cmp ebp, 3
cmovb r10d, eax
lea eax, [r11 + 0x40]
sub r8d, r10d
cmp eax, 0x80
jae 0x1401c463f
movsxd rax, r8d
lea r14, [0x140000000]
shl rdi, 7
mov r8d, r9d
add rax, rdi
movzx ecx, byte [r14 + rax*4 + 0x456402]
movzx r10d, word [r14 + rax*4 + 0x456400]
sub r8d, ecx
shl rdx, cl
or r10, rdx
mov dword [rbx + 0x928], r8d
mov qword [rbx + 0x920], r10
cmp r8d, 0x20
jg 0x1401c462d
mov ecx, r8d
shl r10, cl
shr r10, 0x20
mov eax, r10d
mov ecx, r10d
and eax, 0xff00
shl ecx, 0x10
add ecx, eax
mov eax, r10d
shr eax, 8
and eax, 0xff00
shl ecx, 8
add ecx, eax
shr r10d, 0x18
mov rax, qword [rbx + 0x910]
add ecx, r10d
mov dword [rax], ecx
lea rax, [rdi + r11]
add dword [rbx + 0x928], 0x20
add qword [rbx + 0x910], 4
mov r9d, dword [rbx + 0x928]
mov r8d, r9d
movzx r11d, byte [r14 + rax*4 + 0x456403]
jmp 0x1401c465d
lea rax, [rdi + r11]
mov r9d, r8d
movzx r11d, byte [r14 + rax*4 + 0x456403]
jmp 0x1401c465d
mov edx, edi
mov rcx, rbx
call fcn.1401c4170
mov r9d, dword [rbx + 0x928]
lea r14, [0x140000000]
mov r8d, r9d
mov r11d, eax
inc ebp
cmp ebp, r13d
jge 0x1401c4913
mov ecx, r13d
lea r15, [rsp + 0x30]
sub ecx, ebp
lea r15, [r15 + rbp*4]
mov ebp, ecx
nop dword [rax + rax]
movsxd rdx, dword [r15]
lea eax, [rdx + 0x40]
cmp eax, 0x80
jae 0x1401c474d
mov rax, qword [rbx + 0x920]
mov r8d, dword [rbx + 0x928]
movsxd rcx, r11d
shl rcx, 7
add rcx, rdx
lea r10, [rcx*4 + 0x100]
movzx ecx, byte [r10 + r14 + 0x456302]
movzx edx, word [r10 + r14 + 0x456300]
sub r8d, ecx
shl rax, cl
or rdx, rax
mov dword [rbx + 0x928], r8d
mov qword [rbx + 0x920], rdx
cmp r8d, 0x20
jg 0x1401c473c
mov ecx, r8d
shl rdx, cl
shr rdx, 0x20
mov eax, edx
mov ecx, edx
and eax, 0xff00
shl ecx, 0x10
add ecx, eax
mov eax, edx
shr eax, 8
and eax, 0xff00
shl ecx, 8
add ecx, eax
shr edx, 0x18
mov rax, qword [rbx + 0x910]
add ecx, edx
mov dword [rax], ecx
add dword [rbx + 0x928], 0x20
add qword [rbx + 0x910], 4
mov r9d, dword [rbx + 0x928]
mov r8d, r9d
movzx r11d, byte [r10 + r14 + 0x456303]
jmp 0x1401c48fd
movzx r11d, byte [r10 + r14 + 0x456303]
mov r9d, r8d
jmp 0x1401c48fd
mov eax, edx
mov ecx, r11d
sar eax, 0x1f
mov edi, reloc.WS2_32.dll_ntohs
mov r14d, eax
mov r8d, 0x8000
xor r14d, edx
sub r14d, eax
lea r9d, [r14 + r14]
sub r9d, eax
sub r9d, 2
mov edx, r9d
sar edx, cl
cmp edx, edi
jge 0x1401c47a0
mov eax, 1
inc edx
shl eax, cl
add edx, r11d
mov rcx, rsi
lea r8d, [rax - 1]
and r8d, r9d
add r8d, eax
call fcn.1400c6d60
jmp 0x1401c48c2
mov eax, edi
shl eax, cl
sub r9d, eax
test r11d, r11d
lea edx, [r9 - 0xf]
cmovne edx, r9d
cmp edx, 0x1000
jl 0x1401c47f0
cmp dword [rbx + 0x3214], 0x64
jl 0x1401c47e6
mov eax, 0x1000
mov ecx, listen
nop dword [rax]
sub edx, eax
rol r8d, 1
inc ecx
mov eax, 1
shl eax, cl
inc edi
cmp edx, eax
jge 0x1401c47d0
jmp 0x1401c47f0
mov dword [rbx + 0x72d4], 1
mov r9, qword [rsi + 0x18]
lea ecx, [rdi + 1]
mov r10d, dword [rsi + 0x20]
shl r9, cl
sub r10d, ecx
or r9, 1
mov dword [rsi + 0x20], r10d
mov qword [rsi + 0x18], r9
cmp r10d, 0x20
jg 0x1401c4857
mov ecx, r10d
shl r9, cl
shr r9, 0x20
mov eax, r9d
mov ecx, r9d
and eax, 0xff00
shl ecx, 0x10
add ecx, eax
mov eax, r9d
shr eax, 8
and eax, 0xff00
shl ecx, 8
add ecx, eax
shr r9d, 0x18
mov rax, qword [rsi + 8]
add ecx, r9d
mov dword [rax], ecx
add qword [rsi + 8], 4
mov r10d, dword [rsi + 0x20]
add r10d, 0x20
ror r8d, 3
lea ecx, [rdi - 3]
mov eax, edx
sub r10d, ecx
mov dword [rsi + 0x20], r10d
lea r9d, [r8 - 1]
and r9, rax
mov rax, qword [rsi + 0x18]
shl rax, cl
or r9, rax
mov qword [rsi + 0x18], r9
cmp r10d, 0x20
jg 0x1401c48c2
mov ecx, r10d
shl r9, cl
shr r9, 0x20
mov eax, r9d
mov ecx, r9d
and eax, 0xff00
shl ecx, 0x10
add ecx, eax
mov eax, r9d
shr eax, 8
and eax, 0xff00
shl ecx, 8
add ecx, eax
shr r9d, 0x18
mov rax, qword [rsi + 8]
add ecx, r9d
mov dword [rax], ecx
add dword [rsi + 0x20], 0x20
add qword [rsi + 8], 4
mov r9d, dword [rbx + 0x928]
lea r10, [0x140000000]
test r11d, r11d
mov edx, 1
mov r8d, r9d
cmovne edx, r11d
movsxd rax, edx
lea r11d, [rdx + 1]
movzx ecx, word [r10 + rax*2 + 0x329710]
cmp r14d, ecx
lea r14, [0x140000000]
cmovle r11d, edx
add r15, 4
sub rbp, 1
jne 0x1401c4680
mov r15d, dword [rsp + 0xd8]
cmp dword [rsp + 0xc8], 3
lea r10, [0x140000000]
jne 0x1401c49d5
mov ecx, dword [rbx + 0x6e10]
mov eax, 8
sar eax, cl
cmp r13d, eax
jge 0x1401c4a79
movsxd rax, r15d
inc rax
cmp dword [rbx + 0x3318], 1
jne 0x1401c495c
lea rax, [rax + r12*4]
movzx eax, word [r10 + rax*2 + 0x2ff6d0]
jmp 0x1401c4969
lea rax, [rax + r12*8]
movzx eax, word [r10 + rax*2 + 0x2ff6f0]
mov r9, qword [rbx + 0x920]
movzx edx, ax
shr edx, 8
sub dword [rbx + 0x928], edx
mov ecx, edx
mov r8d, dword [rbx + 0x928]
shl r9, cl
movzx ecx, al
or r9, rcx
mov qword [rbx + 0x920], r9
cmp r8d, 0x20
jg 0x1401c4a79
mov ecx, r8d
shl r9, cl
shr r9, 0x20
mov ecx, r9d
mov eax, r9d
and eax, 0xff00
shl ecx, 0x10
add ecx, eax
mov eax, r9d
shr eax, 8
and eax, 0xff00
shl ecx, 8
add ecx, eax
shr r9d, 0x18
add ecx, r9d
jmp 0x1401c4a5a
mov rax, qword [rsp + 0xc0]
cmp r13b, byte [rax + r10 + 0x329728]
jae 0x1401c4a79
shl r12, 4
mov r8d, r9d
movsxd rax, r15d
add r12, rax
mov rax, qword [rbx + 0x920]
movzx ecx, byte [r10 + r12*2 + 0x2ff4f3]
movzx edx, byte [r10 + r12*2 + 0x2ff4f2]
sub r8d, ecx
shl rax, cl
or rdx, rax
mov dword [rbx + 0x928], r8d
mov qword [rbx + 0x920], rdx
cmp r8d, 0x20
jg 0x1401c4a79
mov ecx, r8d
shl rdx, cl
shr rdx, 0x20
mov ecx, edx
mov eax, edx
and eax, 0xff00
shl ecx, 0x10
add ecx, eax
mov eax, edx
shr eax, 8
and eax, 0xff00
shl ecx, 8
add ecx, eax
shr edx, 0x18
add ecx, edx
mov rax, qword [rbx + 0x910]
mov dword [rax], ecx
add dword [rbx + 0x928], 0x20
add qword [rbx + 0x910], 4
mov r8d, dword [rbx + 0x928]
movsxd rax, dword [rsp + 0x24]
mov ecx, dword [r10 + rax*4 + 0x416300]
mov edx, ecx
mov rax, qword [rbx + 0x920]
and edx, 0x1f
sar ecx, 5
sub r8d, edx
mov r9d, ecx
mov ecx, edx
shl rax, cl
or r9, rax
mov dword [rbx + 0x928], r8d
mov qword [rbx + 0x920], r9
cmp r8d, 0x20
jg 0x1401c4b00
mov ecx, r8d
shl r9, cl
shr r9, 0x20
mov eax, r9d
mov ecx, r9d
and eax, 0xff00
shl ecx, 0x10
add ecx, eax
mov eax, r9d
shr eax, 8
and eax, 0xff00
shl ecx, 8
add ecx, eax
shr r9d, 0x18
mov rax, qword [rbx + 0x910]
add ecx, r9d
mov dword [rax], ecx
add dword [rbx + 0x928], 0x20
add qword [rbx + 0x910], 4
mov rbx, qword [rsp + 0xd0]
mov eax, r13d
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret