Function at 0x180012450
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rsi, rdx
mov rbp, rcx
mov rdx, qword [rcx + 0x60]
cmp dword [rdx + 8], 2
jne 0x180012697
mov rdx, qword [rdx]
mov rax, qword [rdx + 0x58]
mov rbx, qword [rax + 0x38]
mov edi, dword [rdx]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
lea r12, vtable.el::base::threading::internal::NoScopedLock_class_el::base::threading::internal::NoMutex_.0
mov qword [rsp + 0x20], r12
lea r8, [rbx + 0x58]
mov edx, edi
call fcn.180019120
nop
test al, al
je 0x18001260e
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x58]
mov rbx, qword [rax + 0x38]
mov edi, dword [rcx]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov qword [rsp + 0x20], r12
lea r8, [rbx + 0x1d8]
mov edx, edi
call fcn.180017a50
nop
mov r14, qword [rax]
test r14, r14
je 0x18001260e
lea rcx, [r14 + 0x10]
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1800124fb
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
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__::write_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [r14]
movsxd rcx, dword [rax + 4]
add rcx, r14
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
test al, al
jne 0x18001260e
mov rax, qword [0x1801c72b0]
test byte [rax + 0x28], 0x10
ja 0x1800125f9
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x58]
mov edi, dword [rcx]
movzx edx, dil
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r8, 0x100000001b3
imul rdx, r8
mov eax, edi
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov eax, edi
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov eax, edi
shr rax, 0x18
xor rdx, rax
imul rdx, r8
mov rcx, qword [rbx + 0x1e0]
and rcx, rdx
shl rcx, 4
add rcx, qword [rbx + 0x1c8]
mov rax, qword [rcx + 8]
mov r15, qword [rbx + 0x1b8]
cmp rax, r15
je 0x1800125c2
mov rcx, qword [rcx]
cmp edi, dword [rax + 0x10]
je 0x1800125c4
cmp rax, rcx
je 0x1800125c2
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x1800125b2
jmp 0x1800125c4
xor eax, eax
test rax, rax
cmovne r15, rax
inc dword [r15 + 0x14]
mov rbx, qword [rbx + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov qword [rsp + 0x20], r12
lea r8, [rbx + 0x258]
mov edx, edi
call fcn.180017b60
nop
mov ecx, dword [r15 + 0x14]
cmp rcx, rax
jb 0x18001260e
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x58]
mov r8, r14
mov edx, dword [rdx]
call fcn.18000c9c0
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x58]
mov rbx, qword [rax + 0x38]
mov edi, dword [rcx]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov qword [rsp + 0x20], r12
lea r8, [rbx + 0xd8]
mov edx, edi
call fcn.180019120
nop
test al, al
je 0x180012697
mov rax, qword [0x1801c72b0]
test byte [rax + 0x28], 0x40
jbe 0x18001266a
mov rax, qword [rbp + 0x60]
mov r8, qword [rax]
mov rcx, qword [r8 + 0x58]
mov r8d, dword [r8]
mov rdx, rsi
mov rcx, qword [rcx + 0x200]
call fcn.18000ba60
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0xf
jbe 0x180012678
mov rsi, qword [rsi]
mov rdx, rsi
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180018b70
lea rdx, [0x180017c60]
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::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret