Function at 0x1400038e0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Hash data using fnv

Disassembly:
push rdi
mov eax, 0x1400
call fcn.1401e11f0
sub rsp, rax
mov rax, qword [0x1405eeab8]
xor rax, rsp
mov qword [rsp + 0x13d0], rax
mov edi, ecx
test ecx, ecx
jne 0x14000390e
xor eax, eax
jmp 0x140003be4
mov qword [rsp + 0x1418], rbx
mov qword [rsp + 0x1420], rbp
mov qword [rsp + 0x13f8], r12
mov qword [rsp + 0x13e0], r15
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000394c
imul rax, rax, 0x64
jmp 0x14000396a
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov r12d, 1
mov dword [rsp + 0x13c4], 0xffffffff
mov edx, r12d
mov dword [rsp + 0x44], eax
mov rcx, rax
nop word [rax + rax]
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, edx
mov dword [rsp + rdx*4 + 0x44], ecx
inc rdx
cmp rdx, 0x270
jb 0x140003990
mov rcx, rdi
mov dword [rsp + 0x40], 0x270
mov rbp, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rax, rax
je 0x140003c19
mov ebx, dword [rsp + 0x38]
mov qword [rsp + 0x1428], rsi
mov qword [rsp + 0x13f0], r13
mov qword [rsp + 0x13e8], r14
xor r14d, r14d
lea r13d, [r14 + 0xa]
mov rdi, rbp
lea rcx, [rsp + 0x40]
sub rdi, r14
movabs rsi, 0x100000001b3
call fcn.1400136e0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 5
ja 0x140003a38
nop word [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.1400136e0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x140003a20
shr rax, 0x20
cmp rdi, 7
jb 0x140003a5a
cmp ax, 7
jb 0x140003a4c
xor ebx, ebx
jmp 0x140003ab9
mov ebx, 3
cmp ax, bx
cmovae ebx, r12d
jmp 0x140003ab9
cmp rdi, 3
jb 0x140003b70
cmp ax, 6
jb 0x140003a71
mov ebx, 2
jmp 0x140003ab9
cmp ax, 5
jne 0x140003a7e
mov ebx, 5
jmp 0x140003ab9
cmp ax, 4
jne 0x140003a8b
mov ebx, 6
jmp 0x140003ab9
cmp ax, 3
jne 0x140003a98
mov ebx, 7
jmp 0x140003ab9
cmp ax, 2
jne 0x140003aa5
mov ebx, 8
jmp 0x140003ab9
cmp ax, r12w
jne 0x140003ab2
mov ebx, 9
jmp 0x140003ab9
test ax, ax
cmove ebx, r13d
mov dword [rsp + 0x38], ebx
movabs rax, 0xcbf29ce484222325
movzx ecx, bl
xor rcx, rax
movzx eax, byte [rsp + 0x39]
imul rcx, rsi
xor rcx, rax
movzx eax, byte [rsp + 0x3a]
imul rcx, rsi
xor rcx, rax
movzx eax, byte [rsp + 0x3b]
imul rcx, rsi
xor rcx, rax
mov rax, qword [0x1405f30d8]
imul rcx, rsi
and rcx, qword [0x1405f30f0]
add rcx, rcx
mov rdi, qword [rax + rcx*8 + 8]
cmp rdi, qword [0x1405f30c8]
je 0x140003b62
mov rax, qword [rax + rcx*8]
cmp ebx, dword [rdi + 0x10]
je 0x140003b2e
nop dword [rax]
cmp rdi, rax
je 0x140003b62
mov rdi, qword [rdi + 8]
cmp ebx, dword [rdi + 0x10]
jne 0x140003b20
movsx rdi, byte [rdi + 0x14]
mov ecx, ebx
call fcn.140003170
lea rcx, [r14 + r15]
mov r8, rdi
mov rdx, rax
mov rsi, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add r14, rdi
cmp r14, rbp
jae 0x140003ba9
jmp 0x1400039f2
lea rcx, [0x14043ec48]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x140003bfd
mov r8, rdi
mov edx, 0x90
mov rcx, rax
call fcn.1401e1636
lea rcx, [r14 + r15]
mov r8, rdi
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r14, qword [rsp + 0x13e8]
mov rax, r15
mov r15, qword [rsp + 0x13e0]
mov r13, qword [rsp + 0x13f0]
mov rsi, qword [rsp + 0x1428]
mov r12, qword [rsp + 0x13f8]
mov rbp, qword [rsp + 0x1420]
mov rbx, qword [rsp + 0x1418]
mov rcx, qword [rsp + 0x13d0]
xor rcx, rsp
call fcn.1401e0580
add rsp, 0x1400
pop rdi
ret
lea rcx, [rsp + 0x20]
call fcn.140001570
lea rdx, [0x14045ed10]
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rsp + 0x20]
call fcn.140001570
lea rdx, [0x14045ed10]
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
int3