Function at 0x14001ad00
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x150
mov rax, qword [0x140036010]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov r14, rcx
mov rbx, qword [rcx + 8]
mov rdx, rbx
add rcx, 0x30
call fcn.140017090
mov rbp, qword [rbx + 0x50]
mov rbx, qword [rbx + 0x48]
xor edi, edi
cmp rbx, rbp
je 0x14001ae33
movabs r12, 0xcbf29ce484222325
movabs r15, 0x100000001b3
nop word [rax + rax]
mov r10, qword [rbx]
movzx edx, byte [r10]
xor rdx, r12
imul rdx, r15
movzx eax, byte [r10 + 1]
xor rdx, rax
imul rdx, r15
movzx eax, byte [r10 + 2]
xor rdx, rax
imul rdx, r15
movzx eax, byte [r10 + 3]
xor rdx, rax
imul rdx, r15
movzx eax, byte [r10 + 4]
xor rdx, rax
imul rdx, r15
movzx eax, byte [r10 + 5]
xor rdx, rax
imul rdx, r15
movzx eax, byte [r10 + 6]
xor rdx, rax
imul rdx, r15
movzx eax, byte [r10 + 7]
xor rdx, rax
imul rdx, r15
and rdx, qword [r14 + 0x60]
shl rdx, 4
add rdx, qword [r14 + 0x48]
mov rax, qword [rdx + 8]
mov r8, qword [r14 + 0x38]
cmp rax, r8
je 0x14001ae08
mov rdx, qword [rdx]
mov rcx, qword [r10]
cmp rcx, qword [rax + 0x10]
je 0x14001ae0b
cmp rax, rdx
je 0x14001ae08
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x14001adf7
jmp 0x14001ae0b
mov rax, rdi
test rax, rax
cmove rax, r8
mov r9d, dword [rax + 0x1c]
mov r8d, dword [rax + 0x18]
mov rdx, r10
lea rcx, [r14 + 0x30]
call fcn.140017310
add rbx, 8
cmp rbx, rbp
jne 0x14001ad70
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
lea rdx, [r14 + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x14001ae53
mov rdx, qword [rdx]
lea rcx, [rsp + 0x30]
call fcn.14001f710
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x30], rbx
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2c], edx
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
test byte [rsp + rax + 0x40], 6
jne 0x14001aed9
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.14001b140
lea rcx, [rsp + 0x38]
call fcn.14001d460
test rax, rax
jne 0x14001aecf
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x30]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov edi, 1
mov rcx, qword [rsp + 0x30]
movsxd rcx, dword [rcx + 4]
mov qword [rsp + rcx + 0x30], rbx
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0xa8]
mov dword [rsp + rdx + 0x2c], r8d
lea rcx, [rsp + 0x38]
call fcn.14001be70
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0xd8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov eax, edi
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140026a70
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret