Function at 0x1800a4510
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x180
mov rbp, rcx
movzx eax, byte [section..data]
nop
test al, al
je 0x1800a46e9
mov r8, qword [rsp + 0x1c8]
movzx edx, r8b
movabs r13, 0xcbf29ce484222325
xor rdx, r13
movabs r12, 0x100000001b3
imul rdx, r12
mov rax, r8
sar rax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r12
mov rax, r8
sar rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r12
mov rax, r8
sar rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r12
mov rax, r8
sar rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r12
mov rax, r8
sar rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r12
mov rax, r8
sar rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r12
mov rax, r8
sar rax, 0x38
movzx ecx, al
xor rdx, rcx
imul rdx, r12
mov rcx, qword [rbp + 0x30]
and rcx, rdx
shl rcx, 4
add rcx, qword [rbp + 0x18]
mov rax, qword [rcx + 8]
cmp rax, qword [rbp + 8]
je 0x1800a4611
mov rcx, qword [rcx]
cmp r8, qword [rax + 0x10]
je 0x1800a4613
nop dword [rax]
cmp rax, rcx
je 0x1800a4611
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
jne 0x1800a4600
jmp 0x1800a4613
xor eax, eax
test rax, rax
je 0x1800a46fb
mov dword [rsp + 0x30], 0x56
mov dword [rsp + 0x34], 4
lea rax, str.C:_action_runner_workHorseMenuHorseMenu_srcgame_backendNativeHooks.cpp
mov qword [rsp + 0x38], rax
lea rax, str.void___cdecl_YimMenu::NativeHooks::RegisterProgramImpl_class_rage::scrProgram__
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x30]
mov edx, 3
lea rcx, [rsp + 0x50]
call fcn.180141a70
nop
lea rbx, [rax + 0x28]
lea rdx, str.Weve_already_registered
mov rcx, rbx
call fcn.18005a1b0
lea rdx, [0x1801ddc0c]
mov rcx, rbx
call fcn.18005a1b0
lea rdx, [0x180085020]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
lea rdx, [0x1800851e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rcx, qword [rsp + 0x1c8]
mov edx, dword [rcx + 0x58]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, [0x180084ff0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
lea rdx, [0x180085050]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rcx, rax
lea rdx, str.._This_is_bad_
call fcn.18005a1b0
nop
lea rcx, [rsp + 0x50]
call fcn.180140ce0
add rsp, 0x180
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x18
call fcn.180199d50
mov rdi, rax
mov qword [rsp + 0x1d0], rax
test rax, rax
je 0x1800a480f
mov rsi, qword [rsp + 0x1c8]
mov qword [rax], rsi
lea r14, [rax + 8]
mov qword [rsp + 0x1d8], r14
mov ecx, 0x38
call fcn.180199d50
mov rbx, rax
mov qword [rsp + 0x1d8], rax
test rax, rax
je 0x1800a47b0
lea rax, str.rage::scrProgram
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0x10
lea rax, vtable.YimMenu::VMTHook.0
mov qword [rbx], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rbx + 8], xmm0
mov byte [rbx + 0x18], 0
mov dword [rbx + 0x1c], 3
mov ecx, 0x18
call fcn.18019a418
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], 0
mov qword [rbx + 0x30], rsi
mov rdx, qword [rsi]
mov qword [rbx + 0x28], rdx
movsxd r8, dword [rbx + 0x1c]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1800a47b2
xor ebx, ebx
mov qword [r14], rbx
mov qword [rdi + 0x10], 0
mov rax, qword [r14]
mov rcx, qword [rax + 0x20]
lea rax, [0x1800a4a40]
mov qword [rcx], rax
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax]
mov ecx, dword [rsi + 0x2c]
mov eax, 8
mul rcx
mov rcx, 0xffffffffffffffff
cmovb rax, rcx
mov rcx, rax
call fcn.18019a418
mov qword [rdi + 0x10], rax
mov r8d, dword [rsi + 0x2c]
shl r8, 3
mov rdx, qword [rsi + 0x40]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
jmp 0x1800a4811
xor edi, edi
mov qword [rsp + 0x1d0], rdi
lea r9, [rsp + 0x1d0]
lea r8, [rsp + 0x1c8]
lea rdx, [rsp + 0x20]
mov rcx, rbp
call fcn.1800a3500
lea r8, [rsp + 0x1c8]
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.1800a2f90
mov r14, qword [rax]
mov r9, qword [rsp + 0x1c8]
movzx edx, byte [r9 + 0x58]
xor rdx, r13
imul rdx, r12
movzx eax, byte [r9 + 0x59]
xor rdx, rax
imul rdx, r12
movzx eax, byte [r9 + 0x5a]
xor rdx, rax
imul rdx, r12
movzx eax, byte [r9 + 0x5b]
xor rdx, rax
imul rdx, r12
and rdx, qword [rbp + 0x70]
shl rdx, 4
add rdx, qword [rbp + 0x58]
mov rax, qword [rdx + 8]
mov r8, qword [rbp + 0x48]
cmp rax, r8
je 0x1800a48c0
mov rdx, qword [rdx]
mov ecx, dword [r9 + 0x58]
cmp ecx, dword [rax + 0x10]
je 0x1800a48c2
nop dword [rax + rax]
cmp rax, rdx
je 0x1800a48c0
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x1800a48b0
jmp 0x1800a48c2
xor eax, eax
test rax, rax
cmove rax, r8
lea r12, [0x1802d97d0]
cmp rax, r8
je 0x1800a494a
mov rsi, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
cmp rbx, rsi
je 0x1800a494a
mov rdi, qword [r14 + 0x18]
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x20], xmm0
cmp byte [0x1802e76a0], 0
je 0x1800a4a2a
movd eax, xmm0
movsxd rcx, eax
mov r10, qword [r12 + rcx*8]
mov r9, qword [rdi]
xor ecx, ecx
mov r8d, dword [r9 + 0x2c]
test r8d, r8d
je 0x1800a4941
mov r9, qword [r9 + 0x40]
nop dword [rax + rax]
lea rdx, [r9 + rcx*8]
cmp qword [rdx], r10
je 0x1800a4932
inc ecx
cmp ecx, r8d
jb 0x1800a4920
jmp 0x1800a4941
test rdx, rdx
je 0x1800a4941
psrldq xmm0, 8
movq qword [rdx], xmm0
add rbx, 0x10
cmp rbx, rsi
jne 0x1800a48e2
mov rcx, qword [rbp + 0x70]
movabs rax, 0xe9eff18c7050d099
and rcx, rax
shl rcx, 4
add rcx, qword [rbp + 0x58]
mov rax, qword [rcx + 8]
cmp rax, qword [rbp + 0x48]
je 0x1800a4a1d
mov rcx, qword [rcx]
cmp dword [rax + 0x10], 0x1a89560
je 0x1800a4996
nop dword [rax]
cmp rax, rcx
je 0x1800a4a1d
mov rax, qword [rax + 8]
cmp dword [rax + 0x10], 0x1a89560
jne 0x1800a4980
mov rsi, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
cmp rbx, rsi
je 0x1800a46e9
nop word [rax + rax]
mov rdi, qword [r14 + 0x18]
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x20], xmm0
cmp byte [0x1802e76a0], 0
je 0x1800a4a11
movd eax, xmm0
movsxd rcx, eax
mov r10, qword [r12 + rcx*8]
mov r9, qword [rdi]
xor eax, eax
mov r8d, dword [r9 + 0x2c]
test r8d, r8d
je 0x1800a4a03
mov r9, qword [r9 + 0x40]
lea rdx, [r9 + rax*8]
cmp qword [rdx], r10
je 0x1800a49f4
inc eax
cmp eax, r8d
jb 0x1800a49e2
jmp 0x1800a4a03
test rdx, rdx
je 0x1800a4a03
psrldq xmm0, 8
movq qword [rdx], xmm0
add rbx, 0x10
cmp rbx, rsi
jne 0x1800a49b0
jmp 0x1800a46e9
call fcn.18013e530
movaps xmm0, xmmword [rsp + 0x20]
jmp 0x1800a49c5
lea rcx, str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_
int3
call fcn.18013e530
movaps xmm0, xmmword [rsp + 0x20]
jmp 0x1800a48fb