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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1370]
mov eax, 0x1470
call fcn.14006bbc0
sub rsp, rax
mov rax, qword [0x1400900c0]
xor rax, rsp
mov qword [rbp + 0x1368], rax
mov rbx, rdx
mov r12, rcx
mov qword [rbp + 0x1350], rcx
xor r13d, r13d
call fcn.140011960
mov r8d, eax
mov dword [rbp + 0x1344], 0xffffffff
mov dword [rbp - 0x3c], eax
mov ecx, 1
mov eax, r8d
shr eax, 0x1e
xor eax, r8d
imul r8d, eax, 0x6c078965
add r8d, ecx
mov dword [rbp + rcx*4 - 0x3c], r8d
inc rcx
cmp rcx, 0x270
jb 0x1400030e0
mov dword [rbp - 0x40], 0x270
lea rcx, [rbp - 0x40]
call fcn.14000fdf0
mov ecx, eax
lea r8, [rcx + rcx*4]
add r8, r8
cmp r8d, 5
ja 0x14000313b
lea rcx, [rbp - 0x40]
call fcn.14000fdf0
mov ecx, eax
lea r8, [rcx + rcx*4]
add r8, r8
cmp r8d, 6
jb 0x140003123
shr r8, 0x20
add r8d, 0x80000001
btc r8d, 0x1f
lea r9, [rbp + 0x1365]
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 0x140003152
lea r8, [rbp + 0x1365]
mov rdx, r9
lea rcx, [rbp - 0x78]
call fcn.14000ef90
nop
mov r14, qword [rbx + 0x18]
movabs rax, 0x7fffffffffffffff
sub rax, r14
cmp rax, 1
jb 0x1400033be
lea rdi, [rbx + 8]
cmp qword [rbx + 0x20], 0xf
jbe 0x1400031b9
mov rdi, qword [rdi]
mov qword [rsp + 0x30], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
lea r15, [r14 + 1]
mov ebx, select
lea rsi, [rsp + 0x38]
lea rax, [rbp - 0x50]
mov qword [rbp + 0x1358], rax
mov ecx, select
call fcn.140012f80
mov qword [rbp + 0x1350], rax
lea rcx, [rsp + 0x30]
mov qword [rax], rcx
mov qword [rax + 8], r13
mov qword [rsp + 0x30], rax
cmp r15, rbx
jbe 0x140003247
mov rbx, r15
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x14000322a
mov rbx, rax
jmp 0x140003236
mov eax, socket
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.14000d8c0
mov rsi, rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], rbx
mov r8, r14
mov rdx, rdi
mov rcx, rsi
call fcn.14006c670
mov byte [rsi + r14], 0x2d
mov byte [rsi + r15], 0
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.14000e9a0
nop
mov r8d, 4
lea rdx, str..txt
lea rcx, [rsp + 0x60]
call fcn.14000acb0
mov rdx, rax
mov rcx, r12
call fcn.140008c40
nop
lea rcx, [rsp + 0x60]
call fcn.14000aa30
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x60], r13
mov edx, select
call fcn.14000d680
nop
lea rcx, [rsp + 0x30]
call fcn.140001d00
mov rbx, qword [rsp + 0x50]
cmp rbx, 0xf
jbe 0x14000334e
mov rdi, qword [rsp + 0x38]
inc rbx
test rdi, rdi
jne 0x140003343
test rbx, rbx
je 0x140003343
lea rax, str.null_pointer_cannot_point_to_a_block_of_non_zero_size
mov qword [rsp + 0x28], rax
lea rax, [0x140087dac]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x3b4
lea rdx, [0x140087db0]
mov ecx, 2
call fcn.14001e270
cmp eax, 1
jne 0x14000331e
int3
mov qword [rsp + 0x20], r13
mov r9d, 0x3b4
lea r8, str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
lea rdx, [0x140087ee4]
lea rcx, str._null_pointer_cannot_point_to_a_block_of_non_zero_size_
call fcn.14001f200
mov rdx, rbx
mov rcx, rdi
call fcn.14000d680
movdqa xmm0, xmmword [0x140089360]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x30], r13
mov edx, select
call fcn.14000d680
nop
lea rcx, [rbp - 0x78]
call fcn.14000aa30
mov rcx, qword [rbp - 0x78]
mov qword [rbp - 0x78], r13
mov edx, select
call fcn.14000d680
mov rax, r12
mov rcx, qword [rbp + 0x1368]
xor rcx, rsp
call fcn.140012f40
mov rbx, qword [rsp + 0x14c0]
add rsp, 0x1470
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001df0
nop
int3