Function at 0x1004b2c1
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x944
push 0x100853c9
call fcn.1005c666
pop ecx
call fcn.1002a192
test eax, eax
jne 0x1004cb1c
mov eax, dword [0x10121c70]
push ebx
xor ebx, ebx
cmp dword [eax + 0x14965], ebx
jne 0x1004cb1b
cmp dword [eax + 0x15b12], ebx
je 0x1004cb1b
push esi
cmp dword [0x101686a8], ebx
je 0x1004b345
cmp dword [0x1015ae78], ebx
je 0x1004b345
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 9
call esi
test ax, ax
jns 0x1004b32b
cmp dword [0x1013e6b8], ebx
jne 0x1004cb1a
mov eax, dword [0x1015ae90]
cmp dword [eax], ebx
jne 0x1004cb1a
push 0x79
call esi
test ax, ax
js 0x1004cb1a
cmp dword [0x101686bc], ebx
je 0x1004cb1a
push dword [0x101686c4]
call fcn.1002a436
pop ecx
test eax, eax
jne 0x1004cb1a
push edi
mov esi, 0x3ec
lea eax, [esp + 0xc]
push esi
push ebx
push eax
call fcn.1005fcf0
push esi
lea eax, [esp + 0x408]
push 1
push eax
call fcn.1005fcf0
mov ecx, dword [0x101686c4]
add esp, 0x18
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
je 0x1004b3b8
mov ecx, dword [0x101686c4]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x28]
mov esi, eax
jmp 0x1004b3c3
mov eax, dword [0x101686c8]
mov esi, dword [eax + 0x14]
add esi, 0x30
mov ecx, dword [0x101686c4]
lea edi, [esp + 0x900]
movsd dword es:[edi], dword [esi]
mov eax, dword [ecx + 4]
add ecx, 4
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 4]
add ecx, eax
movsd dword es:[edi], dword [esi]
mov eax, dword [ecx]
call dword [eax + 0xb0]
mov ecx, dword [0x101686bc]
mov esi, eax
mov dword [esp + 0x918], esi
mov edx, dword [ecx]
call dword [edx]
add eax, 0x1f84
lea ecx, [esp + 0x91c]
push ecx
mov ecx, eax
mov dword [esp + 0x950], eax
call fcn.10016457
mov ebx, dword [esp + 0x920]
cmp ebx, dword [esp + 0x924]
jae 0x1004b60b
mov edi, dword [ebx + 4]
add ebx, 8
test edi, edi
je 0x1004b5f7
mov eax, dword [edi]
mov ecx, dword [eax + 4]
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 0xb0]
mov dword [esp + 0x944], eax
cmp eax, esi
je 0x1004b5f7
mov ecx, dword [edi]
mov ecx, dword [ecx + 0xc]
add ecx, edi
mov edx, dword [ecx]
call dword [edx + 0x10]
mov ecx, dword [edi]
test eax, eax
je 0x1004b4d2
mov ecx, dword [ecx + 0xc]
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x34]
movzx eax, ax
push eax
call fcn.1002a223
pop ecx
cmp dword [eax + 4], 7
jne 0x1004b4cb
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
lea ecx, [eax + edi]
lea esi, [eax + edi]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
cmp eax, esi
jne 0x1004b4cb
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x28]
mov esi, eax
jmp 0x1004b4e2
mov eax, dword [edi]
mov ecx, dword [eax + 4]
jmp 0x1004b4d5
mov ecx, dword [ecx + 4]
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [eax + 0x14]
add esi, 0x30
movss xmm2, dword [esp + 0x900]
lea edi, [esp + 0x90c]
movss xmm1, dword [esp + 0x904]
movss xmm0, dword [esp + 0x908]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movss xmm4, dword [esp + 0x90c]
movss xmm5, dword [esp + 0x910]
subss xmm2, xmm4
movss xmm3, dword [esp + 0x914]
subss xmm1, xmm5
subss xmm0, xmm3
imul esi, dword [esp + 0x944], 0x16
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
comiss xmm0, dword [0x1013e771]
jbe 0x1004b566
mov byte [esi + 0x10162c75], 1
jmp 0x1004b5f0
addss xmm3, dword [0x1008682c]
lea eax, [esp + 0x928]
mov byte [esi + 0x10162c75], 0
push eax
lea eax, [esp + 0x8f8]
movss dword [esp + 0x8f8], xmm4
push eax
movss dword [esp + 0x900], xmm5
movss dword [esp + 0x904], xmm3
call fcn.1004398f
movss xmm1, dword [esp + 0x938]
movss xmm0, dword [0x10086820]
comiss xmm0, xmm1
pop ecx
pop ecx
jbe 0x1004b5c6
and dword [esi + 0x10162c6c], 0
jmp 0x1004b55a
movss xmm0, dword [esp + 0x928]
movss dword [esi + 0x10162c60], xmm0
movss xmm0, dword [esp + 0x92c]
movss dword [esi + 0x10162c64], xmm0
movss dword [esi + 0x10162c68], xmm1
mov esi, dword [esp + 0x918]
cmp ebx, dword [esp + 0x924]
jb 0x1004b428
mov dword [esp + 0x920], ebx
mov ebx, dword [esp + 0x94c]
lea eax, [esp + 0x928]
push eax
mov ecx, ebx
call fcn.10016457
mov eax, dword [esp + 0x92c]
lea esi, [esp + 0x928]
lea edi, [esp + 0x91c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp eax, dword [esp + 0x930]
jae 0x1004b83f
mov esi, dword [esp + 0x920]
mov ecx, dword [esi + 4]
add esi, 8
mov dword [esp + 0x920], esi
test ecx, ecx
je 0x1004b82b
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0xb0]
mov dword [esp + 0x938], eax
cmp eax, dword [esp + 0x918]
je 0x1004b82b
imul ebx, eax, 0x16
cmp byte [ebx + 0x10162c75], 0
jne 0x1004b82b
cmp byte [ebx + 0x10162c70], 0
jne 0x1004b7e8
movss xmm0, dword [0x10090704]
comiss xmm0, dword [ebx + 0x10162c6c]
ja 0x1004b82b
mov ecx, dword [esp + 0x94c]
lea eax, [esp + 0x928]
push eax
call fcn.10016457
mov eax, dword [esp + 0x92c]
lea esi, [esp + 0x928]
lea edi, [esp + 0x90c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x938]
cmp eax, dword [esp + 0x930]
jae 0x1004b7af
mov esi, dword [esp + 0x910]
mov ecx, dword [esi + 4]
add esi, 8
test ecx, ecx
je 0x1004b79b
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0xb0]
imul ecx, eax, 0x16
cmp byte [ecx + 0x10162c75], 0
jne 0x1004b79b
cmp eax, edi
je 0x1004b79b
movss xmm0, dword [ebx + 0x10162c60]
subss xmm0, dword [ecx + 0x10162c60]
movss xmm2, dword [0x1008b890]
movss xmm1, dword [0x100893ac]
andps xmm0, xmm2
comiss xmm1, xmm0
jb 0x1004b79b
movss xmm0, dword [ebx + 0x10162c6c]
mulss xmm0, dword [0x10086810]
movss xmm1, dword [ebx + 0x10162c64]
subss xmm1, xmm0
movss xmm0, dword [ecx + 0x10162c64]
subss xmm0, dword [ecx + 0x10162c6c]
subss xmm1, xmm0
movss xmm0, dword [0x10090d20]
andps xmm1, xmm2
comiss xmm0, xmm1
jb 0x1004b79b
mov byte [esp + edi + 0x3f8], 0
cmp esi, dword [esp + 0x914]
jb 0x1004b6fe
mov dword [esp + 0x910], esi
cmp byte [esp + edi + 0x3f8], 0
mov esi, dword [esp + 0x920]
je 0x1004b7df
movss xmm0, dword [ebx + 0x10162c6c]
mulss xmm0, dword [0x10086810]
mov byte [ebx + 0x10162c70], 1
movss dword [ebx + 0x10162c71], xmm0
cmp byte [ebx + 0x10162c70], 0
je 0x1004b82b
movss xmm0, dword [ebx + 0x10162c6c]
movss xmm1, dword [0x10086858]
subss xmm0, xmm1
movss dword [ebx + 0x10162c6c], xmm0
movss xmm0, dword [ebx + 0x10162c71]
subss xmm0, xmm1
comiss xmm1, xmm0
movss dword [ebx + 0x10162c71], xmm0
jbe 0x1004b82b
and dword [ebx + 0x10162c71], 0
mov byte [ebx + 0x10162c70], 0
cmp esi, dword [esp + 0x924]
jb 0x1004b64d
mov ebx, dword [esp + 0x94c]
lea eax, [esp + 0x928]
mov ecx, ebx
push eax
call fcn.10016457
mov eax, dword [esp + 0x92c]
lea esi, [esp + 0x928]
lea edi, [esp + 0x91c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp eax, dword [esp + 0x930]
jae 0x1004bacf
mov esi, dword [esp + 0x920]
mov ecx, dword [esi + 4]
add esi, 8
mov dword [esp + 0x920], esi
test ecx, ecx
je 0x1004babb
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0xb0]
imul ebx, eax, 0x16
mov dword [esp + 0x938], eax
cmp byte [ebx + 0x10162c75], 0
jne 0x1004babb
cmp byte [ebx + 0x10162c70], 0
jne 0x1004babb
mov ecx, dword [esp + 0x94c]
lea eax, [esp + 0x928]
push eax
call fcn.10016457
mov eax, dword [esp + 0x92c]
lea esi, [esp + 0x928]
lea edi, [esp + 0x90c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp eax, dword [esp + 0x930]
jae 0x1004ba7c
mov esi, dword [esp + 0x910]
mov ecx, dword [esi + 4]
add esi, 8
test ecx, ecx
je 0x1004ba68
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0xb0]
cmp byte [ebx + 0x10162c75], 0
mov edx, eax
jne 0x1004ba68
imul ecx, edx, 0x16
cmp byte [ecx + 0x10162c70], 0
jne 0x1004ba68
mov eax, dword [esp + 0x938]
cmp eax, edx
je 0x1004ba68
movss xmm0, dword [ebx + 0x10162c60]
subss xmm0, dword [ecx + 0x10162c60]
movss xmm4, dword [0x1008b890]
movss xmm5, dword [0x100893ac]
andps xmm0, xmm4
comiss xmm5, xmm0
jb 0x1004b9ff
movss xmm0, dword [ecx + 0x10162c64]
movss xmm3, dword [ebx + 0x10162c6c]
movss xmm2, dword [ecx + 0x10162c6c]
movss xmm1, dword [ebx + 0x10162c64]
subss xmm0, xmm2
subss xmm1, xmm3
subss xmm1, xmm0
movss xmm0, dword [0x10090d20]
andps xmm1, xmm4
comiss xmm0, xmm1
jb 0x1004b9ff
movss xmm1, dword [ebx + 0x10162c68]
movss xmm0, dword [ecx + 0x10162c68]
comiss xmm0, xmm1
ja 0x1004b9d3
comiss xmm1, xmm0
ja 0x1004b9ea
cmp eax, edx
jge 0x1004b9ea
addss xmm2, dword [0x10086858]
mov byte [esp + edx + 0xc], 1
movss dword [ecx + 0x10162c6c], xmm2
jmp 0x1004b9ff
addss xmm3, dword [0x10086858]
mov byte [esp + eax + 0xc], 1
movss dword [ebx + 0x10162c6c], xmm3
movss xmm0, dword [ebx + 0x10162c60]
subss xmm0, dword [ecx + 0x10162c60]
andps xmm0, xmm4
comiss xmm5, xmm0
jb 0x1004ba68
movss xmm0, dword [ecx + 0x10162c64]
movss xmm1, dword [ebx + 0x10162c64]
subss xmm1, dword [ebx + 0x10162c6c]
subss xmm0, dword [ecx + 0x10162c6c]
subss xmm1, xmm0
movss xmm0, dword [0x1008685c]
andps xmm1, xmm4
comiss xmm0, xmm1
jb 0x1004ba68
movss xmm0, dword [ecx + 0x10162c68]
comiss xmm0, dword [ebx + 0x10162c68]
jbe 0x1004ba63
mov byte [esp + edx + 0xc], 1
jmp 0x1004ba68
mov byte [esp + eax + 0xc], 1
cmp esi, dword [esp + 0x914]
jb 0x1004b902
mov dword [esp + 0x910], esi
mov eax, dword [esp + 0x938]
mov esi, dword [esp + 0x920]
cmp byte [esp + eax + 0xc], 0
jne 0x1004babb
movss xmm1, dword [ebx + 0x10162c6c]
movss xmm0, dword [0x10086858]
comiss xmm1, xmm0
jb 0x1004bab4
subss xmm1, xmm0
movss dword [ebx + 0x10162c6c], xmm1
jmp 0x1004babb
and dword [ebx + 0x10162c6c], 0
cmp esi, dword [esp + 0x924]
jb 0x1004b87a
mov ebx, dword [esp + 0x94c]
lea eax, [esp + 0x928]
mov ecx, ebx
push eax
call fcn.10016457
mov eax, dword [esp + 0x92c]
lea esi, [esp + 0x928]
lea edi, [esp + 0x91c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp eax, dword [esp + 0x930]
jae 0x1004cb19
mov esi, dword [esp + 0x920]
mov edi, dword [esp + 0x944]
mov dword [esp + 0x938], esi
mov esi, dword [esi + 4]
add dword [esp + 0x938], 8
test esi, esi
je 0x1004cb05
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 0xb0]
imul ebx, eax, 0x16
cmp byte [ebx + 0x10162c75], 0
jne 0x1004cb05
cmp eax, dword [esp + 0x918]
je 0x1004cb05
cmp dword [0x1015ae7c], 0
movss xmm0, dword [ebx + 0x10162c64]
subss xmm0, dword [ebx + 0x10162c6c]
subss xmm0, dword [0x10093840]
movss dword [esp + 0x948], xmm0
je 0x1004bc0a
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
add ecx, esi
mov eax, dword [ecx]
call dword [eax]
push eax
call fcn.1002a02c
pop ecx
mov edi, dword [eax*4 + 0x10160c98]
mov eax, dword [0x1015ae7c]
test eax, eax
je 0x1004bc0a
mov eax, dword [eax + edi*4 + 0x26]
test eax, eax
je 0x1004cb05
mov eax, dword [eax + 8]
test eax, eax
je 0x1004cb05
cmp dword [eax + 4], 0
je 0x1004cb05
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
add ecx, esi
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [0x1015ae7c]
mov ecx, dword [ecx + edi*4 + 0x26]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 4]
cmp dword [ecx + 0x2a4], eax
jne 0x1004cb05
movss xmm0, dword [edx + 0x1b0]
movss dword [esp + 0x94c], xmm0
movss xmm0, dword [edx + 0x1ac]
jmp 0x1004bc4b
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov eax, dword [esi]
fstp dword [esp + 0x944]
mov ecx, dword [eax + 0xc]
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 0x24]
movss xmm0, dword [esp + 0x944]
fstp dword [esp + 0x93c]
movss dword [esp + 0x94c], xmm0
movss xmm0, dword [esp + 0x93c]
movss dword [esp + 0x93c], xmm0
movss xmm0, dword [ebx + 0x10162c60]
subss xmm0, dword [0x10093844]
movss dword [ebx + 0x10162c60], xmm0
call fcn.10041566
movss xmm0, dword [esp + 0x94c]
minss xmm0, dword [0x100893ac]
movss xmm1, dword [0x1009b0d4]
comiss xmm1, xmm0
movss xmm1, dword [0x1009b0b8]
movss dword [esp + 0x94c], xmm0
jbe 0x1004bcac
comiss xmm0, xmm1
jbe 0x1004bcac
mov esi, 0xff6a5aff
jmp 0x1004bcf9
comiss xmm1, xmm0
movss xmm1, dword [0x10090704]
jbe 0x1004bcc5
comiss xmm0, xmm1
jbe 0x1004bcc5
mov esi, 0xffc71585
jmp 0x1004bcf9
comiss xmm1, xmm0
movss xmm1, dword [0x10090d20]
jbe 0x1004bcde
comiss xmm0, xmm1
jbe 0x1004bcde
mov esi, 0x46ff00ff
jmp 0x1004bcf9
comiss xmm1, xmm0
mov eax, 0xff66b2ff
mov esi, eax
jbe 0x1004bcf9
comiss xmm0, dword [0x10087420]
mov eax, 0xffff0000
cmova esi, eax
movss xmm0, dword [esp + 0x948]
subss xmm0, dword [0x10086810]
mov ecx, dword [0x10162c40]
push 0x6f000000
sub esp, 0x10
mov dword [esp + 0xc], 0x41e00000
mov dword [esp + 8], 0x42c80000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
subss xmm0, dword [0x10086810]
movss dword [esp], xmm0
call fcn.10041ac7
movss xmm0, dword [esp + 0x94c]
subss xmm0, dword [0x10086850]
movss xmm1, dword [esp + 0x948]
addss xmm1, dword [0x10086810]
mov ecx, dword [0x10162c40]
push esi
sub esp, 0x10
movss dword [esp + 0x948], xmm1
mov dword [esp + 0xc], 0x41000000
movss dword [esp + 8], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x10086810]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.10041ac7
movss xmm0, dword [esp + 0x934]
addss xmm0, dword [0x1008c0dc]
mov ecx, dword [0x10162c40]
push 0xff008080
sub esp, 0x10
mov dword [esp + 0xc], 0x41000000
and dword [esp + 8], 0
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x10086810]
movss dword [esp], xmm0
call fcn.10041ac7
movss xmm0, dword [esp + 0x93c]
subss xmm0, dword [0x10086850]
mov ecx, dword [0x10162c40]
push 0xffbababa
sub esp, 0x10
mov dword [esp + 0xc], 0x41000000
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x948]
addss xmm0, dword [0x10093840]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x10086810]
movss dword [esp], xmm0
call fcn.10041ac7
cmp dword [0x1015ae7c], 0
mov eax, dword [0x10162c50]
movss xmm1, dword [esp + 0x948]
cvttss2si esi, dword [esp + 0x93c]
movss xmm0, dword [eax + 0xe45]
addss xmm0, dword [0x10086820]
cvttss2si eax, dword [esp + 0x94c]
subss xmm1, xmm0
movss dword [esp + 0x940], xmm0
push eax
push str.Health:__d
lea eax, [esp + 0x7ec]
push 0xff
movaps xmm0, xmm1
movss dword [esp + 0x940], xmm1
addss xmm0, dword [0x10093840]
push eax
movss dword [esp + 0x954], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10090d20]
movss dword [esp + 0x94c], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x1009b0a0]
movss dword [esp + 0x95c], xmm0
jne 0x1004bfec
call fcn.100435f9
movss xmm0, dword [esp + 0x954]
lea eax, [esp + 0x7f4]
add esp, 0x10
push eax
push 0x82ff6a00
push ecx
push ecx
mov ecx, dword [0x10162c50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x10088cd4]
movss dword [esp], xmm0
call fcn.10043220
push esi
push str.Armor:__d
lea eax, [esp + 0x7ec]
push 0xff
push eax
call fcn.100435f9
movss xmm0, dword [esp + 0x94c]
lea eax, [esp + 0x7f4]
add esp, 0x10
mov esi, 0x82ff6a00
push eax
push esi
push ecx
push ecx
mov ecx, dword [0x10162c50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x10088cd4]
movss dword [esp], xmm0
call fcn.10043220
mov eax, dword [0x1015ae7c]
mov eax, dword [eax + edi*4 + 0x26]
push dword [eax + 0xc]
lea eax, [esp + 0x7e8]
push str.Ping:__i
push 0xff
push eax
call fcn.100435f9
movss xmm0, dword [esp + 0x95c]
lea eax, [esp + 0x7f4]
add esp, 0x10
push eax
push esi
push ecx
push ecx
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x10088cd4]
jmp 0x1004caf5
call fcn.100435f9
movss xmm0, dword [esp + 0x954]
lea eax, [esp + 0x7f4]
add esp, 0x10
push eax
push 0x82ff6a00
push ecx
push ecx
mov ecx, dword [0x10162c50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x10088cd4]
movss dword [esp], xmm0
call fcn.10043220
push esi
push str.Armor:__d
lea eax, [esp + 0x7ec]
push 0xff
push eax
call fcn.100435f9
movss xmm0, dword [esp + 0x94c]
lea eax, [esp + 0x7f4]
add esp, 0x10
mov esi, 0x82ff6a00
push eax
push esi
push ecx
push ecx
mov ecx, dword [0x10162c50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x10088cd4]
movss dword [esp], xmm0
call fcn.10043220
mov eax, dword [0x1015ae7c]
mov eax, dword [eax + edi*4 + 0x26]
push dword [eax + 0xc]
lea eax, [esp + 0x7e8]
push str.Ping:__i
push 0xff
push eax
call fcn.100435f9
movss xmm0, dword [esp + 0x95c]
lea eax, [esp + 0x7f4]
add esp, 0x10
push eax
push esi
push ecx
push ecx
mov ecx, dword [0x10162c50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x10088cd4]
movss dword [esp], xmm0
call fcn.10043220
mov ecx, dword [0x10162c50]
lea eax, [esp + 0x7e4]
push 0
push eax
call fcn.10042040
mov eax, dword [0x1015ae7c]
fstp st(0)
mov eax, dword [eax + edi*4 + 0x26]
mov ecx, dword [eax + 8]
movzx eax, byte [ecx + 0x1a]
sub eax, 0x11
je 0x1004c2b0
sub eax, 1
je 0x1004c25a
sub eax, 1
je 0x1004c201
sub eax, 0xd
je 0x1004c19e
sub eax, 1
jne 0x1004c336
cmp dword [ecx + 0x20], eax
jne 0x1004c336
movss xmm0, dword [esp + 0x934]
addss xmm0, dword [0x1009b0a4]
mov ecx, dword [0x10162c40]
push 0x6f000000
sub esp, 0x10
mov dword [esp + 0xc], 0x41200000
mov dword [esp + 8], 0x425c0000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x100893ac]
movss dword [esp], xmm0
call fcn.10041ac7
push str.Spawned
jmp 0x1004c304
cmp dword [ecx + 0x20], 0
jne 0x1004c336
movss xmm0, dword [esp + 0x934]
addss xmm0, dword [0x1009b0a4]
mov ecx, dword [0x10162c40]
push 0x6f000000
sub esp, 0x10
mov dword [esp + 0xc], 0x41200000
mov dword [esp + 8], 0x42480000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x100893ac]
movss dword [esp], xmm0
call fcn.10041ac7
push str.Wasted
jmp 0x1004c304
movss xmm0, dword [esp + 0x934]
addss xmm0, dword [0x1009b0a4]
mov ecx, dword [0x10162c40]
push 0x6f000000
sub esp, 0x10
mov dword [esp + 0xc], 0x41200000
mov dword [esp + 8], 0x42200000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x100893ac]
movss dword [esp], xmm0
call fcn.10041ac7
push str.Driver
jmp 0x1004c304
movss xmm0, dword [esp + 0x934]
addss xmm0, dword [0x1009b0a4]
mov ecx, dword [0x10162c40]
push 0x6f000000
sub esp, 0x10
mov dword [esp + 0xc], 0x41200000
mov dword [esp + 8], 0x42820000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x100893ac]
movss dword [esp], xmm0
call fcn.10041ac7
push str.Passenger
jmp 0x1004c304
movss xmm0, dword [esp + 0x934]
addss xmm0, dword [0x1009b0a4]
mov ecx, dword [0x10162c40]
push 0x6f000000
sub esp, 0x10
mov dword [esp + 0xc], 0x41200000
mov dword [esp + 8], 0x42480000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x100893ac]
movss dword [esp], xmm0
call fcn.10041ac7
push str.Onfoot
movss xmm0, dword [esp + 0x950]
push esi
push ecx
push ecx
mov ecx, dword [0x10162c50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x100893ac]
movss dword [esp], xmm0
call fcn.10043220
mov eax, dword [0x1015ae7c]
mov ecx, dword [0x101686bc]
mov eax, dword [eax + edi*4 + 0x26]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax + 0x2a4]
mov eax, dword [ecx]
call dword [eax]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
mov dword [esp + 0x944], eax
xor esi, esi
mov dword [esp + 0x94c], 0x1008cb00
push edi
call fcn.10040aa5
pop ecx
cmp eax, 0x13
jne 0x1004c39f
mov eax, dword [0x1015ae7c]
mov ecx, dword [esp + 0x94c]
mov eax, dword [eax + edi*4 + 0x26]
mov edx, dword [eax + 8]
movzx eax, byte [edx + 0xb6]
cmp dword [ecx], eax
je 0x1004c64a
push edi
call fcn.10040aa5
pop ecx
cmp eax, 0x11
jne 0x1004c3ca
mov eax, dword [0x1015ae7c]
mov ecx, dword [esp + 0x94c]
mov eax, dword [eax + edi*4 + 0x26]
mov edx, dword [eax + 8]
movzx eax, byte [edx + 0x60]
cmp dword [ecx], eax
je 0x1004c64a
push edi
call fcn.10040aa5
pop ecx
cmp eax, 0x12
jne 0x1004c3f5
mov eax, dword [0x1015ae7c]
mov ecx, dword [esp + 0x94c]
mov eax, dword [eax + edi*4 + 0x26]
mov edx, dword [eax + 8]
movzx eax, byte [edx + 0x27]
cmp dword [ecx], eax
je 0x1004c497
push edi
call fcn.10040aa5
pop ecx
test eax, eax
jne 0x1004c41f
mov eax, dword [0x1015ae7c]
mov ecx, dword [esp + 0x94c]
mov eax, dword [eax + edi*4 + 0x26]
mov edx, dword [eax + 8]
movzx eax, byte [edx + 0x27]
cmp dword [ecx], eax
je 0x1004c64a
push edi
call fcn.10040aa5
pop ecx
cmp eax, 0x21
jne 0x1004c44a
mov eax, dword [0x1015ae7c]
mov ecx, dword [esp + 0x94c]
mov eax, dword [eax + edi*4 + 0x26]
mov edx, dword [eax + 8]
movzx eax, byte [edx + 0x27]
cmp dword [ecx], eax
je 0x1004c64a
push edi
call fcn.10040aa5
pop ecx
cmp eax, 0x20
jne 0x1004c475
mov eax, dword [0x1015ae7c]
mov ecx, dword [esp + 0x94c]
mov eax, dword [eax + edi*4 + 0x26]
mov edx, dword [eax + 8]
movzx eax, byte [edx + 0x27]
cmp dword [ecx], eax
je 0x1004c64a
mov eax, dword [esp + 0x94c]
inc esi
add eax, 0x10
mov dword [esp + 0x94c], eax
cmp eax, 0x1008cdd0
jl 0x1004c371
jmp 0x1004c6fd
cmp dword [edx + 0x20], 0
je 0x1004c64a
mov eax, dword [0x1016843c]
inc eax
mov dword [0x1016843c], eax
cmp eax, 5
jge 0x1004c56c
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x2a4]
movzx eax, byte [ecx + 0x718]
imul eax, eax, 0x1c
push dword [eax + ecx + 0x5a8]
mov eax, esi
shl eax, 4
push dword [eax + 0x1008cb0c]
lea eax, [esp + 0x6ec]
push str._s_aClip:__d__DB_
push 0xfd
push eax
call fcn.100435f9
mov ecx, dword [0x10162c50]
lea eax, [esp + 0x6f8]
add esp, 0x14
push 0
push eax
call fcn.10042040
mov ecx, dword [0x10162c50]
lea eax, [esp + 0x6e4]
push eax
push 0xffffffffffffffff
push ecx
movss xmm0, dword [ecx + 0xe45]
fstp st(0)
subss xmm0, dword [0x1009b07c]
push ecx
movss dword [esp + 0x950], xmm0
movss xmm0, dword [esp + 0x958]
addss xmm0, dword [0x1009b098]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x1009b0ac]
movss dword [esp], xmm0
call fcn.10043220
mov eax, dword [0x1016843c]
cmp eax, 4
jle 0x1004c6fd
mov eax, dword [0x1015ae7c]
shl esi, 4
mov eax, dword [eax + edi*4 + 0x26]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x2a4]
movzx eax, byte [ecx + 0x718]
imul eax, eax, 0x1c
push dword [eax + ecx + 0x5a8]
lea eax, [esp + 0x6e8]
push dword [esi + 0x1008cb0c]
push str._s_aClip:__d_ff0000_DB_
push 0xfd
push eax
call fcn.100435f9
mov ecx, dword [0x10162c50]
lea eax, [esp + 0x6f8]
add esp, 0x14
push 0
push eax
call fcn.10042040
mov ecx, dword [0x10162c50]
lea eax, [esp + 0x6e4]
push eax
push 0xffffffffffffffff
push ecx
movss xmm0, dword [ecx + 0xe45]
fstp st(0)
subss xmm0, dword [0x1009b07c]
push ecx
movss dword [esp + 0x950], xmm0
movss xmm0, dword [esp + 0x958]
addss xmm0, dword [0x1009b098]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x1009b0ac]
movss dword [esp], xmm0
call fcn.10043220
cmp dword [0x1016843c], 0x1e
jne 0x1004c6fd
and dword [0x1016843c], 0
jmp 0x1004c6fd
mov eax, dword [edx + 4]
shl esi, 4
mov ecx, dword [eax + 0x2a4]
movzx eax, byte [ecx + 0x718]
imul eax, eax, 0x1c
push dword [eax + ecx + 0x5a8]
lea eax, [esp + 0x6e8]
push dword [esi + 0x1008cb0c]
push str._s_aClip:__d_
push 0xfd
push eax
call fcn.100435f9
mov ecx, dword [0x10162c50]
lea eax, [esp + 0x6f8]
add esp, 0x14
push 0
push eax
call fcn.10042040
mov ecx, dword [0x10162c50]
lea eax, [esp + 0x6e4]
push eax
push 0xffff8c00
push ecx
movss xmm0, dword [ecx + 0xe45]
fstp st(0)
subss xmm0, dword [0x1009b07c]
push ecx
movss dword [esp + 0x950], xmm0
movss xmm0, dword [esp + 0x958]
addss xmm0, dword [0x1009b098]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x1009b0ac]
movss dword [esp], xmm0
call fcn.10043220
mov ecx, dword [0x10121c70]
cmp dword [ecx + edi*4 + 0xe8f7], 0
je 0x1004c784
lea eax, [esp + 0x2f8]
push str.00FF00_FRIEND
push eax
call fcn.10043659
pop ecx
pop ecx
lea eax, [esp + 0x2f8]
push eax
push 0xdd000000
push edi
call fcn.100412bb
movss xmm0, dword [esp + 0x954]
subss xmm0, dword [esp + 0x94c]
pop ecx
pop ecx
push eax
push ecx
subss xmm0, dword [0x1009b0a4]
push ecx
mov ecx, dword [0x10162c50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
movss dword [esp], xmm0
call fcn.10043220
push edi
push edi
call fcn.1004096d
pop ecx
push eax
push str.00FF00_s___d_
jmp 0x1004c8c9
mov eax, dword [0x1015ae7c]
mov esi, 0x6a5
mov edx, dword [eax + edi*4 + 0x26]
mov eax, dword [edx + 8]
movzx eax, word [eax + 0x7c]
cmp ax, si
je 0x1004c8e8
mov esi, 0x3fb
cmp ax, si
je 0x1004c8e8
dec esi
cmp ax, si
je 0x1004c8e8
cmp byte [edi + ecx + 0x14353], 0
je 0x1004c835
lea eax, [esp + 0x2f8]
push str.FF0000_ENEMY
push eax
call fcn.10043659
pop ecx
pop ecx
lea eax, [esp + 0x2f8]
push eax
push 0xdd000000
push edi
call fcn.100412bb
movss xmm0, dword [esp + 0x954]
subss xmm0, dword [esp + 0x94c]
pop ecx
pop ecx
push eax
push ecx
subss xmm0, dword [0x1009b0a4]
push ecx
mov ecx, dword [0x10162c50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
movss dword [esp], xmm0
call fcn.10043220
push edi
push edi
call fcn.1004096d
pop ecx
jmp 0x1004c8c3
mov esi, dword [esp + 0x944]
push str.CS_DEAD_GUY
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x90]
test al, al
jne 0x1004c8aa
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
push str.CAR_DEAD_LHS
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x90]
test al, al
jne 0x1004c8aa
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
push str.CAR_DEAD_RHS
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x90]
test al, al
jne 0x1004c8aa
mov eax, dword [0x1015ae7c]
mov ecx, 0x6a5
mov eax, dword [eax + edi*4 + 0x26]
mov eax, dword [eax + 8]
movzx eax, word [eax + 0x7c]
cmp ax, cx
jne 0x1004c8ad
push edi
jmp 0x1004c8be
mov ecx, 0x3fa
push edi
cmp ax, cx
je 0x1004c8be
inc ecx
cmp ax, cx
jne 0x1004c8db
call fcn.1004096d
push eax
push str.FF0000_s___d_
lea eax, [esp + 0x7f0]
push eax
call fcn.10043659
add esp, 0x10
jmp 0x1004c90d
call fcn.1004096d
push eax
push str._s___d_
jmp 0x1004c8c9
push dword [edx]
push edi
push edi
call fcn.1004096d
pop ecx
push eax
push str._sFF0000__YARALI_
lea eax, [esp + 0x7f4]
push 0x100
push eax
call fcn.100435f9
add esp, 0x18
lea eax, [esp + 0x7e4]
push eax
push 0xdd000000
push edi
call fcn.100412bb
movss xmm0, dword [esp + 0x954]
subss xmm0, dword [esp + 0x94c]
pop ecx
pop ecx
push eax
push ecx
subss xmm0, dword [0x10090d20]
push ecx
mov ecx, dword [0x10162c48]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebx + 0x10162c60]
movss dword [esp], xmm0
call fcn.10043220
mov eax, dword [0x1015ae7c]
mov eax, dword [eax + edi*4 + 0x26]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1d1], 2
jne 0x1004cb05
push 0x10097e84
lea eax, [esp + 0x8e8]
push 0xf
push eax
call fcn.100435db
mov ecx, dword [0x10162c50]
lea eax, [esp + 0x8f0]
add esp, 0xc
push 0
push eax
call fcn.10042040
mov eax, dword [0x10162c50]
fstp st(0)
mov ecx, dword [0x10162c48]
push 0
movss xmm0, dword [eax + 0xe45]
lea eax, [esp + 0x8e8]
addss xmm0, dword [0x10086820]
push eax
movss dword [esp + 0x944], xmm0
movss xmm0, dword [ebx + 0x10162c60]
addss xmm0, dword [0x1009b0b4]
movss dword [esp + 0x94c], xmm0
call fcn.10042040
movss xmm0, dword [esp + 0x948]
fmul dword [0x10086810]
subss xmm0, dword [esp + 0x93c]
push edi
fsubr dword [esp + 0x948]
addss xmm0, dword [0x1009b08c]
fstp dword [esp + 0x948]
movss dword [esp + 0x94c], xmm0
call fcn.10040aa5
pop ecx
cmp eax, 0x13
jne 0x1004ca4d
movss xmm0, dword [esp + 0x948]
addss xmm0, dword [0x10093840]
movss dword [esp + 0x948], xmm0
movss xmm0, dword [esp + 0x944]
lea eax, [esp + 0x8e4]
addss xmm0, dword [0x1009b0b8]
push 0x6f000000
push ecx
mov ecx, dword [0x10162c48]
mov dword [esp], 0x41200000
push 0
push eax
movss dword [esp + 0x954], xmm0
call fcn.10042040
movss xmm0, dword [esp + 0x950]
sub esp, 0xc
subss xmm0, dword [0x10093840]
fadd dword [0x10086850]
mov ecx, dword [0x10162c40]
fstp dword [esp + 8]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x958]
movss dword [esp], xmm0
call fcn.10041ac7
movss xmm0, dword [esp + 0x948]
lea eax, [esp + 0x8e4]
subss xmm0, dword [0x1009b080]
push eax
push 0x82aaaaaa
push ecx
push ecx
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x954]
mov ecx, dword [0x10162c50]
movss dword [esp], xmm0
call fcn.10043220
mov esi, dword [esp + 0x938]
cmp esi, dword [esp + 0x924]
jb 0x1004bb18
pop edi
pop esi
pop ebx
add esp, 0x944
ret