Function at 0x4e9df0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
push esi
mov ebx, ecx
lea ecx, [ebp - 0x40]
push edi
mov edi, edx
mov dword [ebp - 0x10], ebx
call fcn.00438990
mov edi, dword [edi + 4]
mov esi, dword [edi]
cmp esi, edi
je 0x4e9f1e
nop word [eax + eax]
movzx eax, byte [esi + 0x20]
lea ebx, [esi + 0x20]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor ecx, eax
movzx eax, byte [ebx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebp - 0x40]
push eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.004301e0
cmp dword [ebp - 0x14], 0
jne 0x4e9f11
cmp dword [ebp - 0x38], 0x15555555
je 0x4ea0b0
push 0xc
call fcn.005ab82c
mov ecx, dword [ebx]
add esp, 4
mov dword [ebp - 0xc], eax
add eax, 8
mov dword [ebp - 8], eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
inc ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x739f30]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x40]
jbe 0x4e9efe
lea ecx, [ebp - 0x40]
call fcn.0043acb0
mov ebx, dword [ebp - 4]
lea eax, [ebp - 0x20]
push ebx
push dword [ebp - 8]
lea ecx, [ebp - 0x40]
push eax
call fcn.004301e0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x4e9f04
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
push dword [ebp - 0xc]
push ecx
push ebx
lea ecx, [ebp - 0x40]
call fcn.0040fa90
mov esi, dword [esi]
cmp esi, edi
jne 0x4e9e20
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx + 4]
mov esi, dword [ebx]
mov dword [ebp - 4], edx
cmp esi, edx
je 0x4ea037
mov eax, edx
mov edx, dword [esi + 0x30]
lea edi, [esi + 0x30]
test edx, edx
js 0x4ea02c
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebp - 0x40]
xor eax, edx
imul ebx, eax, 0x1000193
lea eax, [ebp - 0x18]
push ebx
push edi
push eax
call fcn.004301e0
cmp dword [ebp - 0x14], 0
jne 0x4ea029
cmp dword [ebp - 0x38], 0x15555555
je 0x4ea0b0
push 0xc
call fcn.005ab82c
mov ecx, dword [edi]
add esp, 4
mov dword [ebp - 0xc], eax
add eax, 8
mov dword [ebp - 0x10], eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
inc ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x739f30]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebp - 0x40]
jbe 0x4ea019
lea ecx, [ebp - 0x40]
call fcn.0043acb0
push ebx
push dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.004301e0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x4ea01c
mov ecx, dword [ebp - 0x18]
push dword [ebp - 0xc]
push ecx
push ebx
lea ecx, [ebp - 0x40]
call fcn.0040fa90
mov eax, dword [ebp - 4]
add esi, 0x34
cmp esi, eax
jne 0x4e9f30
mov esi, dword [ebp - 0x3c]
xor ebx, ebx
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 4], ebx
imul ecx, eax, 0x1000193
mov eax, ebx
sar eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
sar eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
sar eax, 0x18
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebp - 0x40]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004301e0
mov ecx, esi
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, esi
je 0x4ea09f
inc ebx
jmp 0x4ea03c
lea ecx, [ebp - 0x40]
call fcn.00435d60
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
push str.unordered_map_set_too_long
call fcn.005acb94
int3