Function at 0x140003950
Capabilities:
Generate random numbers using a mersenne twister
Set console window title

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1408
call fcn.1400adb80
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1380], 0xfffffffffffffffe
call fcn.1400ae838
mov dword [rbp + 0x132c], 0xffffffff
mov dword [rbp - 0x54], eax
mov ecx, 3
nop word cs:[rax + rax]
nop dword [rax]
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add rax, rcx
add rax, 0xfffffffffffffffe
mov dword [rbp + rcx*4 - 0x5c], eax
cmp rcx, 0x271
je 0x1400039dd
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, ecx
add eax, 0xffffffff
mov dword [rbp + rcx*4 - 0x58], eax
add rcx, 2
jmp 0x1400039a0
mov dword [rbp - 0x58], 0x270
movabs rax, 0x3300000000
mov qword [rbp + 0x1358], rax
mov qword [rbp + 0x1360], 0
movaps xmm0, xmmword [section..rdata]
movups xmmword [rbp + 0x1370], xmm0
mov byte [rbp + 0x1360], 0
xor r15d, r15d
jmp 0x140003a2a
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
add r15d, 1
cmp r15d, 0xf
jae 0x140003bd1
mov r8d, dword [rbp + 0x1358]
mov r9d, dword [rbp + 0x135c]
lea rcx, [rbp + 0x1358]
lea rdx, [rbp - 0x58]
call fcn.140005340
mov esi, eax
mov rbx, qword [rbp + 0x1370]
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
je 0x140003c27
mov r12, qword [rbp + 0x1360]
mov rax, qword [rbp + 0x1378]
mov qword [rbp + 0x1350], rax
mov qword [rbp + 0x1330], 0
lea r14, [rbx + 1]
mov r13d, send
lea rdi, [rbp + 0x1330]
cmp r14, 0x10
jb 0x140003b09
mov rax, r14
or rax, 0xf
movabs rcx, 0x8000000000000000
movabs r13, 0x7fffffffffffffff
js 0x140003ae0
cmp rax, 0x17
mov r13d, reloc.WS2_32.dll_shutdown
cmovae r13, rax
lea rcx, [r13 + 1]
cmp r13, 0xfff
jb 0x140003afa
mov r13, rax
add rcx, 0x27
call fcn.1400ad850
mov rdi, rax
add rdi, 0x27
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140003b02
call fcn.1400ad850
mov rdi, rax
mov qword [rbp + 0x1330], rdi
movsxd rax, esi
lea rcx, [0x140208190]
movzx esi, byte [rax + rcx]
cmp qword [rbp + 0x1350], 0x10
lea rax, [rbp + 0x1360]
cmovb r12, rax
mov qword [rbp + 0x1340], r14
mov qword [rbp + 0x1348], r13
mov rcx, rdi
mov rdx, r12
mov r8, rbx
call fcn.1401d4a60
mov byte [rdi + rbx], sil
mov byte [rdi + rbx + 1], 0
mov rax, qword [rbp + 0x1378]
cmp rax, 0x10
jb 0x140003b94
mov rcx, qword [rbp + 0x1360]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140003b8f
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x140003c2c
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400ad894
movups xmm0, xmmword [rbp + 0x1330]
movups xmm1, xmmword [rbp + 0x1340]
movaps xmmword [rbp + 0x1370], xmm1
movaps xmmword [rbp + 0x1360], xmm0
cmp qword [rbp + 0x1378], 0x10
lea rcx, [rbp + 0x1360]
jb 0x140003a20
mov rcx, qword [rbp + 0x1360]
jmp 0x140003a20
mov rax, qword [rbp + 0x1378]
cmp rax, 0x10
jb 0x140003c12
mov rcx, qword [rbp + 0x1360]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140003c0d
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x140003c2c
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1400ad894
nop
add rsp, 0x1408
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1400035c0
call fcn.1401e54b4
int3