Function at 0x100fcb60
Capabilities:
Log keystrokes via polling

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 0x101329b0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x20
push esi
mov esi, dword [0x101d3580]
mov byte [0x101d3ea4], 0
mov byte [0x101d3ea1], 0
mov dword [ebp - 0x14], esi
push edi
mov edi, dword [ebx + 8]
test esi, esi
je 0x100fd42b
push esi
push edi
call fcn.101003d0
cmp byte [0x10289e50], 0
je 0x100fcd06
cmp byte [0x101d5f3a], 0
jne 0x100fcd06
mov edx, dword [0x101d3580]
mov dword [ebp - 0x18], edx
test edx, edx
je 0x100fcd06
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101d5a74]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101d5e2c]
cmp eax, dword [ecx + 4]
jle 0x100fcc49
push 0x101d5e2c
call fcn.1012b230
add esp, 4
cmp dword [0x101d5e2c], 0xffffffff
jne 0x100fcc46
mov edx, str.m_vecVelocity_0_
mov dword [ebp - 4], 0
mov ecx, str.CBasePlayer
call fcn.10014300
push 0x101d5e2c
mov dword [0x101d5e54], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x101d5e54]
xorps xmm1, xmm1
movss xmm2, dword [edx + ecx + 4]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100fcc74
movss xmm0, dword [edx + ecx]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100fcc74
xorps xmm0, xmm0
jmp 0x100fccb8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 0x20], xmm0
movss xmm0, dword [edx + ecx]
fld qword [ebp - 0x20]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x20], xmm0
fld qword [ebp - 0x20]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [ebp - 0x20]
movsd xmm0, qword [ebp - 0x20]
xorps xmm1, xmm1
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x101bebb8]
comiss xmm1, xmm0
jbe 0x100fccb8
addss xmm0, dword [0x101bec48]
cmp byte [0x101d5f39], 0
mov eax, dword [ebx + 0xc]
mov dword [edi + 0xc], 0xc2b40000
movss dword [edi + 0x10], xmm0
mov dword [edi + 0x14], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x18], 0
mov byte [0x10289e50], 0
mov byte [0x10289a10], 0
mov byte [0x101d3ea4], 1
mov byte [0x101d3ea1], 1
jne 0x100fcd09
mov byte [eax], 0
jmp 0x100fcd09
mov eax, dword [ebx + 0xc]
push esi
push eax
push edi
call fcn.100fd940
push esi
push edi
call fcn.100fee50
push esi
push edi
call fcn.100feab0
push esi
push edi
call fcn.100ff0d0
push esi
push edi
call fcn.100ff290
cmp byte [0x10289c38], 0
je 0x100fce63
mov eax, dword [0x101d5a74]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10289e0c]
mov dword [ebp - 0x18], ecx
cmp eax, dword [ecx + 4]
jle 0x100fcda1
push 0x10289e0c
call fcn.1012b230
add esp, 4
cmp dword [0x10289e0c], 0xffffffff
jne 0x100fcd9e
push str.m_bUsingActionSlot
push str.DT_TFPlayer
mov dword [ebp - 4], 1
call fcn.10017f20
push 0x10289e0c
mov dword [0x10289e24], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x10289e24]
cmp byte [eax + esi], 0
jne 0x100fce63
mov eax, dword [0x10289e30]
cmp eax, dword [ecx + 4]
jle 0x100fce07
push 0x10289e30
call fcn.1012b230
add esp, 4
cmp dword [0x10289e30], 0xffffffff
jne 0x100fce07
push str.m_flNextNoiseMakerTime
push str.m_Shared
push str.DT_TFPlayer
mov dword [ebp - 4], 2
call fcn.10018010
push 0x10289e30
mov dword [0x10289e54], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d5e48]
movss xmm0, dword [eax + 0xc]
mov eax, dword [0x10289e54]
comiss xmm0, dword [eax + esi]
jbe 0x100fce63
mov ecx, dword [0x1028a0b0]
push 0x20
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x100fce49
push str.use_action_slot_item_server
mov ecx, eax
call fcn.10127810
mov edx, eax
jmp 0x100fce4b
xor edx, edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x101d5dc0]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1fc]
call eax
cmp byte [0x10289bea], 0
je 0x100fcf4c
mov ecx, dword [0x101d5dc0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x100fcf4c
mov ecx, esi
call fcn.10014420
test al, al
je 0x100fcf4c
mov eax, dword [0x101d5a74]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1028cd04]
cmp eax, dword [ecx + 4]
jle 0x100fcef6
push 0x1028cd04
call fcn.1012b230
add esp, 4
cmp dword [0x1028cd04], 0xffffffff
jne 0x100fcef6
xorps xmm0, xmm0
lea ecx, [ebp - 0x20]
movlpd qword [0x1028cc88], xmm0
call fcn.100260c0
push 0x1028cd04
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x1028cc88], ecx
mov dword [0x1028cc8c], eax
call fcn.1012b1df
add esp, 4
lea ecx, [ebp - 0x20]
call fcn.100260c0
mov ecx, dword [ebp - 0x20]
sub ecx, dword [0x1028cc88]
mov eax, dword [ebp - 0x1c]
sbb eax, dword [0x1028cc8c]
mov dword [ebp - 0x1c], eax
js 0x100fcf4c
jg 0x100fcf1f
cmp ecx, 0x77359400
jb 0x100fcf4c
lea ecx, [ebp - 0x20]
call fcn.100260c0
push str.extendfreeze
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x1028cc88], ecx
mov ecx, dword [0x101d5dc0]
mov dword [0x1028cc8c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
push esi
push edi
call fcn.100fe6a0
cmp byte [0x10289c10], 0
je 0x100fd027
mov ecx, esi
call fcn.10014420
test al, al
jne 0x100fd027
mov eax, dword [0x101d5a74]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101d6054]
cmp eax, dword [ecx + 4]
jle 0x100fcfd0
push 0x101d6054
call fcn.1012b230
add esp, 4
cmp dword [0x101d6054], 0xffffffff
jne 0x100fcfd0
push str.m_iHealth
push str.DT_BasePlayer
mov dword [ebp - 4], 4
call fcn.10017f20
push 0x101d6054
mov dword [0x101d607c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d607c]
mov ecx, dword [ebp - 0x14]
mov esi, dword [eax + esi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1ac]
call eax
movd xmm1, dword [0x101cf2e8]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mulss xmm1, dword [0x101be950]
cvtdq2ps xmm0, xmm0
movd xmm2, esi
cvtdq2ps xmm2, xmm2
mulss xmm1, xmm0
comiss xmm1, xmm2
jb 0x100fd024
mov ecx, dword [0x101d5dc0]
push str.retry
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov esi, dword [ebp - 0x14]
push edi
push esi
call fcn.100fddc0
push esi
push ecx
call fcn.100fff50
push esi
push edi
call fcn.10100830
mov eax, dword [0x101d5a74]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1028cd3c]
mov dword [ebp - 0x18], ecx
cmp eax, dword [ecx + 4]
jle 0x100fd092
push 0x1028cd3c
call fcn.1012b230
add esp, 4
cmp dword [0x1028cd3c], 0xffffffff
jne 0x100fd092
push 0x1028cd3c
mov dword [0x1028cd60], 0
mov dword [0x1028cd5c], 0x10289c1c
call fcn.1012b1df
add esp, 4
cmp byte [0x101d6068], 0
je 0x100fd279
mov eax, dword [0x1028cd5c]
mov eax, dword [eax]
test eax, eax
jne 0x100fd0b4
mov dword [0x1028cd60], eax
jmp 0x100fd279
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x1028cd60], eax
je 0x100fd279
mov ecx, esi
call fcn.10014420
test al, al
jne 0x100fd279
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x101d5ef4]
cmp eax, dword [ecx + 4]
jle 0x100fd132
push 0x101d5ef4
call fcn.1012b230
add esp, 4
cmp dword [0x101d5ef4], 0xffffffff
jne 0x100fd132
push str.m_hActiveWeapon
push str.DT_BaseCombatCharacter
mov dword [ebp - 4], 5
call fcn.10017f20
push 0x101d5ef4
mov dword [0x101d5ebc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d5ebc]
mov ecx, dword [0x101d5edc]
mov edx, dword [eax + esi]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.1002ed70
test eax, eax
je 0x100fd279
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x5f4]
mov ecx, eax
call edx
cmp eax, 0x18
jne 0x100fd279
mov eax, dword [0x101d5a74]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101d6028]
cmp eax, dword [ecx + 4]
jle 0x100fd1d8
push 0x101d6028
call fcn.1012b230
add esp, 4
cmp dword [0x101d6028], 0xffffffff
jne 0x100fd1d8
push str.m_flChargeBeginTime
push str.PipebombLauncherLocalData
push str.DT_WeaponPipebombLauncher
mov dword [ebp - 4], 6
call fcn.10018010
push 0x101d6028
mov dword [0x101d6020], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d5e48]
xorps xmm2, xmm2
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0x3f800000
mov dword [ebp - 0x18], 0
movss xmm0, dword [eax + 0xc]
mov eax, dword [0x101d6020]
subss xmm0, dword [eax + ecx]
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x18]
subss xmm0, xmm2
mulss xmm0, dword [0x101be998]
comiss xmm2, xmm0
movss dword [ebp - 0x14], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x1c]
comiss xmm0, dword [0x101bea18]
movd xmm0, dword [0x10289bdc]
cvtdq2ps xmm0, xmm0
cmovbe eax, ecx
movss xmm1, dword [eax]
mulss xmm1, dword [0x101bebe4]
addss xmm1, xmm2
comiss xmm1, xmm0
jb 0x100fd267
cmp byte [0x10289e28], 0
je 0x100fd267
and dword [edi + 0x24], 0xfffffffe
mov byte [0x10289e34], 0
mov byte [0x10289e28], 0
jmp 0x100fd279
or dword [edi + 0x24], 1
mov byte [0x10289e34], 1
mov byte [0x10289e28], 1
mov eax, dword [0x101d5a74]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1028cd2c]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [ecx + 4]
jle 0x100fd2cf
push 0x1028cd2c
call fcn.1012b230
add esp, 4
cmp dword [0x1028cd2c], 0xffffffff
jne 0x100fd2cf
push 0x1028cd2c
mov dword [0x1028cce8], 0
mov dword [0x1028cce4], 0x10289bec
call fcn.1012b1df
add esp, 4
mov ecx, esi
call fcn.10014420
test al, al
jne 0x100fd42b
mov eax, dword [0x1028cce4]
mov eax, dword [eax]
test eax, eax
jne 0x100fd2f3
mov dword [0x1028cce8], eax
jmp 0x100fd42b
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x1028cce8], eax
je 0x100fd42b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [0x101d5ef4]
cmp eax, dword [ecx + 4]
jle 0x100fd362
push 0x101d5ef4
call fcn.1012b230
add esp, 4
cmp dword [0x101d5ef4], 0xffffffff
jne 0x100fd362
push str.m_hActiveWeapon
push str.DT_BaseCombatCharacter
mov dword [ebp - 4], 7
call fcn.10017f20
push 0x101d5ef4
mov dword [0x101d5ebc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d5ebc]
mov ecx, dword [0x101d5edc]
mov edx, dword [eax + esi]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 0x5f4]
mov ecx, eax
call edx
cmp eax, 0x3b
jne 0x100fd42b
mov eax, dword [0x101d5a74]
mov ecx, dword fs:[0x2c]
or dword [edi + 0x24], 1
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1028cce0]
cmp eax, dword [ecx + 4]
jle 0x100fd3e2
push 0x1028cce0
call fcn.1012b230
add esp, 4
cmp dword [0x1028cce0], 0xffffffff
jne 0x100fd3e2
mov eax, dword [0x101d5e48]
push 0x1028cce0
movss xmm0, dword [eax + 0xc]
movss dword [0x1028cc50], xmm0
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d5e48]
movss xmm0, dword [eax + 0xc]
subss xmm0, dword [0x1028cc50]
andps xmm0, xmmword [0x101bf270]
comiss xmm0, dword [0x101be9bc]
jbe 0x100fd42b
mov ecx, dword [0x101d5dc0]
push str.taunt
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov eax, dword [0x101d5e48]
movss xmm0, dword [eax + 0xc]
movss dword [0x1028cc50], xmm0
cmp byte [0x10289bf0], 0
je 0x100fd44f
mov eax, dword [0x101d3108]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x30], 0
je 0x100fd44f
test byte [edi + 4], 1
je 0x100fd44f
or dword [edi + 0x24], 0x8000000
call fcn.100ff700
mov edx, 0xf60c4582
mov ecx, 0x1019c8ed
call fcn.10031140
mov dword [ebp - 0x1c], eax
mov ecx, 0x101d3114
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10018160
mov eax, dword [eax]
cmp dword [eax + 0xc], 0
jne 0x100fd4bd
mov ecx, dword [0x101d5dc4]
push str.sv_cheats
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
mov edx, 0xf60c4582
mov ecx, 0x1019c8ed
mov esi, eax
call fcn.10031140
mov dword [ebp - 0x18], eax
mov ecx, 0x101d3114
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10018160
mov eax, dword [eax]
mov dword [eax + 0xc], esi
mov edx, 0xf60c4582
mov ecx, 0x1019c8ed
call fcn.10031140
mov dword [ebp - 0x14], eax
mov ecx, 0x101d3114
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.10018160
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x100fd520
cmp byte [0x10289c00], 0
je 0x100fd506
mov eax, dword [ecx + 0x18]
add ecx, 0x18
push 1
call dword [eax]
mov byte [0x10289e20], 1
jmp 0x100fd520
cmp byte [0x10289e20], 0
je 0x100fd520
mov eax, dword [ecx + 0x18]
add ecx, 0x18
push 0
call dword [eax]
mov byte [0x10289e20], 0
call fcn.100fe3d0
mov eax, dword [0x101d5a74]
mov ecx, dword fs:[0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1028ccf0]
cmp eax, dword [esi + 4]
jle 0x100fd586
push 0x1028ccf0
call fcn.1012b230
add esp, 4
cmp dword [0x1028ccf0], 0xffffffff
jne 0x100fd586
push str.cl_wpn_sway_interp
mov ecx, 0x101d30d0
mov dword [ebp - 4], 8
call fcn.10124fa0
push 0x1028ccf0
mov dword [0x1028cccc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x1028ccfc]
cmp eax, dword [esi + 4]
jle 0x100fd5d8
push 0x1028ccfc
call fcn.1012b230
add esp, 4
cmp dword [0x1028ccfc], 0xffffffff
jne 0x100fd5d8
push str.cl_wpn_sway_scale
mov ecx, 0x101d30d0
mov dword [ebp - 4], 9
call fcn.10124fa0
push 0x1028ccfc
mov dword [0x1028cc78], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov ecx, dword [0x1028cccc]
test ecx, ecx
jne 0x100fd5ea
cmp dword [0x1028cc78], ecx
je 0x100fd643
mov eax, dword [ecx + 0x18]
add ecx, 0x18
cmp byte [0x10289c82], 0
push ecx
je 0x100fd623
movss xmm0, dword [0x101cf3a0]
movss dword [esp], xmm0
call dword [eax + 4]
mov ecx, dword [0x1028cc78]
movss xmm0, dword [0x101cf318]
add ecx, 0x18
push ecx
movss dword [esp], xmm0
jmp 0x100fd63e
mov dword [esp], 0
call dword [eax + 4]
mov ecx, dword [0x1028cc78]
add ecx, 0x18
push ecx
mov dword [esp], 0
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.100fdb20
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8