Function at 0x18013dac0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov rax, qword [0x1801c6b80]
xor rax, rsp
mov qword [rbp + 0xf8], rax
mov qword [rbp - 0x50], rdx
mov r8, rcx
mov qword [rbp - 0x68], rcx
xor eax, eax
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x64], eax
cmp dword [rdx + 0x34], eax
jle 0x18013e2b8
movabs r10, 0xcbf29ce484222325
movabs r9, 0x100000001b3
movzx ebx, byte [rsp + 0x60]
nop dword [rax + rax]
cdqe
imul rsi, rax, 0x88
add rsi, qword [rdx + 0x58]
mov qword [rbp - 0x60], rsi
mov rax, rsi
shr rax, 8
movzx edx, al
movzx eax, sil
xor rax, r10
imul rax, r9
xor rdx, rax
imul rdx, r9
mov rax, rsi
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov rax, rsi
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov rax, rsi
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov rax, rsi
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov rax, rsi
shr rax, 0x30
movzx ecx, al
xor rcx, rdx
imul rcx, r9
mov rax, rsi
shr rax, 0x38
xor rcx, rax
imul rcx, r9
and rcx, qword [r8 + 0xa8]
shl rcx, 4
add rcx, qword [r8 + 0x90]
mov rax, qword [rcx + 8]
mov rdx, qword [r8 + 0x80]
cmp rax, rdx
je 0x18013dc01
mov rcx, qword [rcx]
cmp rsi, qword [rax + 0x10]
je 0x18013dc03
nop dword [rax + rax]
cmp rax, rcx
je 0x18013dc01
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x18013dbf0
jmp 0x18013dc03
xor eax, eax
mov rcx, rdx
test rax, rax
cmovne rcx, rax
lea rax, [rcx + 0x18]
xor r8d, r8d
cmp rcx, rdx
cmovne r8, rax
mov qword [rbp - 0x58], r8
test r8, r8
je 0x18013e28e
mov r15d, 3
cmp dword [r8], r15d
cmovl r15d, dword [r8]
test r15d, r15d
jle 0x18013e28e
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
xor r12d, r12d
mov qword [rsp + 0x40], r12
xor edx, edx
mov dword [rsp + 0x48], edx
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
cmp dword [rsi + 4], edx
jle 0x18013dced
xor edi, edi
nop word [rax + rax]
mov rax, qword [rsi + 0x28]
mov ecx, dword [rax + rdi + 4]
lea eax, [rcx - 1]
cmp eax, 0x1ffffffe
ja 0x18013dcde
cmp r13, r14
je 0x18013dc96
cmp ecx, dword [r14 - 4]
jne 0x18013dc96
lea eax, [rcx + 1]
mov dword [r14 - 4], eax
jmp 0x18013dcde
mov dword [rsp + 0x68], ecx
lea eax, [rcx + 1]
mov dword [rsp + 0x6c], eax
cmp r14, r12
je 0x18013dcb9
mov rax, qword [rsp + 0x68]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x18013dcde
lea r8, [rsp + 0x68]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.180113c60
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
mov edx, dword [rsp + 0x48]
inc edx
mov dword [rsp + 0x48], edx
add rdi, 0x48
cmp edx, dword [rsi + 4]
jl 0x18013dc70
mov qword [rsp + 0x58], r13
xor edx, edx
mov dword [rsp + 0x48], edx
cmp dword [rsi + 0x7c], edx
jle 0x18013dd92
xor edi, edi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsi + 0x50]
mov ecx, dword [rax + rdi + 4]
lea eax, [rcx - 1]
cmp eax, 0x1ffffffe
ja 0x18013dd7e
cmp r13, r14
je 0x18013dd36
cmp ecx, dword [r14 - 4]
jne 0x18013dd36
lea eax, [rcx + 1]
mov dword [r14 - 4], eax
jmp 0x18013dd7e
mov dword [rsp + 0x70], ecx
lea eax, [rcx + 1]
mov dword [rsp + 0x74], eax
cmp r14, r12
je 0x18013dd59
mov rax, qword [rsp + 0x70]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x18013dd7e
lea r8, [rsp + 0x70]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.180113c60
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
mov edx, dword [rsp + 0x48]
inc edx
mov dword [rsp + 0x48], edx
add rdi, 0x48
cmp edx, dword [rsi + 0x7c]
jl 0x18013dd10
mov qword [rsp + 0x58], r13
xor edi, edi
cmp dword [rsi + 0x80], edi
jle 0x18013de2a
xor r13d, r13d
mov rax, qword [rsi + 0x58]
mov edx, dword [rax + r13 + 4]
mov ecx, dword [rax + r13]
mov eax, 0x20000000
cmp ecx, eax
cmovl eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
mov eax, 0x20000000
cmp edx, eax
cmovl eax, edx
xor edx, edx
test eax, eax
cmovg edx, eax
cmp ecx, edx
jge 0x18013de12
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x7c], edx
cmp r14, r12
je 0x18013ddf6
mov rax, qword [rsp + 0x78]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x18013de12
lea r8, [rsp + 0x78]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.180113c60
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
inc edi
add r13, 8
cmp edi, dword [rsi + 0x80]
jl 0x18013dda3
mov r13, qword [rsp + 0x30]
mov qword [rsp + 0x58], r13
xor edi, edi
cmp dword [rsi + 0x78], edi
jle 0x18013dec0
xor r13d, r13d
nop dword [rax + rax]
mov rax, qword [rsi + 0x48]
mov edx, dword [rax + r13 + 4]
mov ecx, dword [rax + r13]
mov eax, 0x20000000
cmp ecx, eax
cmovl eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
mov eax, 0x20000000
cmp edx, eax
cmovl eax, edx
xor edx, edx
test eax, eax
cmovg edx, eax
cmp ecx, edx
jge 0x18013deab
mov dword [rbp - 0x80], ecx
mov dword [rbp - 0x7c], edx
cmp r14, r12
je 0x18013de90
mov rax, qword [rbp - 0x80]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x18013deab
lea r8, [rbp - 0x80]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.180113c60
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
inc edi
add r13, 0x10
cmp edi, dword [rsi + 0x78]
jl 0x18013de40
mov r13, qword [rsp + 0x30]
mov qword [rsp + 0x58], r13
mov dword [rbp - 0x78], 0x1fffffff
mov dword [rbp - 0x74], 0x20000000
cmp r14, r12
je 0x18013dee5
mov rax, qword [rbp - 0x78]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x18013df0a
lea r8, [rbp - 0x78]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.180113c60
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
mov qword [rsp + 0x58], r13
mov dword [rbp - 0x70], 0x4a38
mov dword [rbp - 0x6c], 0x4e1f
cmp r14, r12
je 0x18013df2f
mov rax, qword [rbp - 0x70]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x18013df54
lea r8, [rbp - 0x70]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.180113c60
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
mov qword [rsp + 0x58], r13
mov r8, r14
sub r8, r13
sar r8, 3
movzx r9d, bl
mov rdx, r14
mov rcx, r13
call fcn.1801160f0
mov edi, 1
lea rax, [0x180191118]
mov qword [rbp - 0x30], rax
lea rax, [0x180191120]
mov qword [rbp - 0x20], rax
lea rcx, [rbp + 0x68]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov eax, dword [rsp + 0x50]
or eax, 4
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x48], eax
xor r8d, r8d
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x30]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x34], edx
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x18], rax
xor eax, eax
mov qword [rbp + 0x50], rax
mov dword [rbp + 0x58], eax
mov rax, qword [rsi + 8]
add rax, 0x20
mov qword [rsp + 0x48], rax
lea rdx, str.Suggested_field_numbers_for
lea rcx, [rbp - 0x20]
call fcn.18010e410
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov rdx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x18013e02a
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
call fcn.18010ba60
lea rdx, [0x1801a05d0]
mov rcx, rax
call fcn.18010e410
lea rdx, [0x180194f06]
cmp r13, r14
je 0x18013e09e
nop
cmp edi, dword [r13]
jge 0x18013e088
test r15d, r15d
jle 0x18013e086
mov esi, edi
inc edi
lea rcx, [rbp - 0x20]
call fcn.18010e410
mov rcx, rax
mov edx, esi
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___int____ptr64]
lea rdx, [0x180195c3c]
dec r15d
cmp edi, dword [r13]
jl 0x18013e056
test r15d, r15d
je 0x18013e09a
cmp edi, dword [r13 + 4]
cmovl edi, dword [r13 + 4]
add r13, 8
cmp r13, r14
jne 0x18013e050
mov rsi, qword [rbp - 0x60]
mov r15, qword [rbp - 0x58]
cmp qword [r15 + 8], 0
je 0x18013e1fc
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 0xf
mov byte [rbp + 0xd8], 0
mov r13d, dword [rsp + 0x50]
or r13d, 2
mov dword [rsp + 0x48], r13d
movups xmmword [rbp - 0x48], xmm0
mov ecx, dword [rbp + 0x58]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x18013e135
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
test rax, rax
je 0x18013e132
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbase_void_const___ptr64]
mov r14, rax
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov rdi, rax
cmp rax, qword [rbp + 0x50]
cmovb rdi, qword [rbp + 0x50]
sub rdi, r14
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const___ptr64]
jmp 0x18013e170
mov ecx, dword [rbp + 0x58]
test cl, 4
jne 0x18013e168
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gptr_void_const___ptr64]
test rax, rax
je 0x18013e168
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
mov r14, rax
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::egptr_void_const___ptr64]
mov rdi, rax
sub rdi, r14
jmp 0x18013e170
mov rdi, qword [rbp - 0x40]
mov r14, qword [rbp - 0x48]
test r14, r14
je 0x18013e187
mov r8, rdi
mov rdx, r14
lea rcx, [rbp + 0xd8]
call fcn.180034960
and r13d, 0xfffffffd
or r13d, 1
mov dword [rsp + 0x50], r13d
mov rdx, qword [rsi + 8]
add rdx, 0x20
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x20], rax
mov r9d, dword [r15 + 0x10]
mov r8, qword [r15 + 8]
mov rcx, qword [rbp - 0x68]
call fcn.18011ad50
nop
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0xf
jbe 0x18013e1fc
inc rdx
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18013e1f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18013e2aa
call fcn.1801662f4
nop
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x34], edx
lea rcx, [rbp - 0x18]
call fcn.1800cdaf0
lea rcx, [rbp - 0x10]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x68]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x18013e27a
sub r12, rcx
and r12, 0xfffffffffffffff8
mov rax, rcx
cmp r12, 0x1000
jb 0x18013e272
add r12, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18013e2b1
mov rdx, r12
call fcn.1801662f4
movabs r10, 0xcbf29ce484222325
movabs r9, 0x100000001b3
mov eax, dword [rsp + 0x64]
inc eax
mov dword [rsp + 0x64], eax
mov rdx, qword [rbp - 0x50]
cmp eax, dword [rdx + 0x34]
jge 0x18013e2b8
mov r8, qword [rbp - 0x68]
jmp 0x18013db30
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, qword [rbp + 0xf8]
xor rcx, rsp
call fcn.180165f20
mov rbx, qword [rsp + 0x250]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret