Function at 0x10057290
Capabilities:
Hash data using fnv

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x58
mov esi, ecx
mov ecx, dword [0x10356820]
mov eax, dword [ecx]
call dword [eax + 0x68]
test al, al
je 0x100572cd
mov eax, dword [0x1035678c]
mov eax, dword [eax]
cmp dword [eax], 0
je 0x100572cd
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
cmp eax, 9
je 0x100572e4
cmp eax, 0x62
jne 0x100572da
xor ebx, ebx
jmp 0x1005735e
add esi, 0x14b0
mov ecx, esi
call fcn.10057620
add esp, 0x58
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 0x10057358
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 0x10057358
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 0x10057358
mov ebp, eax
push 0xb
push str.fraggrenade
push ebp
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1005734d
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 0x10057320
jmp 0x10057358
sub ebp, ebx
cmp ebp, 0xffffffff
je 0x10057358
xor ebx, ebx
jmp 0x1005735a
mov bl, 1
mov edi, dword [esp + 0x6c]
lea ecx, [edi + 8]
mov eax, dword [edi + 8]
call dword [eax + 0x24]
test bl, bl
jne 0x100572da
test al, al
jne 0x100572da
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov dword [esp], eax
test byte [edi + 0xec], 0x20
jne 0x1005741d
mov ecx, eax
shr ecx, 0x18
mov edx, eax
shr edx, 0x10
lea edi, [esi + 0x14b0]
mov dword [esp + 0x20], edi
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 + 0x14c8]
mov edx, dword [esi + 0x14b4]
mov ecx, dword [esi + 0x14bc]
lea ebx, [edi + edi]
mov dword [esp + 0x30], ebx
mov ebx, dword [ecx + ebx*4 + 4]
cmp ebx, edx
je 0x1005742a
cmp eax, dword [ebx + 8]
je 0x1005740c
mov ebp, dword [esp + 0x30]
mov ebp, dword [ecx + ebp*4]
nop dword [eax]
cmp ebx, ebp
je 0x1005742a
mov ebx, dword [ebx + 4]
cmp eax, dword [ebx + 8]
jne 0x10057400
cmp ebx, edx
je 0x1005742a
lea eax, [edi + edi]
inc eax
mov esi, dword [esp + 0x30]
jmp 0x100575c1
add esi, 0x14b0
mov ecx, esi
jmp 0x10057603
xor eax, eax
cmp dword [esp + 0x70], 0x62
sete al
mov ecx, dword [0x1035678c]
mov ecx, dword [ecx + 0x24]
mov ebp, dword [esp + 0x6c]
movss xmm0, dword [ecx + ebp]
subss xmm0, dword [ebp + 0x29b0]
mov ecx, dword [0x1035679c]
bswap ecx
mov edx, dword [0x103567a0]
add edx, ecx
mov ecx, dword [0x103567a4]
ror edx, cl
divss xmm0, dword [edx + 0x20]
mov dword [esp + 8], 0x3f1a0e97
mov ecx, dword [esp + 8]
bswap ecx
mov dword [esp + 8], ecx
add dword [esp + 8], 0xa171e5c2
mov ecx, dword [esp + 8]
rol ecx, 0xc
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cvtsi2ss xmm1, ecx
mov dword [esp + 8], 0xfd73b6c2
mov ecx, dword [esp + 8]
bswap ecx
mov dword [esp + 8], ecx
add dword [esp + 8], 0x75c98c04
mov ecx, dword [esp + 8]
rol ecx, 0xd
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cvtsi2ss xmm2, ecx
lea edi, [ebp + 0x29b0]
divss xmm1, xmm2
addss xmm1, xmm0
cvttss2si ecx, xmm1
mov dword [esp + 0x2c], ecx
mov edx, dword [0x1035678c]
lea eax, [eax + eax + 0x2c]
mov word [esp + 6], ax
mov ecx, dword [0x10356824]
mov eax, dword [edx + 0x98]
mov ebx, dword [ecx]
movsd xmm0, qword [edx + 0x2c]
movups xmmword [esp + 0x40], xmm0
movd xmm0, ebp
pshufd xmm0, xmm0, 0x50
movdqu xmmword [esp + 0x30], xmm0
push dword [eax + ebp]
call dword [ebx + 0x10]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
movups xmm0, xmmword [esp + 0x40]
shufps xmm0, xmm0, 0xe1
movdqu xmm1, xmmword [esp + 0x30]
paddd xmm0, xmm1
movq qword [esp + 0x10], xmm0
lea eax, [esp + 6]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, esp
mov dword [esp + 0x24], eax
lea eax, [esp + 8]
lea edx, [esp + 0x24]
lea edi, [esp + 0x50]
mov ecx, dword [esp + 0x20]
push eax
push edx
push 0x10154364
push edi
call fcn.10057830
movzx eax, byte [esp]
movzx edi, byte [esp + 1]
movzx ebx, byte [esp + 2]
movzx ebp, byte [esp + 3]
mov edx, dword [esi + 0x14b4]
mov ecx, dword [esi + 0x14bc]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor eax, edi
imul eax, eax, 0x1000193
xor eax, ebx
imul eax, eax, 0x1000193
xor eax, ebp
imul eax, eax, 0x1000193
and eax, dword [esi + 0x14c8]
lea esi, [eax + eax]
add eax, eax
inc eax
mov eax, dword [ecx + eax*4]
cmp eax, edx
je 0x10057610
mov edx, dword [esp]
cmp edx, dword [eax + 8]
je 0x100575ec
mov ecx, dword [ecx + esi*4]
nop word cs:[eax + eax]
cmp eax, ecx
je 0x10057610
mov eax, dword [eax + 4]
cmp edx, dword [eax + 8]
jne 0x100575e0
add eax, 0xc
push 1
push eax
call fcn.10057b20
test al, al
mov ecx, dword [esp + 0x20]
jne 0x100572da
mov eax, esp
push eax
call fcn.1006a610
jmp 0x100572da
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
int3