Function at 0x1800e1570
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x170
mov rdi, rdx
mov rsi, rcx
movzx r9d, dl
movabs r14, 0xcbf29ce484222325
xor r9, r14
movabs rbp, 0x100000001b3
imul r9, rbp
mov rax, rdx
sar rax, 8
movzx r8d, al
xor r9, r8
imul r9, rbp
mov rax, rdx
sar rax, 0x10
movzx ecx, al
xor r9, rcx
imul r9, rbp
mov rax, rdx
sar rax, 0x18
movzx ecx, al
xor r9, rcx
imul r9, rbp
mov rax, rdx
sar rax, 0x20
movzx ecx, al
xor r9, rcx
imul r9, rbp
mov rax, rdx
sar rax, 0x28
movzx ecx, al
xor r9, rcx
imul r9, rbp
mov rax, rdx
sar rax, 0x30
movzx ecx, al
xor r9, rcx
imul r9, rbp
mov rax, rdx
sar rax, 0x38
movzx ecx, al
xor r9, rcx
imul r9, rbp
mov rcx, qword [rsi + 0x30]
and rcx, r9
add rcx, rcx
mov rax, qword [rsi + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
mov rdx, qword [rsi + 8]
cmp rbx, rdx
je 0x1800e1661
mov rax, qword [rax + rcx*8]
cmp rdi, qword [rbx + 0x10]
je 0x1800e1663
cmp rbx, rax
je 0x1800e1661
mov rbx, qword [rbx + 8]
cmp rdi, qword [rbx + 0x10]
jne 0x1800e1650
jmp 0x1800e1663
xor ebx, ebx
test rbx, rbx
je 0x1800e1769
cmp rbx, rdx
je 0x1800e1769
mov rdi, qword [rbx + 0x18]
mov rcx, qword [rdi]
mov r8d, dword [rcx + 0x2c]
shl r8, 3
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rcx + 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0x10]
call fcn.1801a0f9c
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
call qword [rax + 8]
movzx edx, byte [rbx + 0x10]
xor rdx, r14
imul rdx, rbp
movzx eax, byte [rbx + 0x11]
xor rdx, rax
imul rdx, rbp
movzx eax, byte [rbx + 0x12]
xor rdx, rax
imul rdx, rbp
movzx eax, byte [rbx + 0x13]
xor rdx, rax
imul rdx, rbp
movzx eax, byte [rbx + 0x14]
xor rdx, rax
imul rdx, rbp
movzx eax, byte [rbx + 0x15]
xor rdx, rax
imul rdx, rbp
movzx eax, byte [rbx + 0x16]
xor rdx, rax
imul rdx, rbp
movzx eax, byte [rbx + 0x17]
xor rdx, rax
imul rdx, rbp
and rdx, qword [rsi + 0x30]
shl rdx, 4
add rdx, qword [rsi + 0x18]
mov rax, qword [rdx]
cmp qword [rdx + 8], rbx
jne 0x1800e172d
cmp rax, rbx
jne 0x1800e1723
mov rax, qword [rsi + 8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x1800e1738
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
jmp 0x1800e1738
cmp rax, rbx
jne 0x1800e1738
mov rax, qword [rbx]
mov qword [rdx], rax
mov rcx, qword [rbx]
dec qword [rsi + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
lea rcx, [rbx + 0x18]
call fcn.1800e0c00
mov edx, 0x20
mov rcx, rbx
call fcn.1801a0f9c
jmp 0x1800e182e
mov dword [rsp + 0x20], 0x76
mov dword [rsp + 0x24], 4
lea rax, str.C:_action_runner_workHorseMenuPrivHorseMenuPriv_srcgame_backendNativeHooks.cpp
mov qword [rsp + 0x28], rax
lea rax, str.void___cdecl_YimMenu::NativeHooks::UnregisterProgramImpl_class_rage::scrProgram__
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x20]
mov edx, 3
lea rcx, [rsp + 0x40]
call fcn.18015bb20
nop
lea rbx, [rax + 0x28]
lea rdx, str.Cannot_find_program
mov rcx, rbx
call fcn.180098c60
lea rdx, [0x180212bf4]
mov rcx, rbx
call fcn.180098c60
lea rdx, [0x1800bf450]
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, [0x1800bf4a0]
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 edx, dword [rdi + 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, [0x1800bf420]
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, [0x1800bf480]
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._in_registry._This_is_bad_
call fcn.180098c60
nop
lea rcx, [rsp + 0x40]
call fcn.18015b110
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret