Function at 0x4a8670
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x4a8b00
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x18]
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], eax
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
mov esi, dword [ecx + 0x18]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor edx, eax
imul eax, edx, 0x1000193
movzx edx, byte [ebx + 2]
xor edx, eax
imul eax, edx, 0x1000193
movzx edx, byte [ebx + 3]
xor edx, eax
imul eax, edx, 0x1000193
mov edx, dword [ecx + 0xc]
and esi, eax
mov dword [ebp - 0x20], eax
mov edi, dword [edx + esi*8 + 4]
cmp edi, dword [ecx + 4]
je 0x4a871b
mov eax, dword [ebx]
cmp eax, dword [edi + 8]
je 0x4a8714
add esi, esi
mov edx, dword [edx + esi*4]
nop word cs:[eax + eax]
nop dword [eax]
cmp edi, edx
je 0x4a871d
mov edi, dword [edi + 4]
cmp eax, dword [edi + 8]
jne 0x4a8700
test edi, edi
je 0x4a8865
xor ecx, ecx
jmp 0x4a88b3
mov edx, edi
cmp dword [ecx + 8], 0x71c71c7
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ecx
je 0x4a88cf
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x10], 0
push 0x24
call fcn.005d0220
add esp, 4
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x24], eax
mov ecx, dword [ecx]
mov dword [ebp - 0x30], eax
mov dword [eax + 8], ecx
mov ecx, eax
add ecx, 0xc
mov dword [ebp - 0x34], ecx
call fcn.00480620
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x2c]
movsd xmm2, qword [0x6592b0]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebx + 8]
movss xmm3, dword [ebx + 0x1c]
movss xmm0, dword [ebx]
inc eax
orpd xmm3, xmm2
movd xmm1, eax
subsd xmm3, xmm2
por xmm1, xmm2
subsd xmm1, xmm2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm3
cvtsd2ss xmm1, xmm1
movaps xmm3, xmm1
divss xmm3, xmm2
ucomiss xmm3, xmm0
jbe 0x4a886e
divss xmm1, xmm0
mov esi, dword [ebx + 0x1c]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
sub esp, 8
movsd qword [esp], xmm0
call fcn.006280b0
add esp, 8
fstp dword [ebp - 0x38]
movss xmm1, dword [0x6592b8]
movss xmm0, dword [ebp - 0x38]
movaps xmm2, xmm0
cvttss2si ecx, xmm0
subss xmm2, xmm1
cvttss2si eax, xmm2
xor eax, 0x80000000
ucomiss xmm0, xmm1
cmovae ecx, eax
mov eax, 8
cmp ecx, 8
cmova eax, ecx
cmp esi, eax
jae 0x4a8818
cmp esi, 0x1ff
ja 0x4a8816
shl esi, 3
cmp esi, eax
jae 0x4a8818
mov esi, eax
mov dword [ebp - 0x10], 1
mov ecx, ebx
push esi
call fcn.004a8920
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0xc]
and ecx, dword [ebp - 0x20]
mov esi, dword [edx + ecx*8 + 4]
cmp esi, dword [ebx + 4]
je 0x4a8860
mov edi, dword [ebp - 0x24]
mov eax, dword [edi + 8]
cmp eax, dword [esi + 8]
je 0x4a885c
add ecx, ecx
mov ecx, dword [edx + ecx*4]
nop dword [eax]
cmp esi, ecx
je 0x4a886c
mov esi, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x4a8850
mov esi, dword [esi]
jmp 0x4a886e
mov edi, dword [ebp - 0x24]
jmp 0x4a886e
mov edx, dword [edi]
jmp 0x4a871d
mov esi, ecx
mov dword [ebp - 0x28], esi
mov ecx, dword [esi + 4]
inc dword [ebx + 8]
mov dword [edi], esi
mov edx, dword [ebp - 0x20]
mov dword [edi + 4], ecx
mov dword [ecx], edi
mov dword [esi + 4], edi
mov esi, dword [ebx + 0xc]
and edx, dword [ebx + 0x18]
lea eax, [esi + edx*8 + 4]
mov dword [ebp - 0x20], eax
lea eax, [esi + edx*8]
mov esi, dword [esi + edx*8]
cmp esi, dword [ebx + 4]
je 0x4a88aa
cmp esi, dword [ebp - 0x28]
je 0x4a88af
mov eax, dword [ebp - 0x20]
cmp dword [eax], ecx
jne 0x4a88b1
jmp 0x4a88af
mov dword [eax], edi
mov eax, dword [ebp - 0x20]
mov dword [eax], edi
mov cl, 1
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov dword [eax], edi
mov byte [eax + 4], cl
mov dword fs:[0], edx
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov dword [ebp - 0x10], 0xffffffff
push str.unordered_map_set_too_long
call fcn.006068d7
push ebp
sub esp, 8
add ebp, 0xc
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4a88f9
push 0x24
push eax
call fcn.005d319e
add esp, 8
add esp, 8
pop ebp
ret