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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.14000e8d0
sub rsp, rax
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x1490], rbx
mov qword [rsp + 0x1498], rsi
movaps xmmword [rsp + 0x1450], xmm6
movaps xmmword [rsp + 0x1440], xmm7
movaps xmmword [rsp + 0x1430], xmm8
movaps xmmword [rsp + 0x1420], xmm9
mov rdi, rcx
mov dword [rbp + 0x1388], 0
mov rax, qword [str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
mov qword [rsp + 0x20], rax
mov rax, qword [0x1400188d8]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1400188e0]
mov qword [rsp + 0x30], rax
mov rax, qword [0x1400188e8]
mov qword [rsp + 0x38], rax
mov rax, qword [0x1400188f0]
mov qword [rsp + 0x40], rax
mov rax, qword [0x1400188f8]
mov qword [rsp + 0x48], rax
mov rax, qword [0x140018900]
mov qword [rsp + 0x50], rax
mov eax, dword [0x140018908]
mov dword [rsp + 0x58], eax
movzx eax, word [0x14001890c]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x14001890e]
mov byte [rsp + 0x5e], al
mov qword [rcx + 0x18], 0xf
mov qword [rcx + 0x10], 0
mov byte [rcx], 0
mov ebx, 1
mov dword [rbp + 0x1388], ebx
mov rsi, qword [rcx + 0x10]
mov r12d, 8
cmp rsi, r12
ja 0x140001194
cmp qword [rcx + 0x18], r12
je 0x140001194
movzx r8d, bl
mov edx, r12d
call fcn.1400036c0
test al, al
je 0x140001194
mov qword [rdi + 0x10], rsi
cmp qword [rdi + 0x18], 0x10
jb 0x14000118d
mov rax, qword [rdi]
jmp 0x140001190
mov rax, rdi
mov byte [rax + rsi], 0
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], 0
mov byte [rsp + 0x60], 0
xor r8d, r8d
lea rdx, [0x14001890f]
lea rcx, [rsp + 0x60]
call fcn.140003970
nop
call fcn.140005848
nop
cmp qword [rsp + 0x78], 0x10
jb 0x1400011d8
mov rcx, qword [rsp + 0x60]
call fcn.140006630
call fcn.140005848
mov dword [rbp + 0x1314], 0xffffffff
mov dword [rbp - 0x6c], eax
mov rdx, rbx
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor eax, ecx
imul eax, eax, 0x6c078965
add eax, ebx
mov dword [rbp + rdx*4 - 0x6c], eax
inc ebx
inc rdx
cmp rdx, 0x270
jl 0x1400011f0
mov ebx, 0x270
mov dword [rbp - 0x70], ebx
movsd xmm6, qword [0x140019268]
xorpd xmm8, xmm8
subsd xmm6, xmm8
addsd xmm6, qword [0x140019270]
movsd xmm9, qword [0x140019390]
movapd xmm7, xmm9
subsd xmm7, xmm8
addsd xmm7, qword [0x140019270]
nop
cmp ebx, 0x270
jne 0x140001263
lea rcx, [rbp - 0x70]
call fcn.140005670
jmp 0x140001274
cmp ebx, 0x4e0
jb 0x140001277
lea rcx, [rbp - 0x70]
call fcn.140005590
mov ebx, dword [rbp - 0x70]
mov eax, ebx
mov ecx, dword [rbp + rax*4 - 0x6c]
inc ebx
mov dword [rbp - 0x70], ebx
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x1314]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm0, xmm6
mulsd xmm0, xmm7
addsd xmm0, xmm8
comisd xmm0, xmm9
mov eax, 0x3d
jae 0x1400012d4
cvttsd2si eax, xmm0
cdqe
movzx edx, byte [rsp + rax + 0x20]
mov rcx, rdi
call fcn.1400035d0
dec r12
jne 0x140001250
mov rax, rdi
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r12
pop rdi
pop rbp
ret