Function at 0x14016def0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1390]
mov eax, 0x1490
call fcn.1402807a0
sub rsp, rax
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rbp + 0x1380], rax
mov r13, r8
mov qword [rsp + 0x20], r8
mov r14, rdx
mov rsi, rcx
mov qword [rsp + 0x40], rcx
xor eax, eax
mov dword [rsp + 0x58], eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
mov edi, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x38], rdi
mov qword [rbp - 0x48], rdi
mov byte [rbp - 0x60], al
mov word [rbp - 0x40], ax
mov qword [rsp + 0x40], rax
mov rbx, rdx
mov r12, qword [rdx + 0x18]
cmp r12, 0x10
jb 0x14016df74
mov rbx, qword [rdx]
mov r15, qword [rdx + 0x10]
test r15, r15
je 0x14016df97
mov r8, r15
mov edx, 0x3a
mov rcx, rbx
call fcn.140283500
test rax, rax
je 0x14016df97
sub rax, rbx
jmp 0x14016df9e
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x48], rax
mov edx, reloc.WS2_32.dll_shutdown
lea ebx, [rdx - 0x15]
cmp rax, 0xffffffffffffffff
je 0x14016e35e
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xor ecx, ecx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rcx
mov rdi, rax
cmp r15, rax
cmovb rdi, r15
mov rax, r14
mov qword [rsp + 0x28], rax
cmp r12, 0x10
jb 0x14016dfe9
mov rax, qword [r14]
mov qword [rsp + 0x28], rax
movabs r15, 0x7fffffffffffffff
cmp rdi, r15
ja 0x14016e45a
cmp rdi, 0x10
jae 0x14016e03b
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140282ac0
mov byte [rsp + rdi + 0x60], 0
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x60]
mov qword [rsp + 0x50], r12
jmp 0x14016e08d
mov r13, rdi
or r13, 0xf
cmp r13, r15
jbe 0x14016e04c
mov r13, r15
jmp 0x14016e053
cmp r13, rdx
cmovb r13, rdx
lea rdx, [r13 + 1]
lea rcx, [rsp + 0x60]
call fcn.1400626a0
mov r12, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], r13
mov r8, rdi
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call fcn.140282ac0
mov byte [r12 + rdi], 0
lea rcx, [rsp + 0x60]
cmp r13, 0x10
cmovae rcx, r12
test rdi, rdi
jne 0x14016e0f7
mov r8, rdi
lea rdx, [0x1402c36e2]
call fcn.1402829c0
test eax, eax
jne 0x14016e0f7
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], 9
mov qword [rbp - 0x20], reloc.WS2_32.dll_ntohs
movsd xmm0, qword [str.127.0.0.1]
movsd qword [rbp - 0x38], xmm0
movzx eax, byte [0x1402c7600]
mov byte [rbp - 0x30], al
mov byte [rbp - 0x2f], dil
lea rax, [rbp - 0x38]
mov edi, ebx
mov r15, qword [rbp - 0x68]
mov r12, qword [rbp - 0x80]
jmp 0x14016e18d
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
lea rax, [rsp + 0x60]
cmp r13, 0x10
cmovae rax, r12
mov qword [rsp + 0x28], rax
cmp rdi, r15
ja 0x14016e460
cmp rdi, 0x10
jae 0x14016e13b
mov qword [rbp - 0x70], rdi
mov r15d, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x68], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movq r12, xmm0
jmp 0x14016e184
mov rax, rdi
or rax, 0xf
cmp rax, r15
ja 0x14016e157
mov r15, rax
cmp rax, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb r15, rax
lea rdx, [r15 + 1]
lea rcx, [rbp - 0x80]
call fcn.1400626a0
mov r12, rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], r15
lea r8, [rdi + 1]
mov rdx, qword [rsp + 0x28]
mov rcx, rax
call fcn.140282ac0
lea rax, [rbp - 0x80]
mov edi, 2
lea rcx, [rbp - 0x60]
cmp rcx, rax
je 0x14016e1d6
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x28], xmm1
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq qword [rsp + 0x38], xmm0
mov r15, qword [rbp - 0x68]
mov r12, qword [rbp - 0x80]
jmp 0x14016e1df
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rsp + 0x28], xmm0
test dil, 2
je 0x14016e221
and edi, 0xfffffffd
cmp r15, 0x10
jb 0x14016e221
lea rdx, [r15 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x14016e218
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14016e466
mov rcx, r12
call fcn.140280300
nop
test dil, 1
je 0x14016e262
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x14016e262
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016e25d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14016e46c
call fcn.140280300
cmp qword [r14 + 0x18], 0x10
jb 0x14016e26c
mov r14, qword [r14]
mov rax, qword [rsp + 0x48]
inc rax
add r14, rax
cmp r13, 0x10
jb 0x14016e2b0
lea rdx, [r13 + 1]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016e2ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14016e472
call fcn.140280300
xor r15d, r15d
mov r13, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x38]
mov r8d, 0xa
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.140291340
mov rcx, qword [rsp + 0x40]
cmp r14, rcx
je 0x14016e380
cmp eax, 0xffff
ja 0x14016e380
cmp byte [rcx], 0
je 0x14016e413
call fcn.1400636f0
mov dword [r13], reloc.WS2_32.dll_shutdown
mov qword [r13 + 8], rax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rsi], 0
mov word [rsi + 0x20], r15w
cmp rdi, 0x10
jb 0x14016e427
lea rdx, [rdi + 1]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016e354
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14016e454
call fcn.140280300
jmp 0x14016e427
xor r15d, r15d
mov qword [rbp - 0x50], r15
mov byte [rbp - 0x60], r15b
cmp r12, 0x10
jb 0x14016e372
mov r14, qword [r14]
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rsp + 0x28], xmm0
jmp 0x14016e2bd
call fcn.14025b890
mov dword [rbp + 0x1374], 0xffffffff
mov dword [rbp - 0xc], eax
nop dword [rax]
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, ebx
mov dword [rbp + rbx*4 - 0xc], eax
inc rbx
cmp rbx, 0x270
jb 0x14016e3a0
mov dword [rbp - 0x10], 0x270
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x20]
call fcn.14016e4f0
mov ecx, eax
imul rax, rcx, 0xfc00
cmp eax, 0x3fff
ja 0x14016e40a
nop dword [rax]
lea rcx, [rsp + 0x20]
call fcn.14016e4f0
mov ecx, eax
imul rax, rcx, 0xfc00
cmp eax, 0x4000
jb 0x14016e3f0
shr rax, 0x20
add eax, 0x400
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rsp + 0x28]
movups xmmword [rsi + 0x10], xmm1
mov word [rsi + 0x20], ax
mov rax, rsi
mov rcx, qword [rbp + 0x1380]
xor rcx, rsp
call fcn.1402806f0
mov rbx, qword [rsp + 0x14e8]
add rsp, 0x1490
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1402874fc
nop
call fcn.1400623a0
nop
call fcn.1400623a0
nop
call fcn.1402874fc
nop
call fcn.1402874fc
nop
call fcn.1402874fc
int3