Function at 0x10035c50
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1019dd15
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ecx + 4]
push edi
call fcn.10027db0
mov esi, eax
mov ecx, edi
mov edx, esi
neg edx
call fcn.100ec570
or edx, 0xffffffff
mov ecx, edi
sub edx, esi
mov ebx, eax
call fcn.100ec240
movzx ecx, bl
xor ecx, 0x811c9dc5
mov edi, dword [ebp + 0xc]
imul edx, ecx, 0x1000193
mov ecx, ebx
shr ecx, 8
movzx eax, cl
xor edx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, edx, 0x1000193
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, ebx
mov ebx, dword [ebp - 0x18]
imul eax, eax, 0x1000193
mov ecx, ebx
push eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push edi
push eax
call fcn.10037750
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x10035d06
push dword [ebp + 0x10]
lea ecx, [esi + 0x10]
call fcn.1002dfc0
mov eax, dword [ebp + 8]
mov byte [eax + 4], 0
jmp 0x10035e69
cmp dword [ebx + 8], 0xaaaaaaa
jne 0x10035d1a
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [ebx + 4]
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 0
push 0x18
mov dword [ebp - 0x24], 0
call fcn.1019a153
mov ecx, dword [edi]
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], esi
mov dword [esi + 8], ecx
mov ecx, dword [edi + 4]
mov dword [edi], 0xfffffffe
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp + 0x10]
mov dword [edi + 4], 0
mov eax, dword [ecx]
mov dword [esi + 0x10], eax
mov dword [ebp - 4], 1
mov eax, dword [ecx + 4]
mov dword [ecx], 0xfffffffe
mov dword [esi + 0x14], eax
mov dword [ecx + 4], 0
mov ecx, dword [ebx + 8]
mov edi, dword [ebx + 0x1c]
movss xmm3, dword [ebx]
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10251df0]
mov eax, edi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x10251df0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
seta al
test al, al
je 0x10035e1e
divss xmm2, xmm3
movaps xmm0, xmm2
call fcn.10014820
call fcn.1019b850
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp edi, ecx
jae 0x10035dfd
cmp edi, 0x200
jae 0x10035dfb
shl edi, 3
cmp edi, ecx
jae 0x10035dfd
mov edi, ecx
push edi
mov ecx, ebx
call fcn.10036d50
push dword [ebp - 0x14]
lea eax, [esi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10037750
mov ecx, dword [ebx + 8]
mov edx, dword [eax]
jmp 0x10035e21
mov edx, dword [ebp - 0x20]
mov edi, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [ebx + 8], eax
mov dword [esi], edx
mov dword [esi + 4], edi
mov dword [edi], esi
mov dword [edx + 4], esi
mov eax, dword [ebx + 0x18]
and eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ecx + eax*8]
cmp ebx, dword [esi]
mov esi, dword [ebp - 0x18]
jne 0x10035e4f
mov dword [ecx + eax*8], esi
jmp 0x10035e5e
cmp ebx, edx
jne 0x10035e58
mov dword [ecx + eax*8], esi
jmp 0x10035e62
cmp dword [ecx + eax*8 + 4], edi
jne 0x10035e62
mov dword [ecx + eax*8 + 4], esi
mov eax, dword [ebp + 8]
mov byte [eax + 4], 1
mov ecx, dword [ebp - 0xc]
pop edi
mov dword [eax], esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc