Function at 0x180012a50
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 0x180012c97
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.1800196e0
nop
test al, al
je 0x180012c0e
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.180017ff0
nop
mov r14, qword [rax]
test r14, r14
je 0x180012c0e
lea rcx, [r14 + 0x10]
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x180012afb
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 0x180012c0e
mov rax, qword [0x1801c8ac8]
test byte [rax + 0x28], 0x10
ja 0x180012bf9
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x58]
mov edi, dword [rcx]
mov eax, edi
shr eax, 8
movzx edx, al
movzx eax, dil
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r8, 0x100000001b3
imul rax, r8
xor rdx, rax
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 0x180012bc2
mov rcx, qword [rcx]
cmp edi, dword [rax + 0x10]
je 0x180012bc4
cmp rax, rcx
je 0x180012bc2
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x180012bb2
jmp 0x180012bc4
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.180018100
nop
mov ecx, dword [r15 + 0x14]
cmp rcx, rax
jb 0x180012c0e
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x58]
mov r8, r14
mov edx, dword [rdx]
call fcn.18000cf30
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.1800196e0
nop
test al, al
je 0x180012c97
mov rax, qword [0x1801c8ac8]
test byte [rax + 0x28], 0x40
jbe 0x180012c6a
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.18000bf10
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0xf
jbe 0x180012c78
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.180019120
lea rdx, [0x180018200]
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