Function at 0x100058d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1000a240
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov dword [0x1002e478], 0
mov dword [0x1002e47c], 0
mov dword [0x1002e480], 0
push 0x14
call fcn.1000c0ea
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [0x1002e47c], eax
movaps xmm0, xmmword [0x100231e0]
movups xmmword [0x1002e484], xmm0
mov dword [0x1002e494], 8
mov dword [0x1002e478], 0x3f800000
mov dword [ebp - 0x10], 0
mov ecx, 0x10
mov edx, eax
call fcn.10009cc0
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x24]
cmp esi, eax
je 0x10005b75
mov ecx, dword [0x1002e490]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [0x1002e484]
mov ebx, dword [0x1002e47c]
jmp 0x100059a5
mov edx, ebx
mov esi, dword [ebp - 0x24]
add esi, 0xc
mov ebx, edx
mov eax, dword [ebp - 0x30]
cmp esi, eax
je 0x10005b75
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx edx, byte [esi + 1]
xor edx, eax
imul eax, edx, 0x1000193
movzx edx, byte [esi + 2]
xor edx, eax
imul eax, edx, 0x1000193
movzx edx, byte [esi + 3]
xor edx, eax
imul eax, edx, 0x1000193
mov edi, eax
and edi, dword [ebp - 0x2c]
mov edx, dword [ecx + edi*8 + 4]
cmp edx, ebx
mov dword [ebp - 0x24], esi
je 0x10005a10
mov esi, dword [esi]
cmp esi, dword [edx + 8]
je 0x10005990
add edi, edi
mov edi, dword [ecx + edi*4]
nop word cs:[eax + eax]
cmp edx, edi
je 0x10005a0e
mov edx, dword [edx + 4]
cmp esi, dword [edx + 8]
jne 0x10005a00
jmp 0x10005990
mov ebx, edx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], eax
cmp dword [0x1002e480], 0xccccccc
mov dword [ebp - 0x10], 1
je 0x10005b86
push 0x14
call fcn.1000c0ea
add esp, 4
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov dword [eax + 0x10], edx
movsd xmm0, qword [ecx]
movsd qword [eax + 8], xmm0
mov ecx, dword [0x1002e480]
inc ecx
movd xmm0, ecx
movq xmm2, qword [0x100232d0]
por xmm0, xmm2
subsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
movss xmm1, dword [0x1002e494]
orpd xmm1, xmm2
subsd xmm1, xmm2
cvtsd2ss xmm1, xmm1
divss xmm0, xmm1
ucomiss xmm0, dword [0x1002e478]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jbe 0x10005af0
mov dword [ebp - 0x10], 2
call fcn.10009e90
mov edx, dword [0x1002e490]
and edx, dword [ebp - 0x34]
mov esi, dword [0x1002e484]
mov edi, dword [esi + edx*8 + 4]
mov ecx, dword [0x1002e47c]
cmp edi, ecx
mov eax, dword [ebp - 0x20]
je 0x10005af0
mov ecx, eax
add ecx, 8
mov ecx, dword [ecx]
cmp ecx, dword [edi + 8]
je 0x10005adc
add edx, edx
mov edx, dword [esi + edx*4]
nop dword [eax]
cmp edi, edx
je 0x10005ae0
mov edi, dword [edi + 4]
cmp ecx, dword [edi + 8]
jne 0x10005ad0
mov ecx, dword [edi]
jmp 0x10005af0
mov ecx, edi
nop word cs:[eax + eax]
mov dword [ebp - 0x28], ecx
mov esi, dword [ecx + 4]
inc dword [0x1002e480]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [esi], eax
mov dword [ecx + 4], eax
mov ecx, dword [0x1002e484]
mov edi, dword [0x1002e490]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edi
and edx, edi
lea edi, [ecx + edx*8]
lea ebx, [ecx + edx*8]
add ebx, 4
mov eax, dword [ecx + edx*8]
mov edx, dword [0x1002e47c]
cmp eax, edx
je 0x10005b50
cmp eax, dword [ebp - 0x28]
je 0x10005b57
mov edi, ebx
cmp dword [ebx], esi
jne 0x10005992
jmp 0x10005b57
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
mov edi, ebx
mov eax, dword [ebp - 0x20]
mov dword [edi], eax
mov eax, dword [0x1002e490]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1002e484]
mov edx, dword [0x1002e47c]
jmp 0x10005992
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
push str.unordered_map_set_too_long
call fcn.1000cd5b
add esp, 4
nop word cs:[eax + eax]
push ebp
sub esp, 8
add ebp, 0xc
call fcn.10009bc0
call fcn.10009c70
add esp, 8
pop ebp
ret