Function at 0x1001c520
Capabilities:
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10068cc8
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x62e8
call fcn.10066c20
mov eax, dword [0x1007e00c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x1014c5bc]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x49b0], ecx
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x1001dc49
call fcn.10002fb0
test al, al
je 0x1001dc49
mov eax, dword [0x1014c5bc]
cmp dword [eax + 0x78], 0
je 0x1001dc49
mov eax, dword [0x1014c5dc]
cmp byte [eax], 0
je 0x1001dc49
cmp byte [eax + 0x7c], 0
je 0x1001dc49
cmp byte [eax + 0x7d], 0
je 0x1001c5f6
movzx eax, word [eax + 2]
test ax, ax
je 0x1001c5ec
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1001c5ec
cmp dword [0x1014b0d8], 0
jne 0x1001cbfc
push 0x1006e84c
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [0x1014b0d8], eax
xor al, al
test al, al
je 0x1001dc49
mov eax, dword [0x1014c5bc]
mov ecx, dword [eax + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 2
jne 0x1001dc49
mov ecx, dword [0x1014c5bc]
mov ecx, dword [ecx + 0x74]
call fcn.1000e280
test al, al
jne 0x1001dc49
mov esi, dword [0x1014c5dc]
lea ecx, [ebp - 0x49b8]
mov edi, dword [0x1014c5bc]
xor edx, edx
mov dword [ebp - 0x49ac], 0x63
mov dword [ebp - 0x49b8], 0
cmp byte [esi + 0x1dc], dl
sete dl
add edx, 0xfffffffc
add edx, dword [edi + 0x164]
mov eax, edx
mov dword [ebp - 0x18a4], edx
shr eax, 0x1f
test al, al
lea eax, [ebp - 0x18a4]
cmove ecx, eax
cmp edx, 0x63
lea eax, [ebp - 0x49ac]
cmovle eax, ecx
cmp byte [esi + 4], 0
je 0x1001c69b
cmp dword [eax], 0
jle 0x1001c69b
cmp dword [edi + 0x160], 0x14
jge 0x1001dc49
cmp byte [esi + 0x239], 0
jne 0x1001c71c
mov eax, dword [0x1014c5bc]
mov edx, dword [0x1014af98]
mov esi, dword [eax + 0x74]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov eax, dword [0x1014b15c]
cmp eax, dword [ecx + 4]
jle 0x1001c70d
push 0x1014b15c
call fcn.100659aa
add esp, 4
cmp dword [0x1014b15c], 0xffffffff
jne 0x1001c70d
push str.m_fFlags
push str.CBasePlayer
mov dword [ebp - 4], 0
call fcn.10061970
push 0x1014b15c
mov dword [0x1014b148], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10065959
add esp, 4
mov eax, dword [0x1014b148]
test byte [esi + eax], 1
je 0x1001dc49
xor ecx, ecx
mov dword [ebp - 0x187c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x187c], ecx
movq qword [ebp - 0x1884], xmm0
mov dword [ebp - 0x1884], ecx
mov dword [ebp - 0x1880], ecx
mov dword [ebp - 4], 1
mov eax, dword [0x1014c5bc]
mov esi, dword [eax + 0x98]
mov eax, dword [eax + 0x9c]
mov dword [ebp - 0x49b8], esi
mov dword [ebp - 0x4998], eax
cmp esi, eax
je 0x1001d555
mov ecx, eax
mov esi, dword [esi]
mov dword [ebp - 0x49a4], esi
test esi, esi
je 0x1001d538
mov eax, dword [0x1014c5bc]
cmp esi, dword [eax + 0x74]
je 0x1001d538
mov eax, dword [esi + 8]
lea edi, [esi + 8]
mov ecx, edi
mov dword [ebp - 0x18a4], edi
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x1001d532
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1001c7cd
mov ecx, esi
call fcn.10002fb0
test al, al
je 0x1001d532
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1001c910
mov ecx, esi
call fcn.10002e60
mov eax, dword [eax]
shr eax, 5
test al, 1
jne 0x1001d532
mov ecx, esi
call fcn.10002e60
mov eax, dword [eax]
shr eax, 0xe
test al, 1
jne 0x1001d532
mov ecx, esi
call fcn.1000e1e0
mov eax, dword [eax]
shr eax, 0xd
test al, 1
jne 0x1001d532
mov eax, dword [0x1014af98]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1014c8bc]
cmp eax, dword [ecx + 4]
jle 0x1001c87a
push 0x1014c8bc
call fcn.100659aa
add esp, 4
cmp dword [0x1014c8bc], 0xffffffff
jne 0x1001c87a
mov edx, str.55_8B_EC_81_EC_________E8_________85_C0_74_7E_8B_4D_08_85_C9_74_77_A1_________83_78_08_00_74_6C_83_78_0C_00_74_66_A1_________83_C1_08_56_8B_30_8D_85_________50_8B_01
mov byte [ebp - 4], 2
mov ecx, str.client.dll
call fcn.1000dc40
push 0x1014c8bc
mov dword [0x1014c8c8], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
push esi
call dword [0x1014c8c8]
test al, al
je 0x1001c910
mov eax, dword [0x1014c5dc]
cmp byte [eax + 5], 0
je 0x1001c910
mov edi, dword fs:[0x2c]
mov edx, dword [0x1014af98]
mov eax, dword [0x1014c5bc]
mov ecx, dword [edi + edx*4]
mov esi, dword [eax + 0x78]
mov eax, dword [0x1014b028]
mov edi, dword [ebp - 0x18a4]
cmp eax, dword [ecx + 4]
jle 0x1001c8fe
push 0x1014b028
call fcn.100659aa
add esp, 4
cmp dword [0x1014b028], 0xffffffff
jne 0x1001c8fe
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov byte [ebp - 4], 3
call fcn.10061970
push 0x1014b028
mov dword [0x1014afb0], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014afb0]
cmp dword [esi + eax], 0x1bf
jne 0x1001d532
mov eax, dword [0x1014c5bc]
lea ecx, [ebp - 0x4a48]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10002af0
mov ecx, dword [ebp - 0x49a4]
mov esi, eax
lea eax, [ebp - 0x4a84]
push eax
call fcn.10002af0
movss xmm2, dword [esi]
lea ecx, [ebp - 0x4a08]
movss xmm1, dword [esi + 4]
movss xmm0, dword [esi + 8]
subss xmm2, dword [eax]
subss xmm1, dword [eax + 4]
subss xmm0, dword [eax + 8]
movss dword [ebp - 0x4a08], xmm2
movss dword [ebp - 0x4a04], xmm1
movss dword [ebp - 0x4a00], xmm0
call fcn.100024e0
mov eax, dword [0x1014c5bc]
mov ecx, dword fs:[0x2c]
movss dword [ebp - 0x4994], xmm0
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x1014af98]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1014aff0]
mov dword [ebp - 0x49a8], esi
cmp eax, dword [esi + 4]
jle 0x1001c9ee
push 0x1014aff0
call fcn.100659aa
add esp, 4
cmp dword [0x1014aff0], 0xffffffff
jne 0x1001c9ee
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 4
call fcn.10061970
push 0x1014aff0
mov dword [0x1014afe8], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014afe8]
mov ecx, dword [ebp - 0x18a4]
cmp dword [eax + ecx], 8
jne 0x1001ca74
mov eax, dword [0x1014c5bc]
lea ecx, [ebp - 0x4a54]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10002af0
mov ecx, dword [ebp - 0x49a4]
mov esi, eax
lea eax, [ebp - 0x4a60]
push eax
call fcn.10002af0
movss xmm2, dword [esi]
lea ecx, [ebp - 0x4a14]
movss xmm1, dword [esi + 4]
movss xmm0, dword [esi + 8]
subss xmm2, dword [eax]
subss xmm1, dword [eax + 4]
subss xmm0, dword [eax + 8]
movss dword [ebp - 0x4a14], xmm2
movss dword [ebp - 0x4a10], xmm1
movss dword [ebp - 0x4a0c], xmm0
call fcn.100024e0
mov esi, dword [ebp - 0x49a8]
movss dword [ebp - 0x4994], xmm0
push 0x1860
lea eax, [ebp - 0x4988]
mov dword [ebp - 0x4990], 0
push 0
push eax
mov dword [ebp - 0x498c], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x4988]
call fcn.10009a80
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x3128], 0
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1001d393
mov eax, dword [0x1014c5bc]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x1014b028]
cmp eax, dword [esi + 4]
jle 0x1001cb23
push 0x1014b028
call fcn.100659aa
add esp, 4
cmp dword [0x1014b028], 0xffffffff
jne 0x1001cb23
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov byte [ebp - 4], 5
call fcn.10061970
push 0x1014b028
mov dword [0x1014afb0], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014afb0]
mov ecx, dword [ebp - 0x18a4]
cmp dword [ecx + eax], 0x1bf
jne 0x1001cc15
mov esi, dword [ebp - 0x49a4]
mov ecx, esi
call fcn.10051e30
test al, al
jne 0x1001cc15
mov eax, dword [0x1014c5dc]
cmp byte [eax + 0x80], 0
je 0x1001cc15
movss xmm0, dword [ebp - 0x4994]
movss xmm1, dword [0x10074c20]
comiss xmm1, xmm0
jb 0x1001cc15
push 0x1860
lea eax, [ebp - 0x1878]
movss dword [ebp - 0x4990], xmm0
push 0
push eax
mov dword [ebp - 0x3128], esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x1878]
call fcn.10009a80
lea eax, [ebp - 0x1878]
push eax
lea ecx, [ebp - 0x4988]
call fcn.1000a130
mov eax, dword [ebp - 0x1880]
lea ecx, [ebp - 0x4990]
mov dword [ebp - 0x498c], 1
cmp eax, dword [ebp - 0x187c]
je 0x1001d525
push 0x186c
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [ebp - 0x1880], 0x186c
jmp 0x1001d532
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x1014b0d8]
jne 0x1001c5ec
mov al, 1
jmp 0x1001c5ee
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x1014c5c8]
mov eax, dword [eax + 0x24]
call eax
lea eax, [eax + eax*4]
cmp dword [esi + eax*4 + 0x24], 2
jbe 0x1001d532
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x1014c5c8]
mov dword [ebp - 0x4994], 2
mov eax, dword [eax + 0x24]
call eax
lea eax, [eax + eax*4]
cmp dword [esi + eax*4 + 0x24], 2
jbe 0x1001d532
nop dword [eax]
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x1014c5c8]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0x4994]
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*4 + 0x1c]
add ecx, dword [esi + edx*4 + 0x20]
dec eax
and ecx, eax
mov eax, dword [esi + edx*4 + 0x18]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x49a0], esi
movss xmm1, dword [esi + 0x184c]
call fcn.10008b20
test al, al
je 0x1001d366
mov eax, dword [0x1014c5bc]
lea ecx, [ebp - 0x4a6c]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10002af0
add esi, 0x3c
lea ecx, [ebp - 0x4a20]
movss xmm2, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax + 8]
subss xmm2, dword [esi]
subss xmm1, dword [esi + 4]
subss xmm0, dword [esi + 8]
movss dword [ebp - 0x4a20], xmm2
movss dword [ebp - 0x4a1c], xmm1
movss dword [ebp - 0x4a18], xmm0
call fcn.100024e0
mov eax, dword [0x1014c5bc]
mov ecx, dword [ebp - 0x49a8]
movss dword [ebp - 0x499c], xmm0
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x1014aff0]
cmp eax, dword [ecx + 4]
jle 0x1001cd6b
push 0x1014aff0
call fcn.100659aa
add esp, 4
cmp dword [0x1014aff0], 0xffffffff
jne 0x1001cd63
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 6
call fcn.10061970
push 0x1014aff0
mov dword [0x1014afe8], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
movss xmm0, dword [ebp - 0x499c]
mov eax, dword [0x1014afe8]
mov ecx, dword [ebp - 0x18a4]
cmp dword [ecx + eax], 8
je 0x1001cdd7
mov eax, dword [0x1014c5bc]
lea ecx, [ebp - 0x4a78]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10002af0
lea ecx, [ebp - 0x49fc]
movss xmm2, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax + 8]
subss xmm2, dword [esi]
subss xmm1, dword [esi + 4]
subss xmm0, dword [esi + 8]
movss dword [ebp - 0x49fc], xmm2
movss dword [ebp - 0x49f8], xmm1
movss dword [ebp - 0x49f4], xmm0
call fcn.100024e0
movss dword [ebp - 0x499c], xmm0
movss xmm1, dword [0x10074c20]
comiss xmm1, xmm0
jb 0x1001d366
mov eax, dword [0x1014c5bc]
push esi
push ecx
lea ecx, [ebp - 0x4a30]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.100030c0
add esp, 4
lea ecx, [ebp - 0x18a0]
mov edx, eax
call fcn.10002530
mov eax, dword [0x1014c5dc]
add esp, 4
cmp byte [eax + 0x7e], 0
je 0x1001d2f3
mov eax, dword [0x1014c5bc]
mov ecx, dword [ebp - 0x49a8]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x1014aff0]
cmp eax, dword [ecx + 4]
jle 0x1001ce80
push 0x1014aff0
call fcn.100659aa
add esp, 4
cmp dword [0x1014aff0], 0xffffffff
jne 0x1001ce80
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 7
call fcn.10061970
push 0x1014aff0
mov dword [0x1014afe8], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014afe8]
mov ecx, dword [ebp - 0x18a4]
cmp dword [ecx + eax], 8
jne 0x1001d2f3
mov eax, dword [0x1014c5bc]
lea ecx, [ebp - 0x4a3c]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10002af0
movss xmm3, dword [esi]
movss xmm4, dword [esi + 4]
mov ecx, dword [ebp - 0x49a8]
subss xmm3, dword [eax]
subss xmm4, dword [eax + 4]
mov eax, dword [0x1014b088]
movss dword [ebp - 0x49b4], xmm3
movss dword [ebp - 0x49ac], xmm4
cmp eax, dword [ecx + 4]
jle 0x1001cf2d
push 0x1014b088
call fcn.100659aa
add esp, 4
cmp dword [0x1014b088], 0xffffffff
jne 0x1001cf1d
push str.m_angEyeAngles_0_
push str.CTFPlayer
mov byte [ebp - 4], 8
call fcn.10061970
push 0x1014b088
mov dword [0x1014b070], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
movss xmm4, dword [ebp - 0x49ac]
movss xmm3, dword [ebp - 0x49b4]
mov esi, dword [0x1014b070]
lea ecx, [ebp - 0x1894]
movss dword [ebp - 0x1894], xmm3
movss dword [ebp - 0x1890], xmm4
mov dword [ebp - 0x188c], 0
call fcn.100024e0
movss xmm5, dword [0x10074ab0]
lea eax, [ebp - 0x49dc]
movss xmm6, dword [0x10074b4c]
addss xmm0, xmm5
movaps xmm1, xmm6
mov dword [ebp - 0x18a8], eax
xorps xmm7, xmm7
lea eax, [ebp - 0x4a24]
mov dword [ebp - 0x18ac], eax
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, xmm3
movss dword [ebp - 0x49b4], xmm0
movss dword [ebp - 0x1894], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm4
mulss xmm1, xmm7
movss dword [ebp - 0x49ac], xmm0
movss dword [ebp - 0x1890], xmm0
movss xmm0, dword [ebp - 0x18a0]
movss dword [ebp - 0x49f0], xmm1
movss dword [ebp - 0x188c], xmm1
movss xmm1, dword [0x10074aec]
mulss xmm0, xmm1
movss dword [ebp - 0x18a4], xmm0
fld dword [ebp - 0x18a4]
fsincos
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x18ac]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [ebp - 0x189c]
lea eax, [ebp - 0x49d8]
mulss xmm0, xmm1
mov dword [ebp - 0x18a8], eax
lea eax, [ebp - 0x49e0]
mov dword [ebp - 0x18a4], eax
movss dword [ebp - 0x18ac], xmm0
fld dword [ebp - 0x18ac]
fsincos
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x18a4]
fstp dword [edx]
fstp dword [eax]
movss xmm3, dword [ebp - 0x49d8]
lea ecx, [ebp - 0x49c4]
movss xmm4, dword [ebp - 0x49e0]
mulss xmm3, dword [ebp - 0x49dc]
mov dword [ebp - 0x49bc], 0
mulss xmm4, dword [ebp - 0x49dc]
movss dword [ebp - 0x49c4], xmm3
movss dword [ebp - 0x49c0], xmm4
call fcn.100024e0
addss xmm0, xmm5
mov ecx, dword [ebp - 0x49a4]
movaps xmm1, xmm6
lea eax, [ebp - 0x49e8]
mov dword [ebp - 0x18a8], eax
lea eax, [ebp - 0x49d4]
mov dword [ebp - 0x1888], eax
divss xmm1, xmm0
movss xmm0, dword [esi + ecx]
movaps xmm6, xmm1
movaps xmm5, xmm1
mulss xmm1, xmm7
mulss xmm6, xmm3
movss dword [ebp - 0x18a4], xmm1
movss dword [ebp - 0x49bc], xmm1
movss xmm1, dword [0x10074aec]
mulss xmm5, xmm4
mulss xmm0, xmm1
movss dword [ebp - 0x49c4], xmm6
movss dword [ebp - 0x49c0], xmm5
movss dword [ebp - 0x18ac], xmm0
fld dword [ebp - 0x18ac]
fsincos
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x1888]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [esi + ecx + 4]
lea eax, [ebp - 0x49e4]
mulss xmm0, xmm1
mov dword [ebp - 0x18ac], eax
lea eax, [ebp - 0x49ec]
mov dword [ebp - 0x18a8], eax
movss dword [ebp - 0x1888], xmm0
fld dword [ebp - 0x1888]
fsincos
mov edx, dword [ebp - 0x18ac]
mov eax, dword [ebp - 0x18a8]
fstp dword [edx]
fstp dword [eax]
movss xmm3, dword [ebp - 0x49e4]
mulss xmm3, dword [ebp - 0x49e8]
movss xmm4, dword [ebp - 0x49ec]
lea ecx, [ebp - 0x49d0]
mulss xmm4, dword [ebp - 0x49e8]
mov dword [ebp - 0x49c8], 0
movss dword [ebp - 0x49d0], xmm3
movss dword [ebp - 0x49cc], xmm4
call fcn.100024e0
addss xmm0, dword [0x10074ab0]
movss xmm2, dword [0x10074b4c]
movaps xmm1, xmm6
mulss xmm1, dword [ebp - 0x49b4]
divss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [ebp - 0x49ac]
movaps xmm7, xmm2
mulss xmm7, xmm3
movaps xmm3, xmm2
mulss xmm2, dword [0x10074aa0]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x18a4]
mulss xmm3, xmm4
movss xmm4, dword [ebp - 0x49f0]
mulss xmm0, xmm4
movss dword [ebp - 0x49d0], xmm7
movss dword [ebp - 0x49cc], xmm3
addss xmm1, xmm0
movss dword [ebp - 0x49c8], xmm2
movss xmm0, dword [0x10074b40]
comiss xmm0, xmm1
jae 0x1001d278
movaps xmm0, xmm7
movaps xmm1, xmm3
mulss xmm0, dword [ebp - 0x49b4]
mulss xmm1, dword [ebp - 0x49ac]
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm4
addss xmm1, xmm0
movss xmm0, dword [0x10074adc]
comiss xmm0, xmm1
jae 0x1001d278
mulss xmm2, dword [ebp - 0x18a4]
movss xmm0, dword [0x10074cec]
mulss xmm5, xmm3
mulss xmm6, xmm7
addss xmm5, xmm6
addss xmm5, xmm2
comiss xmm0, xmm5
jb 0x1001d2f3
push 0x1860
lea eax, [ebp - 0x62f0]
mov dword [ebp - 0x62f8], 0
push 0
push eax
mov dword [ebp - 0x62f4], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x62f0]
call fcn.10009a80
mov eax, dword [ebp - 0x62f4]
lea ecx, [ebp - 0x4988]
movss xmm0, dword [ebp - 0x62f8]
mov dword [ebp - 0x498c], eax
lea eax, [ebp - 0x62f0]
push eax
mov dword [ebp - 0x4a90], 0
movss dword [ebp - 0x4990], xmm0
call fcn.1000a130
mov eax, dword [ebp - 0x4a90]
mov dword [ebp - 0x3128], eax
jmp 0x1001d366
movss xmm0, dword [ebp - 0x499c]
lea ecx, [ebp - 0x4988]
mov eax, dword [ebp - 0x49a4]
push dword [ebp - 0x49a0]
movss dword [ebp - 0x4990], xmm0
mov dword [ebp - 0x3128], eax
call fcn.1000a130
mov eax, dword [ebp - 0x1880]
lea ecx, [ebp - 0x4990]
mov dword [ebp - 0x498c], 1
cmp eax, dword [ebp - 0x187c]
je 0x1001d359
push 0x186c
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [ebp - 0x1880], 0x186c
jmp 0x1001d366
push ecx
push eax
lea ecx, [ebp - 0x1884]
call fcn.1001dce0
mov eax, dword [edi]
mov ecx, edi
inc dword [ebp - 0x4994]
mov esi, dword [0x1014c5c8]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0x4994]
lea eax, [eax + eax*4]
cmp ecx, dword [esi + eax*4 + 0x24]
jb 0x1001cc60
jmp 0x1001d532
movss xmm0, dword [ebp - 0x4994]
comiss xmm0, dword [0x10074c20]
ja 0x1001d532
mov eax, dword [0x1014c5dc]
mov esi, dword [ebp - 0x49a4]
cmp byte [eax + 0x7f], 0
jne 0x1001d3c8
mov ecx, esi
call fcn.10051e30
test al, al
je 0x1001d532
mov eax, dword [0x1014c5bc]
mov ecx, dword [ebp - 0x49a8]
mov edi, dword [eax + 0x74]
mov eax, dword [0x1014aff0]
cmp eax, dword [ecx + 4]
jle 0x1001d428
push 0x1014aff0
call fcn.100659aa
add esp, 4
cmp dword [0x1014aff0], 0xffffffff
jne 0x1001d422
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 9
call fcn.10061970
push 0x1014aff0
mov dword [0x1014afe8], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov ecx, dword [ebp - 0x49a8]
mov eax, dword [0x1014afe8]
cmp dword [edi + eax], 9
jne 0x1001d532
mov eax, dword [0x1014c5bc]
mov edi, dword [eax + 0x20]
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x49a0], eax
mov eax, dword [0x1014b110]
cmp eax, dword [ecx + 4]
jle 0x1001d496
push 0x1014b110
call fcn.100659aa
add esp, 4
cmp dword [0x1014b110], 0xffffffff
jne 0x1001d496
push str.m_hBuilder
push str.CBaseObject
mov byte [ebp - 4], 0xa
call fcn.10061970
push 0x1014b110
mov dword [0x1014b144], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014b144]
mov ecx, edi
push dword [eax + esi]
call dword [ebp - 0x49a0]
mov edi, eax
test edi, edi
je 0x1001d532
movss xmm0, dword [ebp - 0x4994]
lea eax, [ebp - 0x1878]
push 0x1860
push 0
push eax
movss dword [ebp - 0x4990], xmm0
mov dword [ebp - 0x3128], esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x1878]
call fcn.10009a80
lea eax, [ebp - 0x1878]
push eax
lea ecx, [ebp - 0x4988]
call fcn.1000a130
mov eax, dword [0x1014c5bc]
xor ecx, ecx
cmp edi, dword [eax + 0x74]
mov eax, dword [ebp - 0x1880]
sete cl
inc ecx
mov dword [ebp - 0x498c], ecx
lea ecx, [ebp - 0x4990]
cmp eax, dword [ebp - 0x187c]
jne 0x1001cbde
push ecx
push eax
lea ecx, [ebp - 0x1884]
call fcn.1001dce0
mov ecx, dword [ebp - 0x4998]
mov esi, dword [ebp - 0x49b8]
add esi, 4
mov dword [ebp - 0x49b8], esi
cmp esi, ecx
jne 0x1001c773
mov ecx, dword [ebp - 0x1884]
mov esi, dword [ebp - 0x1880]
mov eax, 0x14f6fddf
push dword [ebp - 0x49d4]
sub esi, ecx
imul esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1880]
push eax
call fcn.1001dea0
mov esi, dword [ebp - 0x1884]
add esp, 8
cmp esi, dword [ebp - 0x1880]
je 0x1001dbfc
push 0x186c
lea eax, [ebp - 0x3120]
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x18b8]
add esp, 0xc
test ecx, ecx
je 0x1001dbfc
movss xmm0, dword [ebp - 0x18cc]
comiss xmm0, dword [0x10074aa0]
jbe 0x1001d5ed
movq xmm0, qword [ebp - 0x30dc]
lea esi, [ebp - 0x18a0]
mov eax, dword [ebp - 0x30d4]
movq qword [ebp - 0x18a0], xmm0
mov dword [ebp - 0x1898], eax
jmp 0x1001d5fb
lea eax, [ebp - 0x4a3c]
push eax
call fcn.10002af0
mov esi, eax
mov ecx, dword [0x1014c5bc]
lea eax, [ebp - 0x4a30]
push eax
mov ecx, dword [ecx + 0x74]
call fcn.100030c0
push esi
mov edx, eax
lea ecx, [ebp - 0x1894]
call fcn.10002530
add esp, 4
lea ecx, [ebp - 0x1894]
call fcn.100175f0
mov eax, dword [0x1014c5bc]
mov ecx, dword fs:[0x2c]
mov edi, dword [eax + 0x74]
mov eax, dword [0x1014af98]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1014b15c]
cmp eax, dword [esi + 4]
jle 0x1001d68f
push 0x1014b15c
call fcn.100659aa
add esp, 4
cmp dword [0x1014b15c], 0xffffffff
jne 0x1001d68f
push str.m_fFlags
push str.CBasePlayer
mov byte [ebp - 4], 0xb
call fcn.10061970
push 0x1014b15c
mov dword [0x1014b148], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014b148]
test byte [edi + eax], 1
jne 0x1001d716
mov eax, dword [0x1014c5bc]
mov edi, dword [eax + 0x74]
mov eax, dword [0x1014afbc]
cmp eax, dword [esi + 4]
jle 0x1001d6ee
push 0x1014afbc
call fcn.100659aa
add esp, 4
cmp dword [0x1014afbc], 0xffffffff
jne 0x1001d6ee
push str.m_vecOrigin
push str.CBaseEntity
mov byte [ebp - 4], 0xc
call fcn.10061970
push 0x1014afbc
mov dword [0x1014afe4], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014afe4]
mov edx, dword [ebp - 0x49b0]
movss xmm0, dword [edi + eax + 8]
subss xmm0, dword [ebp - 0x3110]
comiss xmm0, dword [0x10074c10]
jbe 0x1001d71c
or dword [edx + 0x24], 4
jmp 0x1001d71c
mov edx, dword [ebp - 0x49b0]
or dword [edx + 0x24], 1
movss xmm0, dword [ebp - 0x1890]
movss xmm1, dword [ebp - 0x1894]
movss dword [edx + 0x10], xmm0
movss xmm0, dword [ebp - 0x188c]
movss dword [edx + 0xc], xmm1
movss dword [edx + 0x14], xmm0
mov ecx, dword [0x1014c5bc]
push edx
movss dword [ecx + 0x2c4], xmm1
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x2c8], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x2cc], eax
mov eax, dword [0x1014c5bc]
mov dword [eax + 0x2d0], 0x94
mov eax, dword [0x1014c5bc]
mov ecx, dword [eax + 0x78]
call fcn.10054100
test al, al
je 0x1001dbf6
movss xmm0, dword [ebp - 0x18cc]
comiss xmm0, dword [0x10074aa0]
jbe 0x1001da8c
mov eax, dword [0x1014b088]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1001d7f3
push 0x1014b088
call fcn.100659aa
add esp, 4
cmp dword [0x1014b088], 0xffffffff
jne 0x1001d7f3
push str.m_angEyeAngles_0_
push str.CTFPlayer
mov byte [ebp - 4], 0xd
call fcn.10061970
push 0x1014b088
mov dword [0x1014b070], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014b070]
movss xmm0, dword [ebp - 0x310c]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x3108]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x3104]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x1014afb8]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1001d873
push 0x1014afb8
call fcn.100659aa
add esp, 4
cmp dword [0x1014afb8], 0xffffffff
jne 0x1001d873
push str.m_vecMins
push str.CBaseEntity
mov byte [ebp - 4], 0xe
call fcn.10061970
push 0x1014afb8
mov dword [0x1014affc], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014affc]
movss xmm0, dword [ebp - 0x3100]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x30fc]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x30f8]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x1014b024]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1001d8f3
push 0x1014b024
call fcn.100659aa
add esp, 4
cmp dword [0x1014b024], 0xffffffff
jne 0x1001d8f3
push str.m_vecMaxs
push str.CBaseEntity
mov byte [ebp - 4], 0xf
call fcn.10061970
push 0x1014b024
mov dword [0x1014b00c], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014b00c]
movss xmm0, dword [ebp - 0x30f4]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x30f0]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x30ec]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x1014b010]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1001d973
push 0x1014b010
call fcn.100659aa
add esp, 4
cmp dword [0x1014b010], 0xffffffff
jne 0x1001d973
push str.m_vecVelocity_0_
push str.CBasePlayer
mov byte [ebp - 4], 0x10
call fcn.10061970
push 0x1014b010
mov dword [0x1014b02c], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014b02c]
movss xmm0, dword [ebp - 0x30e8]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x30e4]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x30e0]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x1014b08c]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1001d9f3
push 0x1014b08c
call fcn.100659aa
add esp, 4
cmp dword [0x1014b08c], 0xffffffff
jne 0x1001d9f3
push str.m_flCycle
push str.CBaseAnimating
mov byte [ebp - 4], 0x11
call fcn.10061970
push 0x1014b08c
mov dword [0x1014b054], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov eax, dword [0x1014b054]
movss xmm0, dword [ebp - 0x18c8]
movss dword [eax + edi], xmm0
mov eax, dword [0x1014c5bc]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x120]
call eax
push 1
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x49a0], ecx
mov ecx, eax
call dword [ebp - 0x49a0]
push ecx
fstp dword [ebp - 0x49a0]
movss xmm0, dword [ebp - 0x49a0]
lea eax, [ebp - 0x4994]
movss dword [esp], xmm0
push eax
lea eax, [ebp - 0x499c]
mov dword [ebp - 0x4994], 0xffffffff
push eax
lea eax, [ebp - 0x30d0]
mov dword [ebp - 0x499c], 0xaffffff
push eax
push dword [ebp - 0x18d0]
push dword [ebp - 0x18b8]
call fcn.10043950
call fcn.10008670
addss xmm0, dword [ebp - 0x18cc]
jmp 0x1001dbd4
mov ecx, dword [ebp - 0x18b8]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1001dbf6
push 0x1800
lea eax, [ebp - 0x1818]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [0x1014c5bc]
lea edx, [ebp - 0x1818]
mov ecx, dword [ebp - 0x18b8]
add esp, 8
add ecx, 4
mov eax, dword [eax + 0x2c]
movss xmm0, dword [eax + 0xc]
mov eax, dword [ecx]
movss dword [esp], xmm0
push 0x100
push 0x80
mov eax, dword [eax + 0x40]
push edx
call eax
mov eax, dword [0x1014c5bc]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x120]
call eax
push 1
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x49a0], ecx
mov ecx, eax
call dword [ebp - 0x49a0]
mov ecx, dword [ebp - 0x18b8]
add ecx, 4
mov dword [ebp - 0x4994], 0xffffffff
mov dword [ebp - 0x499c], 0xaffffff
fstp dword [ebp - 0x49a0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
movss xmm0, dword [ebp - 0x49a0]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x4994]
push ecx
lea ecx, [ebp - 0x499c]
push ecx
lea ecx, [ebp - 0x1818]
push ecx
push eax
push dword [ebp - 0x18b8]
call fcn.10043950
mov eax, dword [0x1014b094]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1001dbc4
push 0x1014b094
call fcn.100659aa
add esp, 4
cmp dword [0x1014b094], 0xffffffff
jne 0x1001dbc4
push str.m_flSimulationTime
push str.CBaseEntity
mov byte [ebp - 4], 0x12
call fcn.10061970
push 0x1014b094
mov dword [0x1014b068], eax
mov byte [ebp - 4], 1
call fcn.10065959
add esp, 4
mov esi, dword [0x1014b068]
call fcn.10008670
addss xmm0, dword [edi + esi]
mov eax, dword [0x1014c5bc]
mov ecx, dword [ebp - 0x49b0]
mov eax, dword [eax + 0x2c]
divss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x10074b40]
cvttss2si eax, xmm0
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x1884]
test esi, esi
je 0x1001dc49
mov ecx, dword [ebp - 0x187c]
mov eax, 0x14f6fddf
sub ecx, esi
imul ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, eax, 0x186c
mov eax, esi
cmp ecx, 0x1000
jb 0x1001dc3f
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1001dc3f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.10065e72
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10065920
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4