Function at 0x473690
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5216e3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push esi
push edi
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 4
call fcn.00471ff0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x10], 0xa
call fcn.00471500
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0x30]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x10], edi
test ecx, ecx
je 0x473ae2
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
call dword [eax + 8]
mov esi, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
cmp esi, dword [ebp - 0x40]
je 0x47371f
mov dword [esi], edi
mov dword [esi + 4], eax
add esi, 8
mov dword [ebp - 0x44], esi
jmp 0x47372f
lea eax, [ebp - 0x24]
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.00471170
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp + 0x58]
mov dword [ebp - 0x10], edi
test ecx, ecx
je 0x473ae7
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
call dword [eax + 8]
mov eax, dword [edi]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00476110
cmp dword [ebp - 0x48], esi
je 0x4739ea
push ebx
jmp 0x473770
mov ecx, dword [ebp + 0xd0]
mov eax, dword [esi - 8]
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x473ae2
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x4739bb
mov ecx, dword [ebp + 0x30]
mov eax, dword [esi - 8]
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x473ae2
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
call dword [eax + 8]
mov ecx, dword [esi - 4]
cmp ecx, dword [eax + 4]
je 0x4739bb
mov ebx, dword [ecx]
lea eax, [ecx + 4]
mov dword [esi - 4], eax
cmp dword [ebp + 0xa8], 0
je 0x4737fe
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebx]
mov eax, dword [ecx]
cmp dword [eax], edx
je 0x4737e2
add ecx, 8
cmp ecx, esi
jne 0x4737d3
jmp 0x4737fe
mov ecx, dword [ebp + 0xa8]
lea edx, [ebp - 0x10]
mov eax, dword [esi - 8]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x14]
push edx
call dword [eax + 8]
mov edx, dword [ebx]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x14], edx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebp - 0x68]
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00465c40
cmp dword [eax + 4], 0
jne 0x4739de
mov ecx, dword [ebp + 0x58]
mov dword [ebp - 0x14], ebx
test ecx, ecx
je 0x473ae2
mov eax, dword [ecx]
lea edx, [ebp - 0x14]
push edx
call dword [eax + 8]
mov ecx, dword [ebp + 0x30]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], ebx
test ecx, ecx
je 0x473ae2
mov eax, dword [ecx]
lea edx, [ebp - 0x14]
push edx
call dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
cmp esi, dword [ebp - 0x40]
je 0x47389f
mov dword [esi], ebx
mov dword [esi + 4], eax
add esi, 8
mov dword [ebp - 0x44], esi
jmp 0x4738af
lea eax, [ebp - 0x2c]
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.00471170
mov esi, dword [ebp - 0x44]
mov ebx, dword [ebx]
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 0x14], ebx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
lea eax, [ebp - 0x14]
imul edi, ecx, 0x1000193
lea ecx, [ebp - 0x68]
push edi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00465c40
cmp dword [ebp - 0x18], 0
jne 0x4739de
cmp dword [ebp - 0x60], 0x15555555
je 0x473af1
lea eax, [ebp - 0x64]
mov dword [ebp - 0x24], eax
push 0xc
mov byte [ebp - 4], 7
mov dword [ebp - 0x20], 0
call fcn.004fa223
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [esi + 8], ebx
mov ecx, dword [ebp - 0x60]
fld dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x14], ecx
fild dword [ebp - 0x14]
mov byte [ebp - 4], 8
jns 0x473955
fadd dword [0x530074]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
fild dword [ebp - 0x4c]
test eax, eax
jns 0x47396b
fadd dword [0x530074]
fstp dword [ebp - 0x14]
fdiv dword [ebp - 0x14]
fcompi st(1)
fstp st(0)
jbe 0x47399d
lea ecx, [ebp - 0x68]
call fcn.00475f90
push edi
lea eax, [esi + 8]
push eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x68]
call fcn.00465c40
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
jmp 0x4739a0
mov ecx, dword [ebp - 0x1c]
push esi
push ecx
push edi
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x20], 0
call fcn.00431350
mov esi, dword [ebp - 0x44]
mov byte [ebp - 4], 6
jmp 0x4739de
mov ecx, dword [ebp + 0x80]
mov eax, dword [esi - 8]
mov dword [ebp - 0x14], eax
test ecx, ecx
je 0x473ae2
mov eax, dword [ecx]
lea edx, [ebp - 0x14]
push edx
call dword [eax + 8]
add esi, 0xfffffff8
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x48]
cmp eax, esi
jne 0x473770
pop ebx
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x473a21
mov ecx, dword [ebp - 0x40]
mov eax, esi
sub ecx, esi
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x473a17
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x473aec
push ecx
push esi
call fcn.004fa253
add esp, 8
lea ecx, [ebp - 0x68]
call fcn.004726f0
mov ecx, dword [ebp + 0x30]
pop edi
pop esi
test ecx, ecx
je 0x473a4a
mov edx, dword [ecx]
lea eax, [ebp + 0xc]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp + 0x30], 0
mov ecx, dword [ebp + 0x58]
test ecx, ecx
je 0x473a69
mov edx, dword [ecx]
lea eax, [ebp + 0x34]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp + 0x58], 0
mov ecx, dword [ebp + 0x80]
test ecx, ecx
je 0x473a8e
mov edx, dword [ecx]
lea eax, [ebp + 0x5c]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp + 0x80], 0
mov ecx, dword [ebp + 0xa8]
test ecx, ecx
je 0x473ab6
mov edx, dword [ecx]
lea eax, [ebp + 0x84]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp + 0xa8], 0
mov ecx, dword [ebp + 0xd0]
test ecx, ecx
je 0x473ad4
mov edx, dword [ecx]
lea eax, [ebp + 0xac]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.004f7dd4
call fcn.004f7dd4
call fcn.004ff45f
push str.unordered_map_set_too_long
call fcn.004f7e11
int3