Function at 0x180221b00
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 [0x1802ffb80]
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 0x1802222f8
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 0x180221c41
mov rcx, qword [rcx]
cmp rsi, qword [rax + 0x10]
je 0x180221c43
nop dword [rax + rax]
cmp rax, rcx
je 0x180221c41
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x180221c30
jmp 0x180221c43
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 0x1802222ce
mov r15d, 3
cmp dword [r8], r15d
cmovl r15d, dword [r8]
test r15d, r15d
jle 0x1802222ce
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 0x180221d2d
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 0x180221d1e
cmp r13, r14
je 0x180221cd6
cmp ecx, dword [r14 - 4]
jne 0x180221cd6
lea eax, [rcx + 1]
mov dword [r14 - 4], eax
jmp 0x180221d1e
mov dword [rsp + 0x68], ecx
lea eax, [rcx + 1]
mov dword [rsp + 0x6c], eax
cmp r14, r12
je 0x180221cf9
mov rax, qword [rsp + 0x68]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x180221d1e
lea r8, [rsp + 0x68]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.1801f7c70
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 0x180221cb0
mov qword [rsp + 0x58], r13
xor edx, edx
mov dword [rsp + 0x48], edx
cmp dword [rsi + 0x7c], edx
jle 0x180221dd2
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 0x180221dbe
cmp r13, r14
je 0x180221d76
cmp ecx, dword [r14 - 4]
jne 0x180221d76
lea eax, [rcx + 1]
mov dword [r14 - 4], eax
jmp 0x180221dbe
mov dword [rsp + 0x70], ecx
lea eax, [rcx + 1]
mov dword [rsp + 0x74], eax
cmp r14, r12
je 0x180221d99
mov rax, qword [rsp + 0x70]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x180221dbe
lea r8, [rsp + 0x70]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.1801f7c70
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 0x180221d50
mov qword [rsp + 0x58], r13
xor edi, edi
cmp dword [rsi + 0x80], edi
jle 0x180221e6a
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 0x180221e52
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x7c], edx
cmp r14, r12
je 0x180221e36
mov rax, qword [rsp + 0x78]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x180221e52
lea r8, [rsp + 0x78]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.1801f7c70
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
inc edi
add r13, 8
cmp edi, dword [rsi + 0x80]
jl 0x180221de3
mov r13, qword [rsp + 0x30]
mov qword [rsp + 0x58], r13
xor edi, edi
cmp dword [rsi + 0x78], edi
jle 0x180221f00
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 0x180221eeb
mov dword [rbp - 0x80], ecx
mov dword [rbp - 0x7c], edx
cmp r14, r12
je 0x180221ed0
mov rax, qword [rbp - 0x80]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x180221eeb
lea r8, [rbp - 0x80]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.1801f7c70
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
inc edi
add r13, 0x10
cmp edi, dword [rsi + 0x78]
jl 0x180221e80
mov r13, qword [rsp + 0x30]
mov qword [rsp + 0x58], r13
mov dword [rbp - 0x78], 0x1fffffff
mov dword [rbp - 0x74], 0x20000000
cmp r14, r12
je 0x180221f25
mov rax, qword [rbp - 0x78]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x180221f4a
lea r8, [rbp - 0x78]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.1801f7c70
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 0x180221f6f
mov rax, qword [rbp - 0x70]
mov qword [r14], rax
add r14, 8
mov qword [rsp + 0x38], r14
jmp 0x180221f94
lea r8, [rbp - 0x70]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.1801f7c70
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.1801fa100
mov edi, 1
lea rax, [0x18027d798]
mov qword [rbp - 0x30], rax
lea rax, [0x18027d7a0]
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.1801f2230
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov rdx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x18022206a
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
call fcn.1801ef7f0
lea rdx, [0x1802d2690]
mov rcx, rax
call fcn.1801f2230
lea rdx, [0x1802d2500]
cmp r13, r14
je 0x1802220de
nop
cmp edi, dword [r13]
jge 0x1802220c8
test r15d, r15d
jle 0x1802220c6
mov esi, edi
inc edi
lea rcx, [rbp - 0x20]
call fcn.1801f2230
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, [0x1802d6814]
dec r15d
cmp edi, dword [r13]
jl 0x180222096
test r15d, r15d
je 0x1802220da
cmp edi, dword [r13 + 4]
cmovl edi, dword [r13 + 4]
add r13, 8
cmp r13, r14
jne 0x180222090
mov rsi, qword [rbp - 0x60]
mov r15, qword [rbp - 0x58]
cmp qword [r15 + 8], 0
je 0x18022223c
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 0x180222175
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 0x180222172
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 0x1802221b0
mov ecx, dword [rbp + 0x58]
test cl, 4
jne 0x1802221a8
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 0x1802221a8
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 0x1802221b0
mov rdi, qword [rbp - 0x40]
mov r14, qword [rbp - 0x48]
test r14, r14
je 0x1802221c7
mov r8, rdi
mov rdx, r14
lea rcx, [rbp + 0xd8]
call fcn.18000e590
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.1801fed90
nop
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0xf
jbe 0x18022223c
inc rdx
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180222236
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802222ea
call fcn.18024c724
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.1801b2d00
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 0x1802222ba
sub r12, rcx
and r12, 0xfffffffffffffff8
mov rax, rcx
cmp r12, 0x1000
jb 0x1802222b2
add r12, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802222f1
mov rdx, r12
call fcn.18024c724
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 0x1802222f8
mov r8, qword [rbp - 0x68]
jmp 0x180221b70
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.18024c230
mov rbx, qword [rsp + 0x250]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret