Function at 0x1400ee4b0
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 - 0x130]
sub rsp, 0x230
mov rax, qword [0x1401c7b80]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov qword [rbp + 0xe0], rdx
mov r8, rcx
mov qword [rbp - 0x40], rcx
xor eax, eax
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x38], eax
mov dword [rbp - 0x78], eax
cmp dword [rdx + 0x34], eax
jle 0x1400eee7a
movabs r10, 0xcbf29ce484222325
movabs r9, 0x100000001b3
movzx ebx, byte [rsp + 0x70]
nop dword [rax]
cdqe
imul rdi, rax, 0x88
add rdi, qword [rdx + 0x58]
mov qword [rbp + 0xd0], rdi
movzx edx, dil
xor rdx, r10
imul rdx, r9
mov rax, rdi
shr rax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov rax, rdi
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov rax, rdi
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov rax, rdi
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov rax, rdi
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov rax, rdi
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov rax, rdi
shr rax, 0x38
xor rdx, rax
imul rdx, r9
mov rcx, qword [r8 + 0xa8]
and rcx, rdx
shl rcx, 4
add rcx, qword [r8 + 0x90]
mov rax, qword [rcx + 8]
mov rdx, qword [r8 + 0x80]
cmp rax, rdx
je 0x1400eee62
mov rcx, qword [rcx]
cmp rdi, qword [rax + 0x10]
je 0x1400ee5f8
cmp rax, rcx
je 0x1400eee62
mov rax, qword [rax + 8]
cmp rdi, qword [rax + 0x10]
jne 0x1400ee5e5
test rax, rax
cmove rax, rdx
cmp rax, rdx
je 0x1400eee62
lea rcx, [rax + 0x18]
mov qword [rbp + 0xd8], rcx
test rcx, rcx
je 0x1400eee62
mov dword [rsp + 0x38], 3
lea rax, [rsp + 0x38]
cmp dword [rcx], 3
cmovl rax, rcx
mov r12d, dword [rax]
test r12d, r12d
jle 0x1400eee62
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
xor r13d, r13d
mov qword [rsp + 0x58], r13
xor edx, edx
mov dword [rsp + 0x30], edx
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
cmp dword [rdi + 4], edx
jle 0x1400ee6e8
xor r14d, r14d
nop dword [rax]
mov rax, qword [rdi + 0x28]
mov ecx, dword [rax + r14 + 4]
lea eax, [rcx - 1]
cmp eax, 0x1ffffffe
ja 0x1400ee6d9
cmp r15, rsi
je 0x1400ee695
cmp ecx, dword [rsi - 4]
jne 0x1400ee695
lea eax, [rcx + 1]
mov dword [rsi - 4], eax
jmp 0x1400ee6d9
mov dword [rbp - 0x74], ecx
lea eax, [rcx + 1]
mov dword [rbp - 0x70], eax
cmp rsi, r13
je 0x1400ee6b5
mov rax, qword [rbp - 0x74]
mov qword [rsi], rax
add rsi, 8
mov qword [rsp + 0x50], rsi
jmp 0x1400ee6d9
lea r8, [rbp - 0x74]
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400c3800
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov edx, dword [rsp + 0x30]
inc edx
mov dword [rsp + 0x30], edx
add r14, 0x48
cmp edx, dword [rdi + 4]
jl 0x1400ee670
mov qword [rsp + 0x40], r15
xor edx, edx
mov dword [rsp + 0x30], edx
cmp dword [rdi + 0x7c], edx
jle 0x1400ee77d
xor r14d, r14d
nop
mov rax, qword [rdi + 0x50]
mov ecx, dword [rax + r14 + 4]
lea eax, [rcx - 1]
cmp eax, 0x1ffffffe
ja 0x1400ee769
cmp r15, rsi
je 0x1400ee725
cmp ecx, dword [rsi - 4]
jne 0x1400ee725
lea eax, [rcx + 1]
mov dword [rsi - 4], eax
jmp 0x1400ee769
mov dword [rbp - 0x6c], ecx
lea eax, [rcx + 1]
mov dword [rbp - 0x68], eax
cmp rsi, r13
je 0x1400ee745
mov rax, qword [rbp - 0x6c]
mov qword [rsi], rax
add rsi, 8
mov qword [rsp + 0x50], rsi
jmp 0x1400ee769
lea r8, [rbp - 0x6c]
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400c3800
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov edx, dword [rsp + 0x30]
inc edx
mov dword [rsp + 0x30], edx
add r14, 0x48
cmp edx, dword [rdi + 0x7c]
jl 0x1400ee700
mov qword [rsp + 0x40], r15
xor r14d, r14d
cmp dword [rdi + 0x80], r14d
jle 0x1400ee863
mov dword [rsp + 0x30], 0x20000000
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x68], 0x20000000
mov dword [rsp + 0x40], r14d
xor r15d, r15d
nop word [rax + rax]
mov rax, qword [rdi + 0x58]
mov r8d, dword [r15 + rax + 4]
mov dword [rbp - 0x80], r8d
mov ecx, dword [r15 + rax]
mov dword [rsp + 0x38], ecx
lea rdx, [rsp + 0x38]
lea rax, [rsp + 0x30]
cmp ecx, 0x20000000
cmovge rdx, rax
lea rax, [rsp + 0x78]
cmp dword [rdx], 0
cmovg rax, rdx
mov edx, dword [rax]
lea rcx, [rbp - 0x80]
lea rax, [rsp + 0x68]
cmp r8d, 0x20000000
cmovge rcx, rax
lea rax, [rsp + 0x40]
cmp dword [rcx], 0
cmovg rax, rcx
mov ecx, dword [rax]
cmp edx, ecx
jge 0x1400ee845
mov dword [rbp - 0x64], edx
mov dword [rbp - 0x60], ecx
cmp rsi, r13
je 0x1400ee82a
mov rax, qword [rbp - 0x64]
mov qword [rsi], rax
add rsi, 8
mov qword [rsp + 0x50], rsi
jmp 0x1400ee845
lea r8, [rbp - 0x64]
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400c3800
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
inc r14d
add r15, 8
cmp r14d, dword [rdi + 0x80]
jl 0x1400ee7b0
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x40], r15
xor r14d, r14d
cmp dword [rdi + 0x78], r14d
jle 0x1400ee941
mov dword [rsp + 0x68], 0x20000000
mov dword [rbp - 0x80], r14d
mov dword [rsp + 0x38], 0x20000000
mov dword [rsp + 0x30], r14d
xor r15d, r15d
nop dword [rax]
mov rax, qword [rdi + 0x48]
mov r8d, dword [r15 + rax + 4]
mov dword [rsp + 0x78], r8d
mov ecx, dword [r15 + rax]
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x40]
lea rax, [rsp + 0x68]
cmp ecx, 0x20000000
cmovge rdx, rax
lea rax, [rbp - 0x80]
cmp dword [rdx], 0
cmovg rax, rdx
mov edx, dword [rax]
lea rcx, [rsp + 0x78]
lea rax, [rsp + 0x38]
cmp r8d, 0x20000000
cmovge rcx, rax
lea rax, [rsp + 0x30]
cmp dword [rcx], 0
cmovg rax, rcx
mov ecx, dword [rax]
cmp edx, ecx
jge 0x1400ee926
mov dword [rbp - 0x5c], edx
mov dword [rbp - 0x58], ecx
cmp rsi, r13
je 0x1400ee90b
mov rax, qword [rbp - 0x5c]
mov qword [rsi], rax
add rsi, 8
mov qword [rsp + 0x50], rsi
jmp 0x1400ee926
lea r8, [rbp - 0x5c]
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400c3800
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
inc r14d
add r15, 0x10
cmp r14d, dword [rdi + 0x78]
jl 0x1400ee890
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x40], r15
mov dword [rbp - 0x54], 0x1fffffff
mov dword [rbp - 0x50], 0x20000000
cmp rsi, r13
je 0x1400ee966
mov rax, qword [rbp - 0x54]
mov qword [rsi], rax
add rsi, 8
mov qword [rsp + 0x50], rsi
jmp 0x1400ee98b
lea r8, [rbp - 0x54]
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400c3800
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x40], r15
mov dword [rbp - 0x4c], 0x4a38
mov dword [rbp - 0x48], 0x4e1f
cmp rsi, r13
je 0x1400ee9b0
mov rax, qword [rbp - 0x4c]
mov qword [rsi], rax
add rsi, 8
mov qword [rsp + 0x50], rsi
jmp 0x1400ee9d5
lea r8, [rbp - 0x4c]
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400c3800
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x40], r15
mov r8, rsi
sub r8, r15
sar r8, 3
movzx r9d, bl
mov rdx, rsi
mov rcx, r15
call fcn.1400c5570
mov r14d, 1
mov dword [rsp + 0x30], r14d
lea rcx, [0x140000000]
lea rax, [rcx + 0x1a6800]
mov qword [rbp - 0x30], rax
lea rax, [rcx + 0x1a67c8]
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x98], rax
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
lea rax, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x68], rax
mov eax, dword [rsp + 0x60]
or eax, r14d
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x38], eax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x30]
call fcn.14000a600
nop
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x20], rax
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x24], edx
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rbp + rcx - 0x34], edx
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 rax, vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x18], rax
lea ecx, [r14 + 0xf]
call fcn.140133c68
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400eeafa
movzx ecx, r14b
call fcn.1401351ac
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 8], rax
jmp 0x1400eeafc
xor ecx, ecx
mov qword [rbp + 0x48], rcx
lea rax, [rbp - 0x10]
mov qword [rbp], rax
lea rax, [rbp - 8]
mov qword [rbp + 8], rax
lea rax, [rbp + 0x10]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x18]
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x30]
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x34]
mov qword [rbp + 0x40], rax
xor eax, eax
mov qword [rbp - 8], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x30], rax
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x10], rax
lea rcx, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x18], rcx
mov qword [rbp + 0x50], rax
mov dword [rbp + 0x58], eax
mov rax, qword [rdi + 8]
add rax, 0x20
mov qword [rsp + 0x68], rax
lea rdx, str.Suggested_field_numbers_for
lea rcx, [rbp - 0x20]
call fcn.14000a8d0
mov rcx, rax
mov rax, qword [rsp + 0x68]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400eeb8a
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
call fcn.140020e70
mov rcx, rax
lea rdx, [0x1401a668c]
call fcn.14000a8d0
lea r8, [0x1401a668f]
cmp r15, rsi
je 0x1400eec2c
mov eax, 1
cmp eax, dword [r15]
jge 0x1400eebfd
mov ecx, eax
nop word [rax + rax]
mov eax, ecx
test r12d, r12d
jle 0x1400eebf8
mov edi, r14d
inc r14d
mov rdx, r8
lea rcx, [rbp - 0x20]
call fcn.14000a8d0
mov rcx, rax
mov edx, edi
call fcn.140055720
lea r8, [0x1401a80ec]
dec r12d
mov ecx, r14d
mov eax, r14d
cmp r14d, dword [r15]
jl 0x1400eebc0
mov dword [rsp + 0x30], r14d
test r12d, r12d
je 0x1400eec25
lea rcx, [r15 + 4]
lea rdx, [rsp + 0x30]
cmp eax, dword [rcx]
cmovl rdx, rcx
mov r14d, dword [rdx]
mov dword [rsp + 0x30], r14d
add r15, 8
mov eax, r14d
cmp r15, rsi
jne 0x1400eebb3
mov rdi, qword [rbp + 0xd0]
mov rsi, qword [rbp + 0xd8]
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400eed63
xor eax, eax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x118], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp + 0x100], al
mov r14d, dword [rsp + 0x60]
or r14d, 0x10
mov dword [rsp + 0x38], r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0xe8], xmm0
mov edx, dword [rbp + 0x58]
mov eax, edx
and al, 0x22
cmp al, 2
je 0x1400eeca5
mov rax, qword [rbp + 0x28]
mov r8, qword [rax]
test r8, r8
je 0x1400eeca5
mov rax, qword [rbp + 8]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x50]
cmovb r8, qword [rbp + 0x50]
sub r8, rdx
jmp 0x1400eecda
test dl, 4
jne 0x1400eeccc
mov rax, qword [rbp + 0x20]
mov r9, qword [rax]
test r9, r9
je 0x1400eeccc
mov rax, qword [rbp]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x38]
movsxd r8, dword [rax]
sub r8, rdx
add r8, r9
jmp 0x1400eecda
mov r8, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xe8]
test rdx, rdx
je 0x1400eecef
lea rcx, [rbp + 0x100]
call fcn.140004ec0
mov rcx, qword [rsi + 8]
and r14d, 0xffffffef
or r14d, 8
mov dword [rsp + 0x60], r14d
mov rdx, qword [rdi + 8]
add rdx, 0x20
lea rax, [rbp + 0x100]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsi + 0x10]
mov r8, rcx
mov rcx, qword [rbp - 0x40]
call fcn.1400ca540
nop
mov rdx, qword [rbp + 0x118]
cmp rdx, 0x10
jb 0x1400eed63
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400eed5d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400eeea4
call fcn.140133ef4
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.140008280
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rbp + rcx - 0x34], edx
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x20], rax
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x24], edx
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx - 0x34], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x68]
call fcn.1401354fc
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400eee4a
sub r13, rcx
and r13, 0xfffffffffffffff8
mov rax, rcx
cmp r13, 0x1000
jb 0x1400eee42
add r13, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400eeeaa
mov rdx, r13
call fcn.140133ef4
movabs r10, 0xcbf29ce484222325
movabs r9, 0x100000001b3
mov r8, qword [rbp - 0x40]
mov eax, dword [rbp - 0x78]
inc eax
mov dword [rbp - 0x78], eax
mov rdx, qword [rbp + 0xe0]
cmp eax, dword [rdx + 0x34]
jl 0x1400ee520
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.1401339b0
mov rbx, qword [rsp + 0x280]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14013d094
nop
call fcn.14013d094
int3