Function at 0x10060580
Capabilities:
Access peb ldr_data
Get kernel32 base address
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xe0
cmp dword [0x102a5680], 0
push esi
push edi
je 0x100606cd
cmp byte [0x102a5688], 0
je 0x100606cd
mov esi, dword [0x1029d7cc]
call fcn.1010ed50
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x10062d46
lea esi, [esi + esi*2]
shl esi, 4
add esi, 8
add esi, edi
je 0x100605fd
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x100605fd
add eax, 4
push 0x102985bc
push eax
call fcn.101e31c2
add esp, 8
test eax, eax
je 0x100605ff
xor esi, esi
cmp byte [esi], 0
je 0x100606cd
mov ecx, dword [0x102a5680]
call fcn.10003f50
mov eax, dword [eax]
test eax, eax
je 0x100606cd
push eax
call fcn.10004330
mov edi, eax
test edi, edi
je 0x100606cd
mov esi, dword [0x1029d7d8]
call fcn.1010ed50
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, 0x2aaaaaab
sub ecx, edx
mov dword [esp + 0xc], edx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x10062d46
lea eax, [esi + esi*2]
mov esi, dword [esp + 0xc]
shl eax, 4
add esi, 8
add esi, eax
je 0x1006068a
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x1006068a
add eax, 4
push 0x102985bc
push eax
call fcn.101e31c2
add esp, 8
test eax, eax
je 0x1006068c
xor esi, esi
cmp byte [esi], 0
je 0x100606d3
mov ecx, edi
call fcn.10179020
test al, al
jne 0x100606e7
cmp byte [0x102b18d5], al
je 0x100606cd
mov byte [0x102b18c7], 0
mov byte [0x102b18d4], 0
mov byte [0x102b18d5], 0
mov dword [0x102b18d8], 0
mov dword [0x102b18e8], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [0x102b18d5], 0
jne 0x100606e7
mov ecx, edi
call fcn.10179020
test al, al
je 0x100606cd
mov ecx, dword [0x102b190c]
test ecx, ecx
je 0x10060730
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x10060730
mov ecx, dword [0x102a5680]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x102b190c]
push eax
mov eax, 0x4ec4ec4f
mov esi, dword [ecx + 4]
sub esi, dword [ecx]
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
push eax
call fcn.10065940
add esp, 8
cmp byte [0x102b18c6], 0
je 0x10060811
mov eax, dword fs:[0x2c]
mov edx, dword [0x102999e4]
mov edi, dword [ebp + 8]
mov esi, dword [eax + edx*4]
mov eax, dword [0x1029a1bc]
cmp eax, dword [esi + 4]
jle 0x1006079d
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x1006079d
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
test byte [eax + edi], 1
jne 0x10060808
mov eax, dword [0x1029a1bc]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x100607f9
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x100607f9
lea eax, [esp + 0x10]
mov dword [esp + 0x10], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
mov eax, dword [eax + edi]
shr eax, 0xb
test al, 1
je 0x10060811
mov byte [0x102b18c5], 1
jmp 0x1006081e
cmp byte [0x102b18c5], 0
je 0x10060906
cmp byte [0x102b18c6], 0
je 0x10060906
mov eax, dword [0x102999e4]
mov ecx, dword fs:[0x2c]
mov edi, dword [ebp + 8]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1029a1bc]
cmp eax, dword [esi + 4]
jle 0x1006088b
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x1006088b
lea eax, [esp + 0x58]
mov dword [esp + 0x58], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
test byte [eax + edi], 1
jne 0x10060906
mov eax, dword [0x1029a1bc]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x100608e7
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x100608e7
lea eax, [esp + 0x14]
mov dword [esp + 0x14], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
mov eax, dword [edi + eax]
shr eax, 0xb
test al, 1
jne 0x10060906
mov byte [0x102b18c4], 1
mov byte [0x102b18c6], 0
jmp 0x10060913
cmp byte [0x102b18c4], 0
je 0x10060b38
mov eax, dword [0x102b18c8]
cmp eax, dword [0x102b18cc]
jne 0x1006098f
mov eax, dword [0x102999e4]
mov ecx, dword fs:[0x2c]
mov esi, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1029a1bc]
cmp eax, dword [ecx + 4]
jle 0x10060980
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x10060980
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
cmp dword [esi + eax], 0
je 0x100606cd
mov eax, dword [0x102999e4]
mov ecx, dword fs:[0x2c]
mov edi, dword [ebp + 8]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1029a1bc]
cmp eax, dword [esi + 4]
jle 0x100609ef
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x100609ef
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
test byte [edi + eax], 1
jne 0x10060b24
mov eax, dword [0x1029a1bc]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x10060a4f
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x10060a4f
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
mov eax, dword [edi + eax]
shr eax, 0xb
test al, 1
jne 0x10060b24
mov eax, dword [0x102b18c8]
cmp eax, dword [0x102b18cc]
jne 0x10060ade
mov eax, dword [0x102bbc8c]
mov edi, dword [0x102a5680]
cmp eax, dword [esi + 4]
jle 0x10060acb
push 0x102bbc8c
call fcn.101e23b9
add esp, 4
cmp dword [0x102bbc8c], 0xffffffff
jne 0x10060acb
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.Weapon_ShootPosition
push eax
lea eax, [esp + 0x6c]
mov ecx, 0x102a5794
push eax
call fcn.10006340
push 0x102bbc8c
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [0x102bbc90], eax
call fcn.101e236f
add esp, 4
mov edx, dword [edi]
mov ecx, edi
mov eax, dword [0x102bbc90]
push 0x10297bc0
mov eax, dword [edx + eax*4]
call eax
mov ecx, dword [0x102a5680]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x102b18cc]
push eax
cmp ecx, dword [0x102b18d0]
je 0x10060b0f
push dword [ebp + 8]
call fcn.1005dbd0
add dword [0x102b18cc], 0x2c
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp + 8]
push eax
push ecx
mov ecx, 0x102b18c8
call fcn.10064df0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x102b18c4], 0
mov byte [0x102b18c6], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [0x102b18d5], 0
je 0x10060da8
mov esi, dword [0x1029d7d4]
call fcn.1010ed50
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x10062d46
lea esi, [esi + esi*2]
shl esi, 4
add esi, 8
add esi, edi
je 0x10060b9a
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x10060b9a
add eax, 4
push 0x102985c8
push eax
call fcn.101e31c2
add esp, 8
test eax, eax
je 0x10060b9c
xor esi, esi
mov al, byte [0x102b18d4]
mov edi, dword [esi]
test al, al
je 0x10060bbc
xor ecx, ecx
movzx eax, al
cmp dword [edi*4 + 0x102b2190], 2
cmovne eax, ecx
mov byte [0x102b18d4], al
mov eax, dword [ebp + 8]
mov ecx, dword fs:[0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [0x102999e4]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x1029a1bc]
cmp ecx, dword [esi + 4]
jle 0x10060c29
push 0x1029a1bc
call fcn.101e23b9
mov ecx, dword [0x1029a1bc]
add esp, 4
cmp ecx, 0xffffffff
jne 0x10060c29
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
mov ecx, dword [0x1029a1bc]
add esp, 4
mov eax, dword [0x1029a1b8]
mov edx, dword [esp + 0x10]
test byte [edx + eax], 1
jne 0x100606a4
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
cmp ecx, dword [esi + 4]
jle 0x10060c8c
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x10060c8c
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + eax]
shr eax, 0xb
test al, 1
jne 0x100606a4
cmp byte [0x102b18d4], 0
jne 0x10060cba
cmp dword [edi*4 + 0x102b2190], 2
je 0x100606a4
mov ecx, dword [0x102b18e0]
mov eax, 0x2e8ba2e9
sub ecx, dword [0x102b18dc]
mov edi, dword [0x102b18d8]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x10060d7f
push dword [ebp + 8]
imul ecx, edi, 0x2c
add ecx, dword [0x102b18dc]
call fcn.1005de10
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [0x1029a1c4]
cmp eax, dword [esi + 4]
jle 0x10060d4b
push 0x1029a1c4
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1c4], 0xffffffff
jne 0x10060d4b
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.viewangles
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1c4
mov eax, dword [eax]
mov dword [0x1029a1c0], eax
call fcn.101e236f
add esp, 4
mov ecx, dword [0x1029a1c0]
add ecx, dword [esp + 0x10]
push ecx
call fcn.10037840
mov ecx, dword [0x102b18e0]
lea esi, [edi + 1]
sub ecx, dword [0x102b18dc]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jne 0x10060d9c
xor esi, esi
mov byte [0x102b18d5], 0
mov dword [0x102b18e8], esi
mov byte [0x102b18d4], 0
mov byte [0x102b18c7], 0
mov dword [0x102b18d8], esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x102b190c]
test ecx, ecx
je 0x100606cd
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x100606cd
cmp dword [0x102b18e8], 0
jne 0x10060e3a
cmp byte [0x102b18c7], 0
jne 0x10060e3a
mov esi, dword [0x1029d7d4]
call fcn.1010ed50
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x10062d46
lea esi, [esi + esi*2]
shl esi, 4
add esi, 8
add esi, edi
je 0x10060e28
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x10060e28
add eax, 4
push 0x102985c8
push eax
call fcn.101e31c2
add esp, 8
test eax, eax
je 0x10060e2a
xor esi, esi
mov eax, dword [esi]
cmp dword [eax*4 + 0x102b2190], 2
jne 0x100606cd
mov ecx, dword [0x102a5680]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
cmp dword [0x102b18e8], 0
mov edi, eax
mov eax, dword [0x102999e4]
mov ecx, dword fs:[0x2c]
mov dword [esp + 0x58], edi
je 0x10061b82
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x1029a1bc]
mov edi, dword [ebp + 8]
cmp ecx, dword [esi + 4]
jle 0x10060ec3
push 0x1029a1bc
call fcn.101e23b9
mov ecx, dword [0x1029a1bc]
add esp, 4
cmp ecx, 0xffffffff
jne 0x10060ec3
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
mov ecx, dword [0x1029a1bc]
add esp, 4
mov eax, dword [0x1029a1b8]
test byte [edi + eax], 1
jne 0x100606a4
mov edi, dword [ebp + 8]
cmp ecx, dword [esi + 4]
jle 0x10060f1e
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x10060f1e
lea eax, [esp + 0x10]
mov dword [esp + 0x10], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
mov eax, dword [edi + eax]
shr eax, 0xb
test al, 1
jne 0x100606a4
mov eax, dword [0x102b18e8]
mov ecx, dword [eax + 4]
movq xmm0, qword [ecx]
mov eax, dword [ecx + 8]
movq qword [esp + 0x38], xmm0
movss xmm0, dword [ecx + 0x10]
mulss xmm0, dword [0x1026b9d0]
mov dword [esp + 0x40], eax
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x68], xmm0
call fcn.1020a6d0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [esp + 0x38]
mulss xmm1, dword [0x1026bbfc]
addss xmm1, xmm0
subss xmm0, xmm1
movss dword [esp + 0x34], xmm0
movsd xmm0, qword [esp + 0x68]
call fcn.1020b950
movss xmm2, dword [esp + 0x3c]
movss xmm3, dword [esp + 0x40]
cvtsd2ss xmm0, xmm0
subss xmm3, xmm3
mulss xmm0, dword [0x1026bbfc]
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x20], xmm3
subss xmm2, xmm0
movss xmm0, dword [esp + 0x34]
mulss xmm0, xmm0
movaps xmm1, xmm2
movss dword [esp + 0x28], xmm2
mulss xmm1, xmm2
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10060ff7
sqrtsd xmm0, xmm0
jmp 0x10060ffc
call fcn.1020bb20
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm2, xmm0
movss dword [esp + 0x4c], xmm1
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10061041
movss xmm0, dword [esp + 0x34]
divss xmm0, xmm2
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x28]
divss xmm0, xmm2
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x20]
divss xmm0, xmm2
jmp 0x10061050
xorps xmm0, xmm0
movss dword [esp + 0x34], xmm1
movss dword [esp + 0x28], xmm0
mov edi, dword [esp + 0x58]
movss dword [esp + 0x20], xmm0
movss xmm1, dword [edi + 4]
subss xmm1, dword [esp + 0x3c]
movss xmm2, dword [edi]
subss xmm2, dword [esp + 0x38]
movss xmm0, dword [edi + 8]
subss xmm0, dword [esp + 0x40]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100610a0
sqrtsd xmm0, xmm0
jmp 0x100610a5
call fcn.1020bb20
cvtsd2ss xmm0, xmm0
mov eax, dword [edi + 8]
mov dword [esp + 0x64], eax
movss xmm7, dword [esp + 0x4c]
movss dword [esp + 0xc], xmm0
movaps xmm1, xmm7
subss xmm0, dword [0x1026bca8]
movss xmm5, dword [esp + 0x38]
movss xmm2, dword [esp + 0x28]
movss xmm6, dword [esp + 0x3c]
movss xmm4, dword [esp + 0x20]
movaps xmm3, xmm6
maxss xmm1, xmm0
movss xmm0, dword [esp + 0x34]
mulss xmm0, xmm1
addss xmm0, xmm5
movss dword [esp + 0x1c], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm1
addss xmm0, xmm6
movss dword [esp + 0x18], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm1
movss xmm1, dword [0x1026bd10]
addss xmm0, dword [esp + 0x40]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x34]
mulss xmm0, xmm1
subss xmm5, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm1
subss xmm3, xmm0
movss dword [esp + 0x50], xmm5
movaps xmm0, xmm4
mulss xmm0, xmm1
movss dword [esp + 0x30], xmm3
movss xmm3, dword [esp + 0x40]
subss xmm3, xmm0
movq xmm0, qword [edi]
movq qword [esp + 0x5c], xmm0
movaps xmm0, xmm5
movss xmm5, dword [esp + 0x30]
subss xmm5, dword [esp + 0x18]
subss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x10], xmm3
movss dword [esp + 0x14], xmm5
movaps xmm5, xmm3
subss xmm5, dword [esp + 0x2c]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x5c]
subss xmm0, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x14]
movss dword [esp + 0x28], xmm5
movss xmm5, dword [esp + 0x60]
subss xmm5, dword [esp + 0x18]
mulss xmm0, dword [esp + 0x20]
mulss xmm1, xmm1
mulss xmm5, dword [esp + 0x14]
addss xmm5, xmm0
movss xmm0, dword [esp + 0x64]
subss xmm0, dword [esp + 0x2c]
mulss xmm0, dword [esp + 0x28]
addss xmm5, xmm0
movss xmm0, dword [esp + 0x20]
mulss xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [esp + 0x28]
mulss xmm0, xmm0
addss xmm1, xmm0
divss xmm5, xmm1
comiss xmm7, xmm5
ja 0x10061272
comiss xmm5, dword [0x1026bac0]
jbe 0x10061232
movss xmm1, dword [esp + 0x50]
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x2c], xmm3
jmp 0x10061278
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0x20]
addss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x1c], xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0x14]
mulss xmm5, dword [esp + 0x28]
addss xmm0, dword [esp + 0x18]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x2c]
addss xmm0, xmm5
movss dword [esp + 0x2c], xmm0
movss xmm1, dword [esp + 0x50]
movss xmm0, dword [esp + 0xc]
movss xmm3, dword [esp + 0x34]
mulss xmm4, xmm0
mov dword [esp + 0x64], eax
mulss xmm3, xmm0
addss xmm4, dword [esp + 0x40]
mulss xmm2, xmm0
movq xmm0, qword [edi]
addss xmm3, dword [esp + 0x38]
movq qword [esp + 0x5c], xmm0
addss xmm2, xmm6
movss xmm0, dword [esp + 0x10]
movaps xmm6, xmm1
movss xmm1, dword [esp + 0x30]
subss xmm0, xmm4
movss xmm5, dword [esp + 0x60]
subss xmm6, xmm3
movss dword [esp + 0x34], xmm3
subss xmm1, xmm2
movss dword [esp + 0x28], xmm2
subss xmm5, xmm2
movss dword [esp + 0x20], xmm4
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x5c]
subss xmm0, xmm3
movss dword [esp + 0xc], xmm1
mulss xmm5, xmm1
mulss xmm1, xmm1
mulss xmm0, xmm6
addss xmm5, xmm0
movss xmm0, dword [esp + 0x64]
subss xmm0, xmm4
mulss xmm0, dword [esp + 0x14]
addss xmm5, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm6
addss xmm1, xmm0
movss xmm0, dword [esp + 0x14]
mulss xmm0, xmm0
addss xmm1, xmm0
divss xmm5, xmm1
comiss xmm7, xmm5
ja 0x100613a4
comiss xmm5, dword [0x1026bac0]
jbe 0x10061370
movss xmm0, dword [esp + 0x50]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x10]
movss dword [esp + 0x20], xmm0
jmp 0x100613a4
movaps xmm0, xmm5
mulss xmm0, xmm6
addss xmm3, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0xc]
mulss xmm5, dword [esp + 0x14]
addss xmm2, xmm0
movss dword [esp + 0x34], xmm3
addss xmm4, xmm5
movss dword [esp + 0x28], xmm2
movss dword [esp + 0x20], xmm4
mov ecx, dword [0x102a5680]
call fcn.100088d0
movss xmm1, dword [esp + 0x38]
movss xmm0, dword [esp + 0x3c]
subss xmm0, dword [edi + 4]
subss xmm1, dword [edi]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x100613e2
sqrtsd xmm0, xmm0
jmp 0x100613e7
call fcn.1020bb20
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [0x1026bba0]
comiss xmm0, xmm1
jb 0x10061455
mov eax, dword [0x102b18e8]
add eax, 4
mov byte [0x102b18c7], 0
mov byte [0x102b18d4], 1
mov byte [0x102b18d5], 1
cmp eax, 0x102b18dc
je 0x1006142d
push dword [esp + 0x78]
push dword [eax + 4]
push dword [eax]
call fcn.10065bf0
push dword [ebp + 0xc]
mov dword [0x102b18d8], 0
push dword [ebp + 8]
mov dword [0x102b18e8], 0
call fcn.10060580
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0x1c]
lea edx, [esp + 0x68]
subss xmm0, dword [edi]
lea ecx, [esp + 0x5c]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0x18]
subss xmm0, dword [edi + 4]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x2c]
subss xmm0, dword [edi + 8]
movss dword [esp + 0x64], xmm0
call fcn.1011dde0
movss xmm0, dword [esp + 0x68]
movss xmm2, dword [0x1026bca4]
comiss xmm0, xmm2
movss xmm1, dword [0x1026bd04]
jbe 0x100614d6
subss xmm0, xmm1
comiss xmm0, xmm2
ja 0x100614c7
movss dword [esp + 0x68], xmm0
movss xmm2, dword [0x1026be78]
comiss xmm2, xmm0
jbe 0x100614f2
addss xmm0, xmm1
comiss xmm2, xmm0
ja 0x100614e3
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x6c]
comiss xmm0, xmm1
movss xmm2, dword [0x1026bd68]
jbe 0x10061514
subss xmm0, xmm2
comiss xmm0, xmm1
ja 0x10061505
movss dword [esp + 0x6c], xmm0
movss xmm1, dword [0x1026be90]
comiss xmm1, xmm0
jbe 0x10061530
addss xmm0, xmm2
comiss xmm1, xmm0
ja 0x10061521
movss dword [esp + 0x6c], xmm0
mov eax, dword [0x1029a330]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x10061581
push 0x1029a330
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a330], 0xffffffff
jne 0x10061581
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.forwardmove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a330
mov eax, dword [eax]
mov dword [0x1029a32c], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a32c]
mov dword [edi + eax], 0x43e10000
mov eax, dword [0x1029a328]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x100615de
push 0x1029a328
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a328], 0xffffffff
jne 0x100615de
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.sidemove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a328
mov eax, dword [eax]
mov dword [0x1029a324], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a324]
mov dword [eax + edi], 0
mov eax, dword [0x1029a1bc]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x1006163b
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x1006163b
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
or dword [eax + edi], 0x40000
mov eax, dword [0x1029a328]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x10061698
push 0x1029a328
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a328], 0xffffffff
jne 0x10061698
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.sidemove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a328
mov eax, dword [eax]
mov dword [0x1029a324], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a324]
movss xmm0, dword [eax + edi]
mov eax, dword [0x1029a330]
mov edi, dword [ebp + 8]
movss dword [esp + 0xc], xmm0
cmp eax, dword [esi + 4]
jle 0x100616ff
push 0x1029a330
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a330], 0xffffffff
jne 0x100616f9
lea eax, [esp + 0x10]
mov dword [esp + 0x10], str.forwardmove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a330
mov eax, dword [eax]
mov dword [0x1029a32c], eax
call fcn.101e236f
add esp, 4
movss xmm0, dword [esp + 0xc]
mov eax, dword [0x1029a32c]
lea ecx, [esp + 0x68]
mov edx, dword [ebp + 8]
movaps xmm3, xmm0
movss xmm2, dword [eax + edi]
call fcn.1011dad0
mov edi, dword [esp + 0x58]
movss xmm1, dword [esp + 0x34]
movss xmm0, dword [esp + 0x28]
movss xmm2, dword [esp + 0x20]
subss xmm0, dword [edi + 4]
subss xmm1, dword [edi]
subss xmm2, dword [edi + 8]
mulss xmm0, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm0, xmm1
xorps xmm1, xmm1
addss xmm0, xmm2
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x10061762
sqrtsd xmm0, xmm0
jmp 0x10061767
call fcn.1020bb20
mov ecx, dword [0x1029a328]
xorps xmm2, xmm2
mov edi, dword [ebp + 8]
cvtsd2ss xmm2, xmm0
movaps xmm1, xmm2
xorps xmm2, xmmword [0x1026c420]
mulss xmm1, dword [0x1026bc70]
mulss xmm2, dword [0x1026bc70]
movss dword [esp + 0x18], xmm1
movss dword [esp + 0xc], xmm2
cmp ecx, dword [esi + 4]
jle 0x100617fa
push 0x1029a328
call fcn.101e23b9
mov ecx, dword [0x1029a328]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100617ee
lea eax, [esp + 0x10]
mov dword [esp + 0x10], str.sidemove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a328
mov eax, dword [eax]
mov dword [0x1029a324], eax
call fcn.101e236f
mov ecx, dword [0x1029a328]
add esp, 4
movss xmm2, dword [esp + 0xc]
movss xmm1, dword [esp + 0x18]
mov eax, dword [0x1029a324]
movss xmm0, dword [eax + edi]
comiss xmm0, xmm1
ja 0x1006181c
comiss xmm2, xmm0
jbe 0x10061816
movss dword [esp + 0x18], xmm2
jmp 0x1006181c
movss dword [esp + 0x18], xmm0
mov edi, dword [ebp + 8]
cmp ecx, dword [esi + 4]
jle 0x10061868
push 0x1029a328
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a328], 0xffffffff
jne 0x10061868
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.sidemove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a328
mov eax, dword [eax]
mov dword [0x1029a324], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a324]
movss xmm0, dword [esp + 0x18]
movss dword [eax + edi], xmm0
mov ecx, dword [0x1029a330]
mov edi, dword [ebp + 8]
cmp ecx, dword [esi + 4]
jle 0x100618d2
push 0x1029a330
call fcn.101e23b9
mov ecx, dword [0x1029a330]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100618d2
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.forwardmove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a330
mov eax, dword [eax]
mov dword [0x1029a32c], eax
call fcn.101e236f
mov ecx, dword [0x1029a330]
add esp, 4
mov eax, dword [0x1029a32c]
mov edx, dword [esi + 4]
movss xmm0, dword [eax + edi]
comiss xmm0, dword [esp + 0x4c]
mov edi, dword [ebp + 8]
jbe 0x10061943
cmp dword [0x1029a1bc], edx
jle 0x10061935
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x10061935
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
or dword [eax + edi], 8
jmp 0x100619f3
cmp ecx, edx
jle 0x10061988
push 0x1029a330
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a330], 0xffffffff
jne 0x10061988
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.forwardmove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a330
mov eax, dword [eax]
mov dword [0x1029a32c], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a32c]
movss xmm0, dword [esp + 0x4c]
comiss xmm0, dword [eax + edi]
jbe 0x100619f3
mov eax, dword [0x1029a1bc]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x100619ea
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x100619ea
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
or dword [eax + edi], 0x10
mov ecx, dword [0x1029a328]
mov edi, dword [ebp + 8]
cmp ecx, dword [esi + 4]
jle 0x10061a4d
push 0x1029a328
call fcn.101e23b9
mov ecx, dword [0x1029a328]
add esp, 4
cmp ecx, 0xffffffff
jne 0x10061a4d
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.sidemove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a328
mov eax, dword [eax]
mov dword [0x1029a324], eax
call fcn.101e236f
mov ecx, dword [0x1029a328]
add esp, 4
mov eax, dword [0x1029a324]
mov edx, dword [esi + 4]
movss xmm0, dword [eax + edi]
comiss xmm0, dword [esp + 0x4c]
jbe 0x10061ac2
mov esi, dword [ebp + 8]
cmp dword [0x1029a1bc], edx
jle 0x10061ab0
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x10061ab0
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
or dword [eax + esi], 0x400
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
cmp ecx, edx
jle 0x10061b0a
push 0x1029a328
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a328], 0xffffffff
jne 0x10061b0a
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.sidemove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a328
mov eax, dword [eax]
mov dword [0x1029a324], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a324]
movss xmm0, dword [esp + 0x4c]
comiss xmm0, dword [eax + edi]
jbe 0x100606cd
mov eax, dword [0x1029a1bc]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x10061b70
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x10061b70
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
or dword [eax + edi], 0x200
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1029a1c4]
mov esi, dword [ebp + 8]
mov dword [esp + 0x20], ecx
cmp eax, dword [ecx + 4]
jle 0x10061bda
push 0x1029a1c4
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1c4], 0xffffffff
jne 0x10061bda
lea eax, [esp + 0xc]
mov dword [esp + 0xc], str.viewangles
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1c4
mov eax, dword [eax]
mov dword [0x1029a1c0], eax
call fcn.101e236f
add esp, 4
mov ecx, dword [0x1029a1c0]
lea eax, [esp + 0x4c]
movss xmm1, dword [0x1026b9d0]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x30], eax
movss xmm0, dword [ecx + esi + 4]
mulss xmm0, xmm1
movss dword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fsincos
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [ecx + esi]
lea eax, [esp + 0x50]
mulss xmm0, xmm1
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x30], eax
movss dword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fsincos
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [esp + 0x50]
movss xmm2, dword [esp + 0x1c]
movaps xmm3, xmm0
mulss xmm0, dword [esp + 0x18]
mulss xmm3, dword [esp + 0x4c]
xorps xmm2, xmmword [0x1026c420]
movaps xmm1, xmm0
mulss xmm1, xmm0
movss dword [esp + 0x4c], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm2, xmm2
addss xmm1, xmm0
movss dword [esp + 0xc], xmm3
addss xmm1, xmm2
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10061ca5
sqrtsd xmm0, xmm0
jmp 0x10061caa
call fcn.1020bb20
cvtsd2ss xmm0, xmm0
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10061cd0
movss xmm3, dword [esp + 0x4c]
movss xmm2, dword [esp + 0xc]
divss xmm3, xmm0
divss xmm2, xmm0
jmp 0x10061cd6
xorps xmm3, xmm3
xorps xmm2, xmm2
mulss xmm3, dword [0x1026bda0]
mov esi, dword [0x1029d7e8]
movss xmm0, dword [edi + 4]
mulss xmm2, dword [0x1026bda0]
movaps xmm4, xmm0
movss xmm1, dword [edi]
addss xmm3, xmm0
addss xmm2, xmm1
subss xmm4, xmm3
mulss xmm3, xmm1
movss dword [esp + 0x28], xmm4
movaps xmm4, xmm2
mulss xmm2, xmm0
subss xmm4, xmm1
subss xmm3, xmm2
movss dword [esp + 0x34], xmm4
movss dword [esp + 0x4c], xmm3
call fcn.1010ed50
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x10062d46
lea esi, [esi + esi*2]
shl esi, 4
add esi, 8
add esi, edi
je 0x10061d78
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x10061d78
add eax, 4
push 0x102985d4
push eax
call fcn.101e31c2
add esp, 8
test eax, eax
je 0x10061d7a
xor esi, esi
mov eax, dword [0x102b190c]
movss xmm0, dword [esi]
movss dword [esp + 0xc], xmm0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x78], eax
cmp ecx, eax
je 0x100606cd
movsd xmm0, qword [0x1026bb68]
movsd qword [esp + 0x68], xmm0
nop dword [eax]
mov esi, dword [ecx + 4]
lea edi, [ecx + 4]
mov dword [esp + 0x30], edi
movq xmm0, qword [esi]
mov eax, dword [esi + 8]
movq qword [esp + 0x5c], xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, dword [0x1026b9d0]
mov dword [esp + 0x64], eax
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x38], xmm0
call fcn.1020a6d0
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x1026bbfc]
addss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x54], xmm0
movsd xmm0, qword [esp + 0x38]
call fcn.1020b950
mov eax, dword [esp + 0x58]
movss xmm2, dword [esi]
movss xmm1, dword [esi + 4]
cvtsd2ss xmm0, xmm0
movss xmm3, dword [eax + 8]
mulss xmm0, dword [0x1026bbfc]
movss dword [esp + 0x10], xmm1
movss dword [esp + 0x1c], xmm3
addss xmm0, dword [esp + 0x60]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [eax]
subss xmm2, xmm0
movss dword [esp + 0x18], xmm0
movss xmm0, dword [eax + 4]
subss xmm1, xmm0
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esi + 8]
subss xmm0, xmm3
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10061e8b
sqrtsd xmm0, xmm0
jmp 0x10061e90
call fcn.1020bb20
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x1026bda0]
movss dword [esp + 0x2c], xmm0
ja 0x10062d1c
cmp dword [0x102b18e8], 0
jne 0x1006204b
mov eax, dword [esp + 0x50]
cmp byte [eax], 0
je 0x1006204b
movss xmm3, dword [esp + 0x28]
xorps xmm1, xmm1
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jnp 0x1006204b
movss xmm4, dword [esp + 0x34]
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jnp 0x1006204b
movss xmm2, dword [esp + 0x4c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1006204b
movss xmm0, dword [esp + 0x10]
movaps xmm1, xmm3
mulss xmm1, dword [esi]
mulss xmm0, xmm4
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.100100f0
movaps xmm1, xmm4
movss dword [esp + 0x10], xmm0
movaps xmm2, xmm3
mulss xmm1, xmm4
mulss xmm2, xmm3
addss xmm2, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x10061f45
sqrtsd xmm0, xmm0
jmp 0x10061f4a
call fcn.1020bb20
movss xmm1, dword [esp + 0x10]
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [esp + 0xc]
addss xmm0, dword [0x1026bc44]
comiss xmm0, xmm1
jb 0x10062045
movss xmm5, dword [esp + 0x18]
movss xmm4, dword [esp + 0x14]
movaps xmm2, xmm5
subss xmm2, dword [esp + 0x54]
movss xmm6, dword [esp + 0x1c]
movaps xmm3, xmm4
subss xmm3, dword [esp + 0x38]
subss xmm5, dword [esp + 0x5c]
subss xmm4, dword [esp + 0x60]
movaps xmm1, xmm6
mulss xmm2, xmm2
subss xmm1, dword [esp + 0x64]
subss xmm6, dword [esp + 0x64]
mulss xmm3, xmm3
movss dword [esp + 0x18], xmm5
mulss xmm1, xmm1
addss xmm3, xmm2
movss dword [esp + 0x14], xmm4
movss dword [esp + 0x1c], xmm6
addss xmm3, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm3
ucomisd xmm1, xmm0
ja 0x10061fe6
sqrtsd xmm0, xmm0
jmp 0x10061feb
call fcn.1020bb20
movss xmm1, dword [esp + 0x18]
cvtsd2ss xmm0, xmm0
mulss xmm1, xmm1
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x14]
mulss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [esp + 0x1c]
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1006202d
sqrtsd xmm0, xmm0
jmp 0x10062032
call fcn.1020bb20
movss xmm1, dword [esp + 0x38]
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
ja 0x10062d37
movss xmm0, dword [esp + 0x2c]
comiss xmm0, dword [esp + 0xc]
jae 0x10062d1c
mov eax, dword [0x102999e4]
mov ecx, dword fs:[0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x102b9f74]
cmp eax, dword [esi + 4]
jle 0x100620fa
push 0x102b9f74
call fcn.101e23b9
add esp, 4
cmp dword [0x102b9f74], 0xffffffff
jne 0x100620fa
mov esi, dword [0x1029d7d0]
call fcn.1010ed50
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x10062d46
lea esi, [esi + esi*2]
shl esi, 4
add esi, 8
add esi, edi
je 0x100620e1
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x100620e1
add eax, 4
push 0x102985bc
push eax
call fcn.101e31c2
add esp, 8
test eax, eax
je 0x100620e3
xor esi, esi
push 0x102b9f74
mov dword [0x102b9f78], esi
call fcn.101e236f
mov edi, dword [esp + 0x34]
add esp, 4
mov eax, dword [edi]
mov edi, dword fs:[0x2c]
mov edx, dword [0x102999e4]
mov esi, dword [ebp + 8]
movss xmm0, dword [eax + 0xc]
movss xmm2, dword [eax + 0x10]
mov ecx, dword [edi + edx*4]
mov eax, dword [0x1029a1c4]
mov edi, dword [esp + 0x30]
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x1c], xmm2
cmp eax, dword [ecx + 4]
jle 0x10062183
push 0x1029a1c4
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1c4], 0xffffffff
jne 0x1006217d
lea eax, [esp + 0xc0]
mov dword [esp + 0xc0], str.viewangles
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1c4
mov eax, dword [eax]
mov dword [0x1029a1c0], eax
call fcn.101e236f
add esp, 4
movss xmm0, dword [esp + 0x18]
mov eax, dword [0x1029a1c0]
movaps xmm2, xmm0
movss xmm0, dword [esp + 0x1c]
movss xmm5, dword [0x1026bca4]
movss xmm1, dword [0x1026bd04]
subss xmm2, dword [eax + esi]
subss xmm0, dword [eax + esi + 4]
comiss xmm2, xmm5
movss dword [esp + 0x14], xmm0
jbe 0x100621c0
subss xmm2, xmm1
comiss xmm2, xmm5
ja 0x100621b7
movss xmm4, dword [0x1026be78]
comiss xmm4, xmm2
jbe 0x100621d9
nop dword [eax]
addss xmm2, xmm1
comiss xmm4, xmm2
ja 0x100621d0
comiss xmm0, xmm1
movss xmm3, dword [0x1026bd68]
jbe 0x100621f5
subss xmm0, xmm3
comiss xmm0, xmm1
ja 0x100621e6
movss dword [esp + 0x14], xmm0
movss xmm1, dword [0x1026be90]
comiss xmm1, xmm0
jbe 0x10062211
addss xmm0, xmm3
comiss xmm1, xmm0
ja 0x10062202
movss dword [esp + 0x14], xmm0
movaps xmm1, xmm4
movaps xmm0, xmm5
maxss xmm1, xmm2
minss xmm0, xmm1
movsd xmm1, qword [esp + 0x68]
cvtss2sd xmm0, xmm0
call fcn.1020ae00
movss xmm1, dword [0x1026be90]
maxss xmm1, dword [esp + 0x14]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x38], xmm0
movss xmm0, dword [0x1026bd04]
minss xmm0, xmm1
movsd xmm1, qword [esp + 0x68]
cvtps2pd xmm0, xmm0
call fcn.1020ae00
movss xmm1, dword [esp + 0x38]
cvtsd2ss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10062280
sqrtsd xmm0, xmm0
jmp 0x10062285
call fcn.1020bb20
mov eax, dword [0x102b9f78]
cvtsd2ss xmm0, xmm0
cmp byte [eax], 0
movss dword [esp + 0x14], xmm0
je 0x10062303
mov esi, dword [0x1029d7e4]
call fcn.1010ed50
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x10062d46
lea esi, [esi + esi*2]
shl esi, 4
add esi, 8
add esi, edi
je 0x100622ee
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x100622ee
add eax, 4
push 0x102985d4
push eax
call fcn.101e31c2
add esp, 8
test eax, eax
je 0x100622f0
xor esi, esi
movss xmm0, dword [esi]
comiss xmm0, dword [esp + 0x14]
jb 0x10062d1c
mov edi, dword [esp + 0x30]
movss xmm0, dword [esp + 0x2c]
comiss xmm0, dword [0x1026b9e8]
mov byte [esp + 0x27], 1
jbe 0x1006269c
mov eax, dword [edi]
lea edx, [esp + 0x7c]
mov edi, dword [esp + 0x58]
lea ecx, [esp + 0xd0]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
movss xmm0, dword [eax]
subss xmm0, dword [edi]
mov dword [esp + 0x84], 0
movss dword [esp + 0xd0], xmm0
movss xmm0, dword [eax + 4]
subss xmm0, dword [edi + 4]
movss dword [esp + 0xd4], xmm0
movss xmm0, dword [eax + 8]
subss xmm0, dword [edi + 8]
movss dword [esp + 0xd8], xmm0
call fcn.1011dde0
movss xmm0, dword [esp + 0x7c]
movss xmm2, dword [0x1026bca4]
comiss xmm0, xmm2
movss xmm1, dword [0x1026bd04]
jbe 0x100623b0
subss xmm0, xmm1
comiss xmm0, xmm2
ja 0x100623a1
movss dword [esp + 0x7c], xmm0
movss xmm2, dword [0x1026be78]
comiss xmm2, xmm0
jbe 0x100623cf
nop dword [eax]
addss xmm0, xmm1
comiss xmm2, xmm0
ja 0x100623c0
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0x80]
comiss xmm0, xmm1
movss xmm2, dword [0x1026bd68]
jbe 0x100623f7
subss xmm0, xmm2
comiss xmm0, xmm1
ja 0x100623e5
movss dword [esp + 0x80], xmm0
movss xmm1, dword [0x1026be90]
comiss xmm1, xmm0
jbe 0x10062416
addss xmm0, xmm2
comiss xmm1, xmm0
ja 0x10062404
movss dword [esp + 0x80], xmm0
mov ecx, dword fs:[0x2c]
mov eax, dword [0x102999e4]
mov edi, dword [ebp + 8]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x1029a330]
cmp ecx, dword [esi + 4]
jle 0x10062485
push 0x1029a330
call fcn.101e23b9
mov ecx, dword [0x1029a330]
add esp, 4
cmp ecx, 0xffffffff
jne 0x10062485
lea eax, [esp + 0xc4]
mov dword [esp + 0xc4], str.forwardmove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a330
mov eax, dword [eax]
mov dword [0x1029a32c], eax
call fcn.101e236f
mov ecx, dword [0x1029a330]
add esp, 4
mov eax, dword [0x1029a32c]
movss xmm0, dword [esp + 0x2c]
comiss xmm0, dword [eax + edi]
jbe 0x100624fa
mov edi, dword [ebp + 8]
cmp ecx, dword [esi + 4]
jle 0x100624e8
push 0x1029a330
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a330], 0xffffffff
jne 0x100624e2
lea eax, [esp + 0x38]
mov dword [esp + 0x38], str.forwardmove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a330
mov eax, dword [eax]
mov dword [0x1029a32c], eax
call fcn.101e236f
add esp, 4
movss xmm0, dword [esp + 0x2c]
mulss xmm0, dword [0x1026bc2c]
mov eax, dword [0x1029a32c]
movss dword [eax + edi], xmm0
mov eax, dword [0x1029a328]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x1006254b
push 0x1029a328
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a328], 0xffffffff
jne 0x1006254b
lea eax, [esp + 0x38]
mov dword [esp + 0x38], str.sidemove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a328
mov eax, dword [eax]
mov dword [0x1029a324], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a324]
mov dword [eax + edi], 0
mov eax, dword [0x1029a1bc]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x100625ae
push 0x1029a1bc
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1bc], 0xffffffff
jne 0x100625ae
lea eax, [esp + 0xc8]
mov dword [esp + 0xc8], str.buttons
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1bc
mov eax, dword [eax]
mov dword [0x1029a1b8], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1b8]
or dword [eax + edi], 0x20000
mov eax, dword [0x1029a328]
mov edi, dword [ebp + 8]
cmp eax, dword [esi + 4]
jle 0x10062611
push 0x1029a328
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a328], 0xffffffff
jne 0x10062611
lea eax, [esp + 0xcc]
mov dword [esp + 0xcc], str.sidemove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a328
mov eax, dword [eax]
mov dword [0x1029a324], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a324]
movss xmm0, dword [eax + edi]
mov eax, dword [0x1029a330]
mov edi, dword [ebp + 8]
movss dword [esp + 0x10], xmm0
cmp eax, dword [esi + 4]
jle 0x1006267e
push 0x1029a330
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a330], 0xffffffff
jne 0x10062678
lea eax, [esp + 0x88]
mov dword [esp + 0x88], str.forwardmove
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a330
mov eax, dword [eax]
mov dword [0x1029a32c], eax
call fcn.101e236f
add esp, 4
movss xmm0, dword [esp + 0x10]
mov eax, dword [0x1029a32c]
lea ecx, [esp + 0x7c]
mov edx, dword [ebp + 8]
movaps xmm3, xmm0
movss xmm2, dword [eax + edi]
call fcn.1011dad0
mov byte [esp + 0x27], 0
mov eax, dword [0x102b9f78]
cmp byte [eax], 0
je 0x10062c2d
movss xmm0, dword [esp + 0x14]
comiss xmm0, dword [0x1026b9f0]
jbe 0x10062c2d
movss xmm0, dword [esp + 0x1c]
lea eax, [esp + 0x90]
movss xmm1, dword [0x1026b9d0]
mulss xmm0, xmm1
mov dword [esp + 0x54], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x10], eax
movss dword [esp + 0x38], xmm0
fld dword [esp + 0x38]
fsincos
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [esp + 0x18]
lea eax, [esp + 0x8c]
mulss xmm0, xmm1
mov dword [esp + 0x54], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x10], eax
movss dword [esp + 0x38], xmm0
fld dword [esp + 0x38]
fsincos
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [esp + 0x8c]
mov eax, dword [0x102999e4]
movaps xmm1, xmm0
mulss xmm0, dword [esp + 0x94]
mov ecx, dword fs:[0x2c]
mulss xmm1, dword [esp + 0x90]
mov esi, dword [ebp + 8]
movss dword [esp + 0x18], xmm0
mov edi, dword [ecx + eax*4]
movss xmm0, dword [esp + 0x98]
xorps xmm0, xmmword [0x1026c420]
mov eax, dword [0x1029a1c4]
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x1c], xmm0
cmp eax, dword [edi + 4]
jle 0x100627e1
push 0x1029a1c4
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1c4], 0xffffffff
jne 0x100627db
lea eax, [esp + 0x9c]
mov dword [esp + 0x9c], str.viewangles
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1c4
mov eax, dword [eax]
mov dword [0x1029a1c0], eax
call fcn.101e236f
add esp, 4
movss xmm1, dword [esp + 0x14]
mov ecx, dword [0x1029a1c0]
lea eax, [esp + 0xa4]
movss xmm2, dword [0x1026b9d0]
mov dword [esp + 0x54], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x10], eax
movss xmm0, dword [esi + ecx + 4]
mulss xmm0, xmm2
movss dword [esp + 0x38], xmm0
fld dword [esp + 0x38]
fsincos
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [esi + ecx]
lea eax, [esp + 0xa0]
mulss xmm0, xmm2
mov dword [esp + 0x54], eax
lea eax, [esp + 0xac]
mov dword [esp + 0x10], eax
movss dword [esp + 0x38], xmm0
fld dword [esp + 0x38]
fsincos
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
fstp dword [edx]
fstp dword [eax]
movss xmm2, dword [esp + 0xa0]
movss xmm3, dword [esp + 0xac]
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0xa4]
mov esi, dword [0x1029d7e0]
mulss xmm2, dword [esp + 0xa8]
xorps xmm3, xmmword [0x1026c420]
subss xmm1, xmm0
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x18]
subss xmm0, xmm2
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x2c], xmm3
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x1c]
subss xmm0, xmm3
movss dword [esp + 0x1c], xmm0
call fcn.1010ed50
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, 0x2aaaaaab
sub ecx, edx
mov dword [esp + 0x38], edx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x10062d46
lea eax, [esi + esi*2]
mov esi, dword [esp + 0x38]
shl eax, 4
add esi, 8
add esi, eax
je 0x10062925
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x10062925
add eax, 4
push 0x102985d4
push eax
call fcn.101e31c2
add esp, 8
test eax, eax
je 0x10062927
xor esi, esi
movss xmm0, dword [esi]
movss xmm1, dword [0x1026bac0]
comiss xmm1, xmm0
ja 0x1006293e
movss xmm0, xmm0
jmp 0x10062942
movss xmm0, xmm1
mov eax, dword [0x1029a1c4]
mov esi, dword [ebp + 8]
movss xmm1, dword [esp + 0x14]
divss xmm1, xmm0
addss xmm1, dword [esp + 0x54]
movss dword [esp + 0xdc], xmm1
movss xmm1, dword [esp + 0x18]
divss xmm1, xmm0
addss xmm1, dword [esp + 0x10]
movss dword [esp + 0xe0], xmm1
movss xmm1, dword [esp + 0x1c]
divss xmm1, xmm0
addss xmm1, dword [esp + 0x2c]
movss dword [esp + 0xe4], xmm1
cmp eax, dword [edi + 4]
jle 0x100629e4
push 0x1029a1c4
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1c4], 0xffffffff
jne 0x100629e4
lea eax, [esp + 0xb0]
mov dword [esp + 0xb0], str.viewangles
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1c4
mov eax, dword [eax]
mov dword [0x1029a1c0], eax
call fcn.101e236f
add esp, 4
mov edx, dword [0x1029a1c0]
lea ecx, [esp + 0xdc]
lea edx, [esi + edx]
call fcn.1011dde0
mov eax, dword [0x1029a1c4]
mov esi, dword [ebp + 8]
cmp eax, dword [edi + 4]
jle 0x10062a50
push 0x1029a1c4
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1c4], 0xffffffff
jne 0x10062a50
lea eax, [esp + 0xb4]
mov dword [esp + 0xb4], str.viewangles
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1c4
mov eax, dword [eax]
mov dword [0x1029a1c0], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1c0]
movss xmm5, dword [0x1026bca4]
movss xmm1, dword [0x1026bd04]
movss xmm0, dword [esi + eax]
comiss xmm0, xmm5
jbe 0x10062a83
nop
movss xmm0, dword [esi + eax]
subss xmm0, xmm1
comiss xmm0, xmm5
movss dword [esi + eax], xmm0
ja 0x10062a70
movss xmm3, dword [0x1026be78]
comiss xmm3, xmm0
jbe 0x10062aa3
movss xmm0, dword [esi + eax]
addss xmm0, xmm1
comiss xmm3, xmm0
movss dword [esi + eax], xmm0
ja 0x10062a90
movss xmm0, dword [esi + eax + 4]
comiss xmm0, xmm1
movss xmm2, dword [0x1026bd68]
jbe 0x10062ad5
nop word [eax + eax]
movss xmm0, dword [esi + eax + 4]
subss xmm0, xmm2
comiss xmm0, xmm1
movss dword [esi + eax + 4], xmm0
ja 0x10062ac0
movss xmm4, dword [0x1026be90]
comiss xmm4, xmm0
jbe 0x10062af7
movss xmm0, dword [esi + eax + 4]
addss xmm0, xmm2
comiss xmm4, xmm0
movss dword [esi + eax + 4], xmm0
ja 0x10062ae2
mov ecx, dword [esp + 0x20]
mov eax, dword [0x1029a1c4]
mov esi, dword [ebp + 8]
cmp eax, dword [ecx + 4]
jle 0x10062b76
push 0x1029a1c4
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1c4], 0xffffffff
jne 0x10062b52
lea eax, [esp + 0xb8]
mov dword [esp + 0xb8], str.viewangles
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1c4
mov eax, dword [eax]
mov dword [0x1029a1c0], eax
call fcn.101e236f
add esp, 4
mov ecx, dword [esp + 0x20]
movss xmm5, dword [0x1026bca4]
movss xmm4, dword [0x1026be90]
movss xmm3, dword [0x1026be78]
movss xmm1, dword [0x1026bd04]
mov eax, dword [0x1029a1c0]
movss xmm0, dword [esi + eax + 4]
comiss xmm0, xmm1
jbe 0x10062b90
mov dword [esi + eax + 4], 0x43340000
jmp 0x10062b9d
comiss xmm4, xmm0
jbe 0x10062b9d
mov dword [esi + eax + 4], 0xc3340000
movss xmm0, dword [esi + eax]
comiss xmm0, xmm5
jbe 0x10062bb0
mov dword [esi + eax], 0x42b20000
jmp 0x10062bbc
comiss xmm3, xmm0
jbe 0x10062bbc
mov dword [esi + eax], 0xc2b20000
mov dword [esi + eax + 8], 0
mov eax, dword [0x1029a1c4]
mov esi, dword [ebp + 8]
cmp eax, dword [ecx + 4]
jle 0x10062c1b
push 0x1029a1c4
call fcn.101e23b9
add esp, 4
cmp dword [0x1029a1c4], 0xffffffff
jne 0x10062c1b
lea eax, [esp + 0xbc]
mov dword [esp + 0xbc], str.viewangles
push eax
mov ecx, 0x102a57b4
call fcn.100060c0
push 0x1029a1c4
mov eax, dword [eax]
mov dword [0x1029a1c0], eax
call fcn.101e236f
add esp, 4
mov eax, dword [0x1029a1c0]
add eax, esi
push eax
call fcn.10037840
mov byte [esp + 0x27], 0
mov ecx, dword [0x102a5680]
call fcn.100088d0
movss xmm1, dword [eax + 4]
movss xmm2, dword [eax]
movss xmm0, dword [eax + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x10062c6c
sqrtsd xmm0, xmm0
jmp 0x10062c71
call fcn.1020bb20
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x1026b97c]
ja 0x10062cbf
cmp byte [esp + 0x27], 0
je 0x10062cbf
mov eax, dword [esp + 0x30]
mov byte [0x102b18c7], 0
mov byte [0x102b18d4], 1
mov byte [0x102b18d5], 1
cmp eax, 0x102b18dc
je 0x10062cb3
push dword [esp + 0x78]
push dword [eax + 4]
push dword [eax]
call fcn.10065bf0
mov dword [0x102b18d8], 0
jmp 0x10062d1c
mov esi, dword [0x1029d7dc]
call fcn.1010ed50
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x10062d46
lea esi, [esi + esi*2]
shl esi, 4
add esi, 8
add esi, edi
je 0x10062d10
mov eax, dword [esi + 0x24]
and eax, 0xfffffffc
je 0x10062d10
add eax, 4
push 0x102985bc
push eax
call fcn.101e31c2
add esp, 8
test eax, eax
je 0x10062d12
xor esi, esi
cmp byte [esi], 0
sete byte [0x102b18c7]
mov ecx, dword [esp + 0x50]
add ecx, 0x34
mov dword [esp + 0x50], ecx
cmp ecx, dword [esp + 0x78]
jne 0x10061db0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x50]
pop edi
mov dword [0x102b18e8], eax
pop esi
mov esp, ebp
pop ebp
ret
call fcn.10006b90
int3