Function at 0x100493c0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a4e89
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x10115040]
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 eax, dword [0x10118d8c]
mov ecx, dword [0x10118d98]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [0x10118d8c]
push eax
call esi
mov ebx, eax
test ebx, ebx
je 0x100496b3
mov edx, dword [0x10118d50]
mov ecx, dword fs:[0x2c]
mov eax, dword [0x10118f68]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [ecx + 4]
jle 0x10049478
push 0x10118f68
call fcn.100a102d
add esp, 4
cmp dword [0x10118f68], 0xffffffff
jne 0x10049478
mov edx, str.deadflag
mov dword [ebp - 4], 0
mov ecx, str.CBasePlayer
call fcn.1009c920
push 0x10118f68
mov dword [0x10118f80], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a0fdc
add esp, 4
mov eax, dword [0x10118f80]
cmp dword [ebx + eax], 0
jne 0x100496b3
push 0x4d
mov ecx, ebx
call fcn.10023680
test al, al
jne 0x100496b3
push 0x52
mov ecx, ebx
call fcn.10023680
test al, al
jne 0x100496b3
xor eax, eax
cmp byte [0x101150a4], al
sete al
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.10028cc0
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov dword [ebp - 0x18], ecx
cmp edi, ecx
je 0x10049582
mov esi, dword [edi]
test esi, esi
je 0x10049577
cmp esi, ebx
je 0x10049577
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x10118f68]
cmp eax, dword [edx + 4]
jle 0x1004953a
push 0x10118f68
call fcn.100a102d
add esp, 4
cmp dword [0x10118f68], 0xffffffff
jne 0x10049537
mov edx, str.deadflag
mov dword [ebp - 4], 1
mov ecx, str.CBasePlayer
call fcn.1009c920
push 0x10118f68
mov dword [0x10118f80], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a0fdc
add esp, 4
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x10118f80]
cmp dword [eax + esi], 0
je 0x10049577
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], esi
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.1004a7e0
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0xd], 0
jne 0x10049574
cmp esi, dword [eax + 0x10]
jb 0x10049574
cmp eax, dword [0x10119d38]
je 0x10049574
lea eax, [ebp - 0x14]
push eax
call fcn.10049c70
mov ecx, dword [ebp - 0x18]
add edi, 4
cmp edi, ecx
jne 0x100494d0
mov esi, dword [0x10119d38]
mov esi, dword [esi]
mov dword [ebp - 0x18], esi
cmp byte [esi + 0xd], 0
jne 0x1004970b
xor edi, edi
mov dword [ebp - 0x14], edi
cmp dword [esi + 0x24], edi
jbe 0x1004969c
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
add ecx, edi
dec eax
and ecx, eax
mov eax, dword [esi + 0x18]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebx]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x10049645
mov ecx, dword [ebp - 0x1c]
vmovss xmm0, dword [ebx + 0x1804]
mov eax, dword [0x10119438]
vmovss dword [ebp - 0x20], xmm0
cmp eax, dword [ecx + 4]
jle 0x10049625
push 0x10119438
call fcn.100a102d
add esp, 4
cmp dword [0x10119438], 0xffffffff
jne 0x10049625
mov edx, str.m_flSimulationTime
mov dword [ebp - 4], 2
mov ecx, str.CBaseEntity
call fcn.1009c920
push 0x10119438
mov dword [0x10119414], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a0fdc
add esp, 4
mov eax, dword [0x10119414]
mov ecx, dword [ebp - 0x24]
vmovss xmm1, dword [0x1010ae8c]
vmovss xmm0, dword [ecx + eax]
vsubss xmm0, xmm0, dword [ebp - 0x20]
vcomiss xmm1, xmm0
ja 0x1004968f
mov eax, dword [ebx]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10049b60
sub esp, 0xc
mov dword [ebp - 0x24], eax
mov edx, esp
sub esp, 0xc
add edi, dword [eax + 0xc]
mov ebx, dword [eax]
mov eax, esp
mov dword [edx + 4], 0
mov dword [edx], ebx
lea ecx, [edi + 1]
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x24]
mov dword [eax + 4], 0
mov dword [eax], ebx
mov dword [eax + 8], edi
lea eax, [ebp - 0x30]
push eax
call fcn.10049dd0
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, dword [esi + 0x24]
jb 0x100495a5
lea ecx, [ebp - 0x18]
call fcn.10019510
mov esi, dword [ebp - 0x18]
cmp byte [esi + 0xd], 0
je 0x10049597
jmp 0x1004970b
mov esi, dword [0x10119d38]
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
cmp byte [eax + 0xd], 0
jne 0x1004970b
mov edi, dword [eax + 0x10]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
push eax
call fcn.1004a7e0
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0xd], 0
jne 0x100496e5
cmp edi, dword [eax + 0x10]
jae 0x100496e7
mov eax, esi
cmp eax, esi
je 0x100496fa
lea eax, [ebp - 0x1c]
push eax
call fcn.10049c70
mov esi, dword [0x10119d38]
lea ecx, [ebp - 0x14]
call fcn.10019510
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0xd], 0
je 0x100496c4
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.100a0c1e
mov esp, ebp
pop ebp
ret