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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x140065040]
xor rax, rsp
mov qword [rbp + 0x98], rax
mov r13, rcx
mov qword [rbp - 0x18], rcx
xor esi, esi
mov ebx, ntohl
mov rax, qword gs:[0x58]
add rbx, qword [rax]
lea rdi, [0x140066f60]
mov eax, dword [rbx]
cmp dword [0x140066f54], eax
jle 0x14001f7c7
lea rcx, [0x140066f54]
call fcn.14003144c
cmp dword [0x140066f54], 0xffffffff
jne 0x14001f7c7
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rdx, rax
mov dword [0x1400682e4], 0xffffffff
mov dword [0x140066f64], eax
lea r8d, [rsi + 1]
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, r8d
mov dword [rdi + r8*4 + 4], edx
inc r8
cmp r8, 0x270
jb 0x14001f790
mov dword [0x140066f60], 0x270
lea rcx, [0x140066f54]
call fcn.1400313e0
mov eax, dword [rbx]
cmp dword [0x1400682ec], eax
jle 0x14001f806
lea rcx, [0x1400682ec]
call fcn.14003144c
cmp dword [0x1400682ec], 0xffffffff
jne 0x14001f806
mov dword [0x1400682f8], 1
mov dword [0x1400682fc], 0xff
lea rcx, [0x1400682ec]
call fcn.1400313e0
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov ecx, reloc.WS2_32.dll_recv
call fcn.1400312bc
mov r12, rax
mov qword [rbp + 0x50], rax
lea r15, [rax + 0x10]
mov qword [rbp + 0x60], r15
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rbp + 0x58], r15
mov r14, rax
cmp rax, r15
je 0x14001f8fd
mov r8d, 0x80000000
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [0x1400682f8]
lea eax, [rcx - 0x80000000]
lea esi, [rcx + r8]
cmp ecx, r8d
cmovae esi, eax
mov ecx, dword [0x1400682fc]
lea eax, [rcx - 0x80000000]
lea edx, [rcx + r8]
cmp ecx, r8d
cmovae edx, eax
sub edx, esi
mov rcx, rdi
cmp edx, 0xffffffff
jne 0x14001f88f
call fcn.140026cb0
mov ecx, eax
jmp 0x14001f8d2
lea ebx, [rdx + 1]
call fcn.140026cb0
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x14001f8c7
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x14001f8c7
lea rcx, [0x140066f60]
call fcn.140026cb0
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x14001f8b1
shr rcx, 0x20
lea rdi, [0x140066f60]
lea edx, [rcx + rsi]
mov r8d, 0x80000000
lea eax, [rdx + r8]
lea ecx, [rdx - 0x80000000]
cmp edx, r8d
cmovae ecx, eax
mov dword [r14], ecx
add r14, 4
cmp r14, r15
jne 0x14001f850
xor esi, esi
mov r8d, dword [r12 + 0xc]
lea r9, [rbp + 0x7d]
test r8d, r8d
jns 0x14001f950
neg r8d
nop
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14001f910
dec r9
mov byte [r9], 0x2d
jmp 0x14001f97a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14001f950
lea r8, [rbp + 0x7d]
mov rdx, r9
lea rcx, [rbp + 0x30]
call fcn.140010ef0
nop
mov r8d, dword [r12 + 8]
lea r9, [rbp + 0x95]
test r8d, r8d
jns 0x14001f9e0
neg r8d
nop
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14001f9a0
dec r9
mov byte [r9], 0x2d
jmp 0x14001fa0a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14001f9e0
lea r8, [rbp + 0x95]
mov rdx, r9
lea rcx, [rbp + 0x10]
call fcn.140010ef0
nop
mov r8d, dword [r12 + 4]
lea r9, [rbp + 0x7d]
test r8d, r8d
jns 0x14001fa70
neg r8d
nop
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14001fa30
dec r9
mov byte [r9], 0x2d
jmp 0x14001fa9a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14001fa70
lea r8, [rbp + 0x7d]
mov rdx, r9
lea rcx, [rbp - 0x10]
call fcn.140010ef0
nop
mov r8d, dword [r12]
lea r9, [rbp + 0x95]
test r8d, r8d
jns 0x14001fb00
neg r8d
nop
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14001fac0
dec r9
mov byte [r9], 0x2d
jmp 0x14001fb2a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14001fb00
lea r8, [rbp + 0x95]
mov rdx, r9
lea rcx, [rsp + 0x68]
call fcn.140010ef0
nop
mov r8d, 1
lea rdx, [0x14005778c]
lea rcx, [rsp + 0x68]
call fcn.14000b990
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x28], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], select
mov byte [rax], 0
lea r9, [rbp - 0x10]
lea r8, [rbp - 0x38]
lea rcx, [rsp + 0x48]
call fcn.140025f90
nop
mov r8d, 1
lea rdx, [0x14005778c]
lea rcx, [rsp + 0x48]
call fcn.14000b990
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], select
mov byte [rax], 0
lea r9, [rbp + 0x10]
lea r8, [rbp - 0x58]
lea rcx, [rsp + 0x28]
call fcn.140025f90
nop
mov r8d, 1
lea rdx, [0x14005778c]
lea rcx, [rsp + 0x28]
call fcn.14000b990
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], select
mov byte [rax], 0
lea r9, [rbp + 0x30]
lea r8, [rbp - 0x78]
mov rcx, r13
call fcn.140025f90
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x14001fc54
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fc4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001fc4e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400312f8
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x14001fc94
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fc8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001fc8f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400312f8
movdqa xmm0, xmmword [0x1400587e0]
movdqu xmmword [rsp + 0x38], xmm0
mov byte [rsp + 0x28], 0
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x14001fce6
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fce0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001fce0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400312f8
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x14001fd26
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fd21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001fd21
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400312f8
movdqa xmm0, xmmword [0x1400587e0]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x14001fd78
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fd72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001fd72
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400312f8
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x14001fdb7
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fdb2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001fdb2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400312f8
movdqa xmm0, xmmword [0x1400587e0]
movdqu xmmword [rsp + 0x78], xmm0
mov byte [rsp + 0x68], 0
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x14001fe09
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fe03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001fe03
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400312f8
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x14001fe48
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fe42
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001fe42
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400312f8
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x14001fe87
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fe81
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001fe81
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400312f8
nop
sub r15, r12
and r15, 0xfffffffffffffffc
cmp r15, 0x1000
jb 0x14001feb1
add r15, 0x27
mov rcx, qword [r12 - 8]
sub r12, rcx
lea rax, [r12 - 8]
cmp rax, 0x1f
ja 0x14001feef
mov r12, rcx
mov rdx, r15
mov rcx, r12
call fcn.1400312f8
mov rax, r13
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.140031000
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3