Function at 0x18004ae70
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0x70
xorps xmm0, xmm0
movups xmmword [rax - 0x28], xmm0
mov qword [rax - 0x18], 0xd
mov qword [rax - 0x10], 0xf
movsd xmm0, qword [str.RobotoMedium3]
movsd qword [rax - 0x28], xmm0
mov eax, dword [0x1800a4218]
mov dword [rsp + 0x58], eax
movzx eax, byte [0x1800a421c]
mov byte [rsp + 0x5c], al
mov byte [rsp + 0x5d], 0
xor edi, edi
movabs r9, 0xcbf29ce484222325
mov ecx, edi
movabs rdx, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x50]
xor r9, rax
imul r9, rdx
inc rcx
cmp rcx, 0xd
jb 0x18004aee0
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
call fcn.180047990
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x18004b186
mov rcx, qword [rcx + 0x30]
call fcn.180013260
nop
mov rsi, qword [0x1800de6e8]
mov ebp, 0x1e
cmp byte [0x1800de707], 0
cmovne edi, ebp
cmp byte [0x1800de704], 0
je 0x18004af3d
add edi, ebp
cmp byte [0x1800de706], 0
je 0x18004b09a
lea ebx, [rdi + 0xc0]
movups xmm0, xmmword [0x1800a13a0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, qword [0x1800de6e0]
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3eb0]
movss xmm3, dword [rax + 0x18]
subss xmm3, dword [rax + 0x64]
addss xmm3, dword [0x1800a5a44]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
addss xmm2, xmm0
movss dword [rax + 0xe0], xmm3
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm3
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
lea rdx, str.Main
lea rcx, [rsp + 0x40]
call fcn.18002f700
lea eax, [rbx + 0x15]
mov dword [rsp + 0x80], eax
lea r8, [rsi + 0x54]
mov dword [rsp + 0x20], ebp
lea rdx, str.Walk
lea rcx, [rsp + 0x80]
call fcn.18004cd20
lea r8, [rsi + 0x55]
mov dword [rsp + 0x20], ebp
lea rdx, str.Break
lea rcx, [rsp + 0x80]
call fcn.18004cd20
lea r8, [rsi + 0x56]
mov dword [rsp + 0x20], ebp
lea rdx, str.Right_click
lea rcx, [rsp + 0x80]
call fcn.18004cd20
lea r8, [rsi + 0x57]
mov dword [rsp + 0x20], ebp
lea rdx, str.No_inputs
lea rcx, [rsp + 0x80]
call fcn.18004cd20
lea rax, [rsi + 0x5c]
lea r9, [rsi + 0x58]
movss xmm0, dword [0x1800a5aa4]
movss dword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movss dword [rsp + 0x28], xmm1
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
call fcn.18004d530
add edi, 0xa0
cmp byte [0x1800de70e], 0
je 0x18004b16c
lea ebx, [rdi + 0x102]
movups xmm0, xmmword [0x1800a13a0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, qword [0x1800de6e0]
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3eb0]
movss xmm3, dword [rax + 0x18]
subss xmm3, dword [rax + 0x64]
addss xmm3, dword [0x1800a5a44]
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
addss xmm2, xmm0
movss dword [rax + 0xe0], xmm3
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm3
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
lea rdx, str.Main
lea rcx, [rsp + 0x40]
call fcn.18002f700
lea eax, [rbx + 0x15]
mov dword [rsp + 0x80], eax
lea r8, [rsi + 0x60]
mov dword [rsp + 0x20], ebp
lea rdx, str.Position
lea rcx, [rsp + 0x80]
call fcn.18004cd20
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
jmp fcn.180013300
lea rcx, str.invalid_unordered_map_K__T__key
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3