Function at 0x1401059f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x2a8
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, WSAGetLastError
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x2c8]
mov rax, qword [0x140401d40]
xor rax, rbp
mov qword [rbp + 0x268], rax
lea rcx, [0x14043623b]
call fcn.1402c8d18
mov dword [rbp + 4], 0x40000000
mov dword [rbp + 0x44], 0x40000000
mov qword [rbp + 0xf8], 0
mov rax, qword [rbp + 0x298]
mov eax, dword [rax + 8]
mov ecx, dword [rbp + 0x2a0]
lea eax, [rcx + rax - 1]
mov dword [rbp + 0x2a0], eax
mov eax, dword [rbp + 0x2a0]
cdq
mov rcx, qword [rbp + 0x298]
idiv dword [rcx + 8]
mov eax, edx
mov ecx, dword [rbp + 0x2a0]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x2a0], eax
xor eax, eax
test eax, eax
jne 0x140105a9e
mov rax, qword [rbp + 0x298]
mov eax, dword [rax]
cmp dword [rbp + 0x2a0], eax
jg 0x140105ac7
mov rax, qword [rbp + 0x298]
mov eax, dword [rax + 4]
cmp dword [rbp + 0x2a8], eax
jle 0x140105b03
mov rax, qword [rbp + 0x290]
mov qword [rax + 8], 0
mov rax, qword [rbp + 0x290]
mov dword [rax + 4], 0
mov rax, qword [rbp + 0x290]
mov rcx, qword [rbp + 0x290]
mov ecx, dword [rcx + 4]
mov dword [rax], ecx
mov rax, qword [rbp + 0x290]
jmp 0x140105e3f
mov rax, qword [rbp + 0x298]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x298]
add rax, 0x18
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0xb8]
movzx eax, word [rax]
add eax, dword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x298]
cmp eax, dword [rcx]
jg 0x140105c36
mov rax, qword [rbp + 0xb8]
movzx eax, word [rax]
lea rcx, [rbp + 0x134]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0x2a0]
mov r8d, eax
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0x298]
call fcn.140105e70
mov dword [rbp + 0x114], eax
mov rax, qword [rbp + 0x298]
cmp dword [rax + 0x10], 0
jne 0x140105bb0
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x114], eax
jge 0x140105bae
mov eax, dword [rbp + 0x114]
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xf8], rax
jmp 0x140105c0d
mov eax, dword [rbp + 0x2a8]
mov ecx, dword [rbp + 0x114]
add ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x298]
cmp eax, dword [rcx + 4]
jg 0x140105c0d
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x114], eax
jl 0x140105bed
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x114], eax
jne 0x140105c0d
mov eax, dword [rbp + 4]
cmp dword [rbp + 0x134], eax
jge 0x140105c0d
mov eax, dword [rbp + 0x114]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x134]
mov dword [rbp + 4], eax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0xb8]
add rax, 8
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0xb8]
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
jmp 0x140105b27
cmp qword [rbp + 0xf8], 0
jne 0x140105c4c
mov dword [rbp + 0x264], 0
jmp 0x140105c5f
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
movzx eax, word [rax]
mov dword [rbp + 0x264], eax
mov eax, dword [rbp + 0x264]
mov dword [rbp + 0x24], eax
mov rax, qword [rbp + 0x298]
cmp dword [rax + 0x10], 1
jne 0x140105e0d
mov rax, qword [rbp + 0x298]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xd8], rax
mov rax, qword [rbp + 0x298]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x298]
add rax, 0x18
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0xd8]
movzx eax, word [rax]
cmp eax, dword [rbp + 0x2a0]
jge 0x140105cd5
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
jmp 0x140105caf
cmp qword [rbp + 0xd8], 0
je 0x140105e0d
mov rax, qword [rbp + 0xd8]
movzx eax, word [rax]
sub eax, dword [rbp + 0x2a0]
mov dword [rbp + 0x154], eax
xor eax, eax
test eax, eax
jne 0x140105cf9
mov rax, qword [rbp + 0xb8]
mov rax, qword [rax + 8]
movzx eax, word [rax]
cmp eax, dword [rbp + 0x154]
jg 0x140105d3b
mov rax, qword [rbp + 0xb8]
add rax, 8
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0xb8]
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
jmp 0x140105cff
xor eax, eax
test eax, eax
jne 0x140105d3b
lea rax, [rbp + 0x194]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x2a0]
mov r8d, dword [rbp + 0x154]
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0x298]
call fcn.140105e70
mov dword [rbp + 0x174], eax
mov eax, dword [rbp + 0x2a8]
mov ecx, dword [rbp + 0x174]
add ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x298]
cmp eax, dword [rcx + 4]
jg 0x140105df6
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x174], eax
jg 0x140105df6
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x174], eax
jl 0x140105dc7
mov eax, dword [rbp + 4]
cmp dword [rbp + 0x194], eax
jl 0x140105dc7
mov eax, dword [rbp + 4]
cmp dword [rbp + 0x194], eax
jne 0x140105df6
mov eax, dword [rbp + 0x24]
cmp dword [rbp + 0x154], eax
jge 0x140105df6
mov eax, dword [rbp + 0x154]
mov dword [rbp + 0x24], eax
xor eax, eax
test eax, eax
jne 0x140105dd0
mov eax, dword [rbp + 0x174]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x194]
mov dword [rbp + 4], eax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
jmp 0x140105cd5
mov rax, qword [rbp + 0x290]
mov rcx, qword [rbp + 0xf8]
mov qword [rax + 8], rcx
mov rax, qword [rbp + 0x290]
mov ecx, dword [rbp + 0x24]
mov dword [rax], ecx
mov rax, qword [rbp + 0x290]
mov ecx, dword [rbp + 0x44]
mov dword [rax + 4], ecx
mov rax, qword [rbp + 0x290]
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, reloc.WS2_32.dll_closesocket
call fcn.1402c8bbc
mov rax, rdi
mov rcx, qword [rbp + 0x268]
xor rcx, rbp
call fcn.1402c8f50
lea rsp, [rbp + 0x278]
pop rdi
pop rbp
ret