Function at 0x1005ef80
Capabilities:
Hash data using fnv

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x38
mov esi, ecx
mov ecx, dword [0x102a2380]
mov eax, dword [ecx]
call dword [eax + 0x68]
test al, al
je 0x1005efbd
mov eax, dword [0x102a22ac]
mov eax, dword [eax]
cmp dword [eax], 0
je 0x1005efbd
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
cmp eax, 9
je 0x1005efce
cmp eax, 0x62
jne 0x1005efc4
xor ebx, ebx
jmp 0x1005f04e
mov ecx, esi
call fcn.1005f2e0
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret 8
lea ecx, [edi + 4]
mov eax, dword [edi + 4]
call dword [eax + 0x20]
test eax, eax
je 0x1005f048
mov ebx, eax
add ebx, 4
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xb
jb 0x1005f048
lea edi, [eax + ebx]
add edi, 0xfffffff6
mov eax, edi
sub eax, ebx
push eax
push 0x66
push ebx
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x1005f048
mov ebp, eax
nop word [eax + eax]
push 0xb
push str.fraggrenade
push ebp
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1005f03d
inc ebp
mov eax, edi
sub eax, ebp
push eax
push 0x66
push ebp
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
mov ebp, eax
test eax, eax
jne 0x1005f010
jmp 0x1005f048
sub ebp, ebx
cmp ebp, 0xffffffff
je 0x1005f048
xor ebx, ebx
jmp 0x1005f04a
mov bl, 1
mov edi, dword [esp + 0x4c]
lea ecx, [edi + 8]
mov eax, dword [edi + 8]
call dword [eax + 0x24]
test bl, bl
jne 0x1005efc4
test al, al
jne 0x1005efc4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov dword [esp], eax
test byte [edi + 0xec], 0x20
jne 0x1005f2c1
mov ecx, eax
shr ecx, 0x18
mov edx, eax
shr edx, 0x10
movzx edi, al
xor edi, 0x811c9dc5
imul edi, edi, 0x1000193
movzx ebx, ah
xor ebx, edi
imul edi, ebx, 0x1000193
movzx edx, dl
xor edx, edi
imul edx, edx, 0x1000193
xor edx, ecx
imul edi, edx, 0x1000193
and edi, dword [esi + 0x18]
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0xc]
lea ebx, [edi + edi]
mov ebp, dword [ecx + ebx*4 + 4]
mov dword [esp + 4], edx
cmp ebp, edx
je 0x1005f102
cmp eax, dword [ebp + 8]
je 0x1005f0ec
mov edx, dword [ecx + ebx*4]
nop word cs:[eax + eax]
cmp ebp, edx
je 0x1005f102
mov ebp, dword [ebp + 4]
cmp eax, dword [ebp + 8]
jne 0x1005f0e0
cmp ebp, dword [esp + 4]
je 0x1005f102
lea eax, [edi*2 + 1]
mov ebp, dword [esp + 4]
jmp 0x1005f288
xor eax, eax
cmp dword [esp + 0x50], 0x62
sete al
mov ecx, dword [0x102a22ac]
mov ecx, dword [ecx + 0x24]
mov edi, dword [esp + 0x4c]
movss xmm0, dword [ecx + edi]
subss xmm0, dword [edi + 0x29b0]
mov ecx, dword [0x102a22bc]
bswap ecx
mov edx, dword [0x102a22c0]
add edx, ecx
mov ecx, dword [0x102a22c4]
ror edx, cl
movss xmm1, dword [edx + 0x20]
mov dword [esp + 0xc], 0xc95c948
mov ecx, dword [esp + 0xc]
bswap ecx
mov dword [esp + 0xc], ecx
add dword [esp + 0xc], 0x99366af8
mov ecx, dword [esp + 0xc]
rol ecx, 0xa
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
cvtsi2ss xmm2, ecx
mov dword [esp + 0xc], 0x7e8544da
mov ecx, dword [esp + 0xc]
bswap ecx
mov dword [esp + 0xc], ecx
add dword [esp + 0xc], 0xa5bb7bba
mov ecx, dword [esp + 0xc]
rol ecx, 5
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
cvtsi2ss xmm3, ecx
unpcklps xmm0, xmm2
unpcklps xmm1, xmm3
divps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
addss xmm1, xmm0
cvttss2si ecx, xmm1
lea edx, [edi + 0x29b0]
mov dword [esp + 4], edx
mov dword [esp + 0x2c], ecx
mov edx, dword [0x102a22ac]
mov ebx, dword [edx + 0x34]
add ebx, edi
mov ebp, dword [edx + 0x2c]
add ebp, edi
lea eax, [eax*2 + 0x2c]
mov word [esp + 0xa], ax
mov ecx, dword [0x102a2384]
mov eax, dword [edx + 0xf0]
mov edx, dword [ecx]
push dword [eax + edi]
call dword [edx + 0x10]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebp
lea eax, [esp + 0xa]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, esp
mov dword [esp + 0x24], eax
lea eax, [esp + 0xc]
lea edx, [esp + 0x24]
lea edi, [esp + 0x30]
mov ecx, esi
push eax
push edx
push 0x10146e44
push edi
call fcn.1005f3c0
movzx eax, byte [esp]
movzx edx, byte [esp + 1]
movzx edi, byte [esp + 2]
movzx ebx, byte [esp + 3]
mov ebp, dword [esi + 4]
mov ecx, dword [esi + 0xc]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor eax, edx
imul eax, eax, 0x1000193
xor eax, edi
imul eax, eax, 0x1000193
xor eax, ebx
imul ebx, eax, 0x1000193
and ebx, dword [esi + 0x18]
lea eax, [ebx*2 + 1]
add ebx, ebx
mov eax, dword [ecx + eax*4]
cmp eax, ebp
je 0x1005f2d0
mov edx, dword [esp]
cmp edx, dword [eax + 8]
je 0x1005f2ac
mov ecx, dword [ecx + ebx*4]
nop word [eax + eax]
cmp eax, ecx
je 0x1005f2d0
mov eax, dword [eax + 4]
cmp edx, dword [eax + 8]
jne 0x1005f2a0
add eax, 0xc
mov ecx, esi
push 1
push eax
call fcn.1005f6b0
test al, al
jne 0x1005efc4
mov eax, esp
mov ecx, esi
push eax
call fcn.100628b0
jmp 0x1005efc4
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
int3