Function at 0x100e9740
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
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10129290
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x98
mov byte [0x101cd3c0], 0
mov byte [0x101cd3bd], 0
push esi
mov esi, dword [ebx + 8]
push edi
mov edi, dword [0x101c93a8]
test edi, edi
je 0x100ea0a1
push edi
push esi
call fcn.100ed220
cmp byte [0x101cf6f5], 0
je 0x100e98e6
cmp byte [0x101cf589], 0
jne 0x100e98e6
mov edx, dword [0x101c93a8]
mov dword [ebp - 0x18], edx
test edx, edx
je 0x100e98e6
mov eax, dword [0x101cf110]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101cf474]
cmp eax, dword [ecx + 4]
jle 0x100e9829
push 0x101cf474
call fcn.10121ee8
add esp, 4
cmp dword [0x101cf474], 0xffffffff
jne 0x100e9826
mov edx, str.m_vecVelocity_0_
mov dword [ebp - 4], 0
mov ecx, str.CBasePlayer
call fcn.100109e0
push 0x101cf474
mov dword [0x101cf49c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10121e9e
add esp, 4
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x101cf49c]
xorps xmm2, xmm2
movss xmm1, dword [ecx + edx + 4]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x100e9854
movss xmm0, dword [ecx + edx]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x100e9854
xorps xmm0, xmm0
jmp 0x100e9898
cvtps2pd xmm0, xmm1
movsd qword [ebp - 0x28], xmm0
movss xmm0, dword [ecx + edx]
fld qword [ebp - 0x28]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x28], xmm0
fld qword [ebp - 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [ebp - 0x28]
movsd xmm0, qword [ebp - 0x28]
xorps xmm1, xmm1
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10197884]
comiss xmm1, xmm0
jbe 0x100e9898
addss xmm0, dword [0x10197918]
cmp byte [0x101cf588], 0
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], 0xc2b40000
movss dword [esi + 0x10], xmm0
mov dword [esi + 0x14], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], 0
mov byte [0x101cf6f5], 0
mov byte [0x102b743c], 0
mov byte [0x101cd3c0], 1
mov byte [0x101cd3bd], 1
jne 0x100e98e9
mov byte [eax], 0
jmp 0x100e98e9
mov eax, dword [ebx + 0xc]
push edi
push eax
push esi
call fcn.100ea680
push edi
push esi
call fcn.100ebd20
push edi
push esi
call fcn.100eb990
cmp byte [0x102b7619], 0
je 0x100e9a54
mov ecx, edi
call fcn.10010b00
test al, al
jne 0x100e9a54
mov ecx, edi
call fcn.100e8eb0
test al, al
jne 0x100e9a54
mov ecx, edi
call fcn.100167b0
shr eax, 0x12
test al, 1
jne 0x100e9a54
mov ecx, edi
call fcn.100167b0
shr eax, 0xd
test al, 1
jne 0x100e9a54
mov eax, dword [edi + 0x1a4]
cmp eax, 8
je 0x100e9a54
cmp eax, 9
je 0x100e9a54
cmp eax, 0xa
je 0x100e9a54
mov eax, dword [esi + 0x24]
shr eax, 1
and al, 1
mov dword [ebp - 0x1c], eax
je 0x100e998a
mov ecx, edi
call fcn.10010d70
mov byte [ebp - 0x11], 1
test al, al
jne 0x100e998e
mov byte [ebp - 0x11], 0
mov eax, dword [0x101cf110]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x102ba080]
cmp eax, dword [ecx + 4]
jle 0x100e99d5
push 0x102ba080
call fcn.10121ee8
add esp, 4
cmp dword [0x102ba080], 0xffffffff
jne 0x100e99d5
mov al, byte [ebp - 0x11]
push 0x102ba080
mov byte [0x102ba110], al
call fcn.10121e9e
add esp, 4
cmp byte [ebp - 0x11], 0
je 0x100e99ed
cmp byte [0x102b7858], 0
jne 0x100e9a33
mov byte [0x102b7858], 1
jmp 0x100e9a4d
mov cl, byte [0x102ba110]
test cl, cl
je 0x100e9a40
mov eax, dword [ebp - 0x1c]
test al, al
je 0x100e9a1f
mov ecx, edi
call fcn.10010d70
test al, al
je 0x100e9a33
mov ecx, edi
call fcn.10010a70
shr eax, 1
test al, 1
jne 0x100e9a33
mov cl, byte [0x102ba110]
mov eax, dword [ebp - 0x1c]
test cl, cl
je 0x100e9a40
test al, al
jne 0x100e9a54
mov byte [0x102b7858], al
mov byte [0x102ba110], al
jmp 0x100e9a54
and dword [esi + 0x24], 0xfffffffd
mov byte [0x102b7858], 0
jmp 0x100e9a54
cmp byte [ebp - 0x1c], 0
je 0x100e9a54
mov byte [0x102b7858], 0
mov byte [0x102ba110], 1
push edi
push esi
call fcn.100ebfa0
cmp byte [0x102b7664], 0
je 0x100e9c01
mov eax, dword [0x101cf110]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x102b7808]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [ecx + 4]
jle 0x100e9acf
push 0x102b7808
call fcn.10121ee8
add esp, 4
cmp dword [0x102b7808], 0xffffffff
jne 0x100e9acc
push str.m_bUsingActionSlot
push str.DT_TFPlayer
mov dword [ebp - 4], 1
call fcn.10014890
push 0x102b7808
mov dword [0x102b7834], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10121e9e
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [0x102b7834]
mov al, byte [eax + edi]
test al, al
jne 0x100e9c01
mov eax, dword [0x102b7840]
cmp eax, dword [ecx + 4]
jle 0x100e9b36
push 0x102b7840
call fcn.10121ee8
add esp, 4
cmp dword [0x102b7840], 0xffffffff
jne 0x100e9b36
push str.m_flNextNoiseMakerTime
push str.m_Shared
push str.DT_TFPlayer
mov dword [ebp - 4], 2
call fcn.10014980
push 0x102b7840
mov dword [0x102b7870], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10121e9e
add esp, 4
mov ecx, dword [0x101cf490]
mov eax, dword [0x102b7870]
movss xmm0, dword [ecx + 0xc]
comiss xmm0, dword [eax + edi]
jbe 0x100e9c01
mov ecx, dword [0x102b7ac8]
push 0x20
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x100e9be0
lea eax, [ebp - 0xa8]
push str.use_action_slot_item_server
push eax
call fcn.100ce650
mov ecx, dword [ebp - 0x1c]
add esp, 8
mov eax, dword [0x102bb52c]
cmp eax, dword [ecx + 4]
jle 0x100e9bce
push 0x102bb52c
call fcn.10121ee8
add esp, 4
cmp dword [0x102bb52c], 0xffffffff
jne 0x100e9bce
push str.FF_15_________83_C4_08_89_06_8B_C6
push str.engine.dll
call fcn.101212a0
sub eax, 0x42
push 0x102bb52c
mov dword [0x102bb53c], eax
call fcn.10121e9e
add esp, 4
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0xa8]
push eax
call dword [0x102bb53c]
jmp 0x100e9be7
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x101cf52c]
push dword [ebp - 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1fc]
call eax
cmp byte [0x102b7614], 0
je 0x100e9cea
mov ecx, dword [0x101cf52c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x100e9cea
mov ecx, edi
call fcn.10010b00
test al, al
je 0x100e9cea
mov eax, dword [0x101cf110]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x102ba0c4]
cmp eax, dword [ecx + 4]
jle 0x100e9c94
push 0x102ba0c4
call fcn.10121ee8
add esp, 4
cmp dword [0x102ba0c4], 0xffffffff
jne 0x100e9c94
xorps xmm0, xmm0
lea ecx, [ebp - 0x28]
movlpd qword [0x102ba048], xmm0
call fcn.1001b5a0
push 0x102ba0c4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x102ba048], ecx
mov dword [0x102ba04c], eax
call fcn.10121e9e
add esp, 4
lea ecx, [ebp - 0x28]
call fcn.1001b5a0
mov ecx, dword [ebp - 0x28]
sub ecx, dword [0x102ba048]
mov eax, dword [ebp - 0x24]
sbb eax, dword [0x102ba04c]
mov dword [ebp - 0x24], eax
js 0x100e9cea
jg 0x100e9cbd
cmp ecx, 0x77359400
jb 0x100e9cea
lea ecx, [ebp - 0x28]
call fcn.1001b5a0
push str.extendfreeze
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x102ba048], ecx
mov ecx, dword [0x101cf52c]
mov dword [0x102ba04c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
push edi
push esi
call fcn.100eb580
cmp byte [0x102b763a], 0
je 0x100e9dc4
mov ecx, edi
call fcn.10010b00
test al, al
jne 0x100e9dc4
mov eax, dword [0x101cf110]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101cf69c]
cmp eax, dword [ecx + 4]
jle 0x100e9d6e
push 0x101cf69c
call fcn.10121ee8
add esp, 4
cmp dword [0x101cf69c], 0xffffffff
jne 0x100e9d6e
push str.m_iHealth
push str.DT_BasePlayer
mov dword [ebp - 4], 4
call fcn.10014890
push 0x101cf69c
mov dword [0x101cf6c4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10121e9e
add esp, 4
mov eax, dword [0x101cf6c4]
mov ecx, edi
mov esi, dword [eax + edi]
mov eax, dword [edi]
mov eax, dword [eax + 0x1ac]
call eax
movd xmm1, dword [0x101a72b4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mulss xmm1, dword [0x101975fc]
cvtdq2ps xmm0, xmm0
movd xmm2, esi
cvtdq2ps xmm2, xmm2
mulss xmm1, xmm0
comiss xmm1, xmm2
jb 0x100e9dc1
mov ecx, dword [0x101cf52c]
push str.retry
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov esi, dword [ebx + 8]
push esi
push edi
call fcn.100eab10
push edi
push ecx
call fcn.100ecd30
push edi
push esi
call fcn.100ed6d0
mov eax, dword [0x101cf110]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + eax*4]
mov eax, dword [0x102ba0fc]
cmp eax, dword [ecx + 4]
jle 0x100e9e2c
push 0x102ba0fc
call fcn.10121ee8
add esp, 4
cmp dword [0x102ba0fc], 0xffffffff
jne 0x100e9e2c
push 0x102ba0fc
mov dword [0x102ba120], 0
mov dword [0x102ba11c], 0x102b7640
call fcn.10121e9e
add esp, 4
cmp byte [0x101cf6b0], 0
je 0x100ea02f
mov eax, dword [0x102ba11c]
mov eax, dword [eax]
test eax, eax
jne 0x100e9e4e
mov dword [0x102ba120], eax
jmp 0x100ea02f
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x102ba120], eax
je 0x100ea02f
mov ecx, edi
call fcn.10010b00
test al, al
jne 0x100ea02f
mov edx, dword [0x101cf110]
mov esi, dword fs:[0x2c]
mov eax, dword [0x101cf544]
mov ecx, dword [esi + edx*4]
cmp eax, dword [ecx + 4]
jle 0x100e9ed9
push 0x101cf544
call fcn.10121ee8
add esp, 4
cmp dword [0x101cf544], 0xffffffff
jne 0x100e9ed9
push str.m_hActiveWeapon
push str.DT_BaseCombatCharacter
mov dword [ebp - 4], 5
call fcn.10014890
push 0x101cf544
mov dword [0x101cf508], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10121e9e
add esp, 4
mov eax, dword [0x101cf508]
mov ecx, dword [0x101cf528]
mov edx, dword [eax + edi]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.10022cc0
test eax, eax
je 0x100ea02f
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x5f4]
mov ecx, eax
call edx
cmp eax, 0x18
jne 0x100ea02f
mov esi, dword fs:[0x2c]
mov edx, dword [0x101cf110]
mov eax, dword [0x101cf674]
mov ecx, dword [esi + edx*4]
mov esi, dword [ebx + 8]
cmp eax, dword [ecx + 4]
jle 0x100e9f83
push 0x101cf674
call fcn.10121ee8
add esp, 4
cmp dword [0x101cf674], 0xffffffff
jne 0x100e9f83
push str.m_flChargeBeginTime
push str.PipebombLauncherLocalData
push str.DT_WeaponPipebombLauncher
mov dword [ebp - 4], 6
call fcn.10014980
push 0x101cf674
mov dword [0x101cf668], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10121e9e
add esp, 4
mov ecx, dword [0x101cf490]
lea edx, [ebp - 0x18]
mov eax, dword [0x101cf668]
xorps xmm2, xmm2
mov dword [ebp - 0x24], 0x3f800000
movss xmm0, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], 0
subss xmm0, dword [ecx + eax]
lea ecx, [ebp - 0x1c]
subss xmm0, xmm2
mulss xmm0, dword [0x10197648]
comiss xmm2, xmm0
movss dword [ebp - 0x1c], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x24]
comiss xmm0, dword [0x101976c8]
movd xmm0, dword [0x102b7608]
cvtdq2ps xmm0, xmm0
seta al
test al, al
cmove ecx, edx
movss xmm1, dword [ecx]
mulss xmm1, dword [0x101978ac]
addss xmm1, xmm2
comiss xmm1, xmm0
jb 0x100ea01d
cmp byte [0x102b7838], 0
je 0x100ea01d
and dword [esi + 0x24], 0xfffffffe
mov byte [0x102b7844], 0
mov byte [0x102b7838], 0
jmp 0x100ea02f
or dword [esi + 0x24], 1
mov byte [0x102b7844], 1
mov byte [0x102b7838], 1
mov esi, dword fs:[0x2c]
mov edx, dword [0x101cf110]
mov eax, dword [0x102ba0ec]
mov ecx, dword [esi + edx*4]
mov esi, dword [ebx + 8]
cmp eax, dword [ecx + 4]
jle 0x100ea086
push 0x102ba0ec
call fcn.10121ee8
add esp, 4
cmp dword [0x102ba0ec], 0xffffffff
jne 0x100ea086
push 0x102ba0ec
mov dword [0x102ba0a8], 0
mov dword [0x102ba0a4], 0x102b7610
call fcn.10121e9e
add esp, 4
mov ecx, edi
call fcn.10010b00
test al, al
jne 0x100ea0a1
mov eax, dword [0x102ba0a4]
mov eax, dword [eax]
test eax, eax
jne 0x100ea104
mov dword [0x102ba0a8], eax
mov edi, dword [0x101cf110]
cmp byte [0x102b761a], 0
je 0x100ea0cb
mov eax, dword [0x101c9328]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x30], 0
je 0x100ea0cb
test byte [esi + 4], 1
je 0x100ea0cb
or dword [esi + 0x24], 0x8000000
call fcn.100ec450
push str.sv_cheats
call fcn.1011c330
test eax, eax
je 0x100ea26b
cmp byte [0x102b7628], 0
je 0x100ea252
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [0x102b7830], 1
jmp 0x100ea26b
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x102ba0a8], eax
je 0x100ea0a1
mov esi, dword fs:[0x2c]
mov edx, dword [0x101cf110]
mov eax, dword [0x101cf544]
mov ecx, dword [esi + edx*4]
mov esi, dword [ebx + 8]
cmp eax, dword [ecx + 4]
jle 0x100ea17f
push 0x101cf544
call fcn.10121ee8
add esp, 4
cmp dword [0x101cf544], 0xffffffff
jne 0x100ea17f
push str.m_hActiveWeapon
push str.DT_BaseCombatCharacter
mov dword [ebp - 4], 7
call fcn.10014890
push 0x101cf544
mov dword [0x101cf508], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10121e9e
add esp, 4
mov eax, dword [0x101cf508]
mov ecx, dword [0x101cf528]
mov edx, dword [eax + edi]
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
mov edi, dword [0x101cf110]
cmp eax, 0x3b
jne 0x100ea0a7
mov edx, dword fs:[0x2c]
or dword [esi + 0x24], 1
mov eax, dword [0x102ba0a0]
mov ecx, dword [edx + edi*4]
cmp eax, dword [ecx + 4]
jle 0x100ea200
push 0x102ba0a0
call fcn.10121ee8
add esp, 4
cmp dword [0x102ba0a0], 0xffffffff
jne 0x100ea200
mov eax, dword [0x101cf490]
push 0x102ba0a0
movss xmm0, dword [eax + 0xc]
movss dword [0x102ba010], xmm0
call fcn.10121e9e
add esp, 4
mov eax, dword [0x101cf490]
movss xmm0, dword [eax + 0xc]
subss xmm0, dword [0x102ba010]
andps xmm0, xmmword [0x10197f60]
comiss xmm0, dword [0x1019766c]
jbe 0x100ea0a7
mov ecx, dword [0x101cf52c]
push str.taunt
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov eax, dword [0x101cf490]
movss xmm0, dword [eax + 0xc]
movss dword [0x102ba010], xmm0
jmp 0x100ea0a7
cmp byte [0x102b7830], 0
je 0x100ea26b
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push 0
call dword [eax]
mov byte [0x102b7830], 0
call fcn.100eb2c0
mov eax, dword fs:[0x2c]
mov esi, dword [eax + edi*4]
mov eax, dword [0x102ba0b0]
cmp eax, dword [esi + 4]
jle 0x100ea2c6
push 0x102ba0b0
call fcn.10121ee8
add esp, 4
cmp dword [0x102ba0b0], 0xffffffff
jne 0x100ea2c6
push str.cl_wpn_sway_interp
mov dword [ebp - 4], 8
call fcn.1011c330
push 0x102ba0b0
mov dword [0x102ba08c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10121e9e
add esp, 4
mov eax, dword [0x102ba0bc]
cmp eax, dword [esi + 4]
jle 0x100ea313
push 0x102ba0bc
call fcn.10121ee8
add esp, 4
cmp dword [0x102ba0bc], 0xffffffff
jne 0x100ea313
push str.cl_wpn_sway_scale
mov dword [ebp - 4], 9
call fcn.1011c330
push 0x102ba0bc
mov dword [0x102ba038], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10121e9e
add esp, 4
mov ecx, dword [0x102ba08c]
test ecx, ecx
jne 0x100ea325
cmp dword [0x102ba038], ecx
je 0x100ea37e
mov eax, dword [ecx + 0x18]
add ecx, 0x18
cmp byte [0x102b76ad], 0
push ecx
je 0x100ea35e
movss xmm0, dword [0x101a736c]
movss dword [esp], xmm0
call dword [eax + 4]
mov ecx, dword [0x102ba038]
movss xmm0, dword [0x101a72fc]
add ecx, 0x18
push ecx
movss dword [esp], xmm0
jmp 0x100ea379
mov dword [esp], 0
call dword [eax + 4]
mov ecx, dword [0x102ba038]
add ecx, 0x18
push ecx
mov dword [esp], 0
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.100ea870
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