Function at 0x10161e80
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101bd9ed
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x10210050]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x101622d9
mov eax, dword [eax + 0x64]
cmp eax, 0x41
jae 0x101622d9
push eax
imul ebx, eax, 0xc4
call fcn.10149f70
push 2
lea edi, [esi + 0x1890]
mov dword [ebp - 0x14], eax
push 0x101ec688
mov ecx, edi
call fcn.1003ffa0
movss xmm1, dword [esi + 0x24]
movss xmm0, dword [esi + 0x20]
mov dword [esi + 0x18a8], 3
call fcn.10065b10
mulss xmm0, dword [0x101ed58c]
subss xmm0, dword [0x101ed60c]
movss dword [ebp - 0x18], xmm0
call fcn.10153f20
mov edx, eax
test edx, edx
je case.default.0x10162149
mov dword [ebx + 0x102a4274], 0x7f7fffff
xorps xmm1, xmm1
mov ecx, dword [0x102763f0]
movss dword [ebp - 0x20], xmm1
cmp byte [ecx + edx], 0
jne 0x10161f87
mov eax, dword [0x10276304]
lea ecx, [ebp - 0x30]
movss xmm2, dword [eax + edx]
movss xmm1, dword [eax + edx + 4]
movss xmm0, dword [eax + edx + 8]
lea edx, [ebp - 0x24]
subss xmm2, dword [esi + 8]
subss xmm1, dword [esi + 0xc]
subss xmm0, dword [esi + 0x10]
movss dword [ebp - 0x30], xmm2
movss dword [ebp - 0x2c], xmm1
movss dword [ebp - 0x28], xmm0
call fcn.10151820
movss xmm1, dword [ebp - 0x20]
subss xmm1, dword [0x101ed60c]
mov edx, dword [ebp - 0x14]
movss dword [ebp - 0x38], xmm1
test edx, edx
je 0x10162007
cmp dword [edx + 0x10], 2
jb 0x10162007
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
inc eax
movss xmm0, dword [esi + 0x6c]
dec ecx
and ecx, eax
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*4]
ucomiss xmm0, dword [eax + 0x44]
lahf
test ah, 0x44
jnp 0x10162007
mov eax, dword [esi + 0x6c]
mov ecx, edi
push 6
push str.NS:UPD
mov dword [esi + 0x3c], eax
call fcn.1003ffa0
mov eax, dword [esi + 0x6c]
movss xmm1, dword [ebp - 0x18]
mov dword [ebx + 0x102a42ac], eax
movss dword [ebx + 0x102a42a8], xmm1
mov eax, dword [esi + 0x64]
mov dword [ebx + 0x102a42b0], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x64]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x10], edx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
movzx eax, al
imul ecx, ecx, 0x1000193
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edx
imul eax, eax, 0x1000193
push eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100734d0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x10162131
cmp dword [0x102aefc8], 0xfffffff
je 0x101622de
mov dword [ebp - 0x20], 0x102aefc4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
push 0x10
mov dword [ebp - 0x1c], eax
call fcn.1016fd4c
mov ecx, dword [ebp - 0x10]
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], eax
add eax, 8
mov dword [ebp - 0x3c], eax
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 4], 1
mov ecx, dword [0x102aefc8]
mov eax, dword [0x102aefdc]
inc ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x101ede20]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101ede20]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [0x102aefc0]
jbe 0x1016210f
call fcn.10072ea0
push dword [ebp - 0x14]
lea eax, [ebp - 0x40]
push dword [ebp - 0x3c]
push eax
call fcn.100734d0
mov ecx, dword [eax]
jmp 0x10162112
mov ecx, dword [ebp - 0x2c]
push dword [ebp - 0x34]
mov dword [ebp - 0x1c], 0
push ecx
push dword [ebp - 0x14]
call fcn.10072f00
mov dword [ebp - 4], 0xffffffff
movss xmm1, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
and eax, 0x80000007
jns 0x10162140
dec eax
or eax, 0xfffffff8
inc eax
cmp eax, 0xb
ja case.default.0x10162149
jmp dword [eax*4 + 0x101622e8]
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x3c], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
movss xmm0, dword [ebx + 0x102a42b0]
ucomiss xmm0, dword [0x101ed694]
lahf
test ah, 0x44
jnp 0x101621df
movss xmm0, dword [esi + 0x64]
subss xmm0, dword [ebx + 0x102a42b0]
call fcn.100490f0
movss xmm1, dword [0x101ed3b8]
comiss xmm1, xmm0
jbe 0x101621df
movss xmm1, dword [ebx + 0x102a42ac]
movss xmm0, dword [ebx + 0x102a42a8]
call fcn.10151bf0
addss xmm0, dword [ebp - 0x18]
push 7
push str.NS:DIFF
movss dword [esi + 0x3c], xmm0
mov ecx, edi
call fcn.1003ffa0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
movss xmm0, dword [esi + 0x6c]
subss xmm0, dword [0x101ed5a0]
push 5
push str.NS:L1
movss dword [esi + 0x3c], xmm0
jmp 0x101621c4
movss xmm0, dword [esi + 0x6c]
addss xmm0, dword [0x101ed564]
push 5
push str.NS:L4
movss dword [esi + 0x3c], xmm0
jmp 0x101621c4
movss xmm0, dword [esi + 0x6c]
addss xmm0, dword [0x101ed5a0]
push 5
push str.NS:L2
movss dword [esi + 0x3c], xmm0
jmp 0x101621c4
movss xmm0, dword [esi + 0x6c]
subss xmm0, dword [0x101ed564]
push 5
push str.NS:L3
movss dword [esi + 0x3c], xmm0
jmp 0x101621c4
push 5
movss dword [esi + 0x3c], xmm1
push str.NS:B1
jmp 0x101621c4
addss xmm1, dword [0x101ed5a0]
push 5
push str.NS:B2
movss dword [esi + 0x3c], xmm1
jmp 0x101621c4
subss xmm1, dword [0x101ed5a0]
push 5
push str.NS:B3
movss dword [esi + 0x3c], xmm1
jmp 0x101621c4
addss xmm1, dword [0x101ed564]
push 5
push str.NS:B4
movss dword [esi + 0x3c], xmm1
jmp 0x101621c4
subss xmm1, dword [0x101ed564]
push 5
push str.NS:B5
movss dword [esi + 0x3c], xmm1
jmp 0x101621c4
movss xmm1, dword [ebp - 0x18]
push 6
movss dword [esi + 0x3c], xmm1
push str.NS:VEL
jmp 0x101621c4
call fcn.1006aa40
push str.unordered_map_set_too_long
call fcn.1016e2ab
push eax
and dword [esi], edx
adc byte [eax + 0x21], dl
push ss
adc byte [edx + 0x21], ch
push ss
adc dl, bh
and dword [esi], edx
adc byte [0x30101622], dl
and dl, byte [esi]
adc byte [esi + 0x22], cl
push ss
adc byte [edi + 0x22], bl
push ss
adc byte [eax + 0x22], bh
push ss
adc byte [ecx - 0x55efe9de], dl
and dl, byte [esi]
adc bl, al
and dl, byte [esi]
adc ah, cl
int3