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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x13f0]
mov eax, 0x14f0
call fcn.140044740
sub rsp, rax
mov rax, qword [0x14012aab8]
xor rax, rsp
mov qword [rbp + 0x13e0], rax
mov r15, rcx
mov qword [rbp + 0x30], rcx
call fcn.14004b768
mov dword [rbp + 0x13d4], 0xffffffff
mov dword [rbp + 0x54], eax
mov edx, 1
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x54], eax
inc rdx
cmp rdx, 0x270
jb 0x14001f2d0
mov dword [rbp + 0x50], 0x270
lea r8, [rbp + 0x50]
mov rdx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.14001f6e0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], rax
xor r12d, r12d
mov qword [rsp + 0x68], r12
lea rcx, vtable.std::_Func_impl_no_alloc_void____cdecl___void___void___.0
mov qword [rsp + 0x30], rcx
lea rax, [fcn.1400038b0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x58], r12
mov qword [rsp + 0x70], rcx
lea rax, [fcn.14001f0e0]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x70]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x50], rcx
lea rax, [fcn.14001f1b0]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x50]
mov qword [rbp - 0x18], rax
mov qword [rbp + 0x28], r12
mov qword [rbp - 0x10], rcx
lea rax, [fcn.1400038b0]
mov qword [rbp - 8], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x28], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x38]
call fcn.1400108b0
nop
lea r9, [0x140010580]
lea edx, [r12 + 0x40]
lea r8d, [r12 + 4]
lea rcx, [rsp + 0x30]
call fcn.140043a80
lea r8, [rbp + 0x50]
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x38]
call fcn.14001f6e0
mov rsi, qword [r15]
mov r14, qword [r15 + 8]
cmp rsi, r14
je 0x14001f4be
nop
call fcn.140031fa0
mov ebx, eax
and ebx, 0x80000001
jge 0x14001f406
dec ebx
or ebx, 0xfffffffe
inc ebx
inc ebx
mov edi, r12d
test ebx, ebx
jle 0x14001f445
nop
mov rcx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x38]
sub rcx, r8
sar rcx, 6
movsxd rax, edi
xor edx, edx
div rcx
shl rdx, 6
mov rcx, qword [rdx + r8 + 0x38]
test rcx, rcx
je 0x14001f4fd
mov rax, qword [rcx]
call qword [rax + 0x10]
inc edi
cmp edi, ebx
jl 0x14001f410
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x14001f4fd
mov rax, qword [rcx]
call qword [rax + 0x10]
call fcn.140031fa0
mov ebx, eax
and ebx, 0x80000001
jge 0x14001f46e
dec ebx
or ebx, 0xfffffffe
inc ebx
inc ebx
mov edi, r12d
test ebx, ebx
jle 0x14001f4b1
nop word [rax + rax]
mov rcx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x38]
sub rcx, r8
sar rcx, 6
movsxd rax, edi
xor edx, edx
div rcx
shl rdx, 6
mov rcx, qword [rdx + r8 + 0x38]
test rcx, rcx
je 0x14001f4fd
mov rax, qword [rcx]
call qword [rax + 0x10]
inc edi
cmp edi, ebx
jl 0x14001f480
add rsi, 0x40
cmp rsi, r14
jne 0x14001f3f0
lea rcx, [rbp + 0x38]
call fcn.140010c40
nop
mov rcx, r15
call fcn.140010c40
mov al, 1
mov rcx, qword [rbp + 0x13e0]
xor rcx, rsp
call fcn.1400439e0
lea r11, [rsp + 0x14f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.14004a3a0
nop
int3