Function at 0x100c7ac0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ed091
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x1011100c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2c], edx
mov edi, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [0x10116800]
cmp ecx, dword [eax + 0x120]
jne 0x100c7e8b
cmp edi, dword [0x10115000]
je 0x100c7e99
mov eax, dword [0x101168ec]
add eax, 0x40
mov dword [ebp - 0x24], eax
test edi, edi
je 0x100c7b39
lea esi, [edi + 8]
test esi, esi
je 0x100c7b39
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x24]
call eax
mov edx, eax
jmp 0x100c7b3e
xor edx, edx
lea esi, [edi + 8]
mov eax, edx
mov ebx, dword [ebp - 0x24]
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov ebx, dword [ebx + 4]
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x18]
and ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], ebx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [eax + ecx*8 + 4]
cmp eax, ebx
je 0x100c7bb4
mov ebx, dword [ebp - 0x30]
mov ecx, dword [ebx + ecx*8]
cmp edx, dword [eax + 8]
je 0x100c7bb6
cmp eax, ecx
je 0x100c7bb4
mov eax, dword [eax + 4]
cmp edx, dword [eax + 8]
jne 0x100c7ba6
jmp 0x100c7bb6
xor eax, eax
mov ebx, dword [0x101168ec]
test eax, eax
cmove eax, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x44]
je 0x100c7e8b
test edi, edi
je 0x100c7bde
test esi, esi
je 0x100c7bde
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x24]
call eax
jmp 0x100c7be0
xor eax, eax
mov dword [ebp - 0x34], eax
lea ecx, [ebx + 0x40]
lea eax, [ebp - 0x34]
push eax
call fcn.100aa040
mov ecx, dword fs:[0x2c]
mov ebx, eax
mov edx, dword [0x10114f34]
mov esi, dword [ecx + edx*4]
mov ecx, dword [0x10114fa8]
cmp ecx, dword [esi + 4]
jle 0x100c7c54
push 0x10114fa8
call fcn.100e0745
add esp, 4
cmp dword [0x10114fa8], 0xffffffff
jne 0x100c7c54
push str.m_flSimulationTime
push str.CBaseEntity
mov dword [ebp - 4], 0
call fcn.100df900
push 0x10114fa8
mov dword [0x10114fa4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e06f4
add esp, 4
mov eax, dword [0x10114fa4]
vmovss xmm0, dword [edi + eax]
vsubss xmm0, xmm0, dword [ebx]
vcomiss xmm0, dword [0x100ffae0]
jbe 0x100c7e8b
vmovss xmm0, dword [ebx + 0x10]
mov ecx, dword [0x10114fe8]
vmovss dword [ebp - 0x24], xmm0
cmp ecx, dword [esi + 4]
jle 0x100c7cd5
push 0x10114fe8
call fcn.100e0745
mov ecx, dword [0x10114fe8]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100c7cd5
push str.m_fFlags
push str.CBasePlayer
mov dword [ebp - 4], 1
call fcn.100df900
push 0x10114fe8
mov dword [0x10114fb8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e06f4
mov ecx, dword [0x10114fe8]
add esp, 4
mov eax, dword [0x10114fb8]
test byte [edi + eax], 1
jne 0x100c7e8b
test byte [ebx + 4], 1
jne 0x100c7e8b
xor dl, dl
mov byte [ebp - 0x1d], dl
cmp ecx, dword [esi + 4]
jle 0x100c7d4b
push 0x10114fe8
call fcn.100e0745
mov ecx, dword [0x10114fe8]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100c7d48
push str.m_fFlags
push str.CBasePlayer
mov dword [ebp - 4], 2
call fcn.100df900
push 0x10114fe8
mov dword [0x10114fb8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e06f4
mov ecx, dword [0x10114fe8]
add esp, 4
mov dl, byte [ebp - 0x1d]
mov eax, dword [0x10114fb8]
vmovss xmm1, dword [0x100ffcbc]
test byte [edi + eax], 2
je 0x100c7d73
test byte [ebx + 4], 2
jne 0x100c7d73
vaddss xmm0, xmm1, dword [ebp - 0x24]
mov dl, 1
vmovss dword [ebp - 0x24], xmm0
mov byte [ebp - 0x1d], dl
cmp ecx, dword [esi + 4]
jle 0x100c7dcb
push 0x10114fe8
call fcn.100e0745
add esp, 4
cmp dword [0x10114fe8], 0xffffffff
jne 0x100c7dc0
push str.m_fFlags
push str.CBasePlayer
mov dword [ebp - 4], 3
call fcn.100df900
push 0x10114fe8
mov dword [0x10114fb8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e06f4
add esp, 4
mov dl, byte [ebp - 0x1d]
vmovss xmm1, dword [0x100ffcbc]
mov eax, dword [0x10114fb8]
test byte [edi + eax], 2
jne 0x100c7dec
test byte [ebx + 4], 2
je 0x100c7dec
vmovss xmm0, dword [ebp - 0x24]
vsubss xmm0, xmm0, xmm1
vmovss dword [ebp - 0x24], xmm0
jmp 0x100c7df4
test dl, dl
je 0x100c7e8b
mov eax, dword [ebp - 0x28]
vmovss xmm0, dword [eax]
vmovss dword [ebp - 0x1c], xmm0
vmovss xmm0, dword [eax + 4]
mov eax, dword [0x10114fa8]
vmovss dword [ebp - 0x18], xmm0
cmp eax, dword [esi + 4]
jle 0x100c7e5c
push 0x10114fa8
call fcn.100e0745
add esp, 4
cmp dword [0x10114fa8], 0xffffffff
jne 0x100c7e5c
push str.m_flSimulationTime
push str.CBaseEntity
mov dword [ebp - 4], 4
call fcn.100df900
push 0x10114fa8
mov dword [0x10114fa4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e06f4
add esp, 4
mov esi, dword [0x10114fa4]
mov ecx, edi
call fcn.1001c7a0
vmovss xmm0, dword [eax + 8]
vsubss xmm1, xmm0, dword [ebp - 0x24]
vmovss xmm0, dword [edi + esi]
vsubss xmm0, xmm0, dword [ebx]
vdivss xmm0, xmm1, xmm0
lea eax, [ebp - 0x1c]
vmovss dword [ebp - 0x14], xmm0
push eax
jmp 0x100c7e8e
push dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov ecx, edi
call dword [sym.ateris.dll_void____fastcall___void___void___class_Vector_const___SetAbsVelocity::OriginalFunction]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100e01f7
mov esp, ebp
pop ebp
ret 4