Function at 0x100a0130
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ee94d
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x10114008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x1011984c]
mov esi, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0xa], 0
je 0x100a07d6
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x100a07d6
cmp dword [0x101181c8], 0
jne 0x100a01b0
push str.Team_Fortress_2
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x101181c8], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [sym.imp.USER32.dll_GetForegroundWindow]
call edi
cmp eax, dword [0x101181c8]
jne 0x100a07d6
mov ecx, dword [0x10118038]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
test al, al
jne 0x100a07d6
cmp dword [0x101181c8], 0
je 0x100a018a
call edi
cmp eax, dword [0x101181c8]
jne 0x100a07d6
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10117f54]
mov edi, dword [0x10118020]
mov ebx, dword [eax + ecx*4]
mov eax, dword [0x10117ff0]
cmp eax, dword [ebx + 4]
jle 0x100a025a
push 0x10117ff0
call fcn.100e3eef
add esp, 4
cmp dword [0x10117ff0], 0xffffffff
jne 0x100a025a
push str.m_lifeState
push str.CBasePlayer
mov dword [ebp - 4], 0
call fcn.100e2fc0
push 0x10117ff0
mov dword [0x10117fb0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10117fb0]
cmp byte [eax + edi], 0
jne 0x100a07d6
call fcn.1009dc90
cmp byte [eax], 1
ja 0x100a07d6
mov ecx, dword [0x10118020]
call fcn.1002b120
mov eax, dword [eax]
shr eax, 0xd
test al, 1
jne 0x100a07d6
call fcn.1002b270
test al, al
jne 0x100a07d6
mov eax, dword [0x1011803c]
mov edi, dword [0x10118020]
cmp eax, dword [ebx + 4]
jle 0x100a02f4
push 0x1011803c
call fcn.100e3eef
add esp, 4
cmp dword [0x1011803c], 0xffffffff
jne 0x100a02f4
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 1
call fcn.100e2fc0
push 0x1011803c
mov dword [0x1011802c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x1011802c]
cmp dword [eax + edi], 3
jne 0x100a07d6
mov ecx, dword [0x10118020]
call fcn.10021c30
test byte [eax], 1
je 0x100a07d6
mov ecx, dword [0x10117fa0]
call fcn.100221b0
cmp dword [eax], 0
je 0x100a07d6
mov eax, dword [0x10118020]
mov eax, dword [eax + 0x1a4]
cmp eax, 8
je 0x100a07d6
cmp eax, 9
je 0x100a07d6
cmp eax, 0xa
je 0x100a07d6
mov ecx, dword [0x10117f9c]
lea edx, [ebp - 0x28]
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x28], xmm0
vmovss dword [ebp - 0x24], xmm0
mov eax, dword [ecx]
vmovss dword [ebp - 0x20], xmm0
push edx
vmovss dword [ebp - 0x18], xmm0
mov eax, dword [eax + 0x4c]
call eax
vmovss xmm0, dword [ebp - 0x28]
vsubss xmm0, xmm0, dword [0x10102f60]
vmovss xmm2, dword [0x10102de4]
vdivss xmm1, xmm0, xmm2
vmovss xmm0, dword [0x10102c90]
vcomiss xmm1, xmm0
seta al
test al, al
jne 0x100a03b9
vxorps xmm0, xmm0, xmm0
vcomiss xmm0, xmm1
seta al
test al, al
jne 0x100a03b9
vmovaps xmm0, xmm1
vmulss xmm0, xmm0, dword [0x10102d94]
mov edi, dword [0x10118084]
mov eax, dword [0x10118020]
vsubss xmm0, xmm2, xmm0
vmovss dword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], eax
cmp edi, dword [ebx + 4]
jle 0x100a0429
push 0x10118084
call fcn.100e3eef
mov edi, dword [0x10118084]
add esp, 4
cmp edi, 0xffffffff
jne 0x100a0429
push str.m_vecVelocity_0_
push str.CBasePlayer
mov dword [ebp - 4], 2
call fcn.100e2fc0
push 0x10118084
mov dword [0x10118098], eax
mov dword [ebp - 4], edi
call fcn.100e3ea5
mov edi, dword [0x10118084]
add esp, 4
mov eax, dword [0x10118098]
mov ecx, dword [ebp - 0x14]
add eax, ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.1009d9f0
push ecx
vmovss xmm0, dword [eax + 4]
vaddss xmm0, xmm0, dword [0x10102e2c]
vmovss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp dword [esp]
vmovss dword [ebp - 0x10], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
vmovss xmm1, dword [0x10102e70]
add esp, 4
test ax, ax
jle 0x100a0476
vxorps xmm0, xmm0, xmm0
jmp 0x100a04ba
vmovss xmm0, dword [ebp - 0x10]
vmovss xmm2, dword [0x10102e2c]
vcomiss xmm0, xmm2
jbe 0x100a049f
nop dword [eax]
vsubss xmm0, xmm0, xmm1
vcomiss xmm0, xmm2
ja 0x100a0490
vmovss dword [ebp - 0x10], xmm0
vmovss xmm2, dword [0x10102f70]
vcomiss xmm2, xmm0
jbe 0x100a04bf
nop dword [eax]
vaddss xmm0, xmm0, xmm1
vcomiss xmm2, xmm0
ja 0x100a04b0
vmovss dword [ebp - 0x10], xmm0
mov eax, dword [0x10118020]
mov dword [ebp - 0x14], eax
cmp edi, dword [ebx + 4]
jle 0x100a0517
push 0x10118084
call fcn.100e3eef
add esp, 4
cmp dword [0x10118084], 0xffffffff
jne 0x100a0514
push str.m_vecVelocity_0_
push str.CBasePlayer
mov dword [ebp - 4], 3
call fcn.100e2fc0
push 0x10118084
mov dword [0x10118098], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x10118098]
vmovss xmm1, dword [0x10102f24]
vmovss xmm2, dword [eax + ecx]
vcomiss xmm2, xmm1
jbe 0x100a061f
vmovss xmm0, dword [0x10102bd0]
vcomiss xmm0, xmm2
jbe 0x100a061f
vmovss xmm2, dword [eax + ecx + 4]
vcomiss xmm2, xmm1
jbe 0x100a061f
vcomiss xmm0, xmm2
jbe 0x100a061f
vmovss xmm2, dword [eax + ecx + 8]
vcomiss xmm2, xmm1
jbe 0x100a061f
vcomiss xmm0, xmm2
jbe 0x100a061f
mov ecx, dword [0x10117f9c]
lea edx, [ebp - 0x34]
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x34], xmm0
vmovss dword [ebp - 0x30], xmm0
mov eax, dword [ecx]
vmovss dword [ebp - 0x2c], xmm0
push edx
mov eax, dword [eax + 0x4c]
call eax
vmovss xmm0, dword [ebp - 0x30]
vaddss xmm0, xmm0, dword [0x10102e2c]
vmovss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
push ecx
fstp dword [esp]
vmovss dword [ebp - 0x10], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
add esp, 4
test ax, ax
jle 0x100a05cf
vxorps xmm0, xmm0, xmm0
jmp 0x100a061a
vmovss xmm0, dword [ebp - 0x10]
vmovss xmm2, dword [0x10102e2c]
vcomiss xmm0, xmm2
vmovss xmm1, dword [0x10102e70]
jbe 0x100a05ff
nop word [eax + eax]
vsubss xmm0, xmm0, xmm1
vcomiss xmm0, xmm2
ja 0x100a05f0
vmovss dword [ebp - 0x10], xmm0
vmovss xmm2, dword [0x10102f70]
vcomiss xmm2, xmm0
jbe 0x100a061f
nop dword [eax]
vaddss xmm0, xmm0, xmm1
vcomiss xmm2, xmm0
ja 0x100a0610
vmovss dword [ebp - 0x10], xmm0
mov ecx, dword [0x10118020]
call fcn.10021af0
vmovss xmm0, dword [eax + 8]
vcomiss xmm0, dword [0x10102db8]
jbe 0x100a0651
or dword [esi + 0x24], 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [0x10118020]
call fcn.10021af0
vmovss xmm0, dword [eax + 8]
vcomiss xmm0, dword [0x10102db0]
jbe 0x100a073e
mov ecx, dword [0x10118020]
call fcn.10021af0
vmovss xmm0, dword [0x10102db8]
vcomiss xmm0, dword [eax + 8]
jbe 0x100a073e
mov eax, dword [0x10117fb4]
mov edi, dword [0x10117fa0]
cmp eax, dword [ebx + 4]
jle 0x100a06e5
push 0x10117fb4
call fcn.100e3eef
add esp, 4
cmp dword [0x10117fb4], 0xffffffff
jne 0x100a06e5
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 4
call fcn.100e2fc0
push 0x10117fb4
mov dword [0x10117fd0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10117fd0]
cmp dword [edi + eax], 0x201
je 0x100a0700
vmovss xmm0, dword [0x10102de8]
vmovss dword [ebp - 0x18], xmm0
mov ecx, dword [0x10117fa0]
vmovss xmm0, dword [ebp - 0x1c]
vmovss dword [esi + 0xc], xmm0
vmovss xmm0, dword [ebp - 0x10]
mov eax, dword [ecx]
vmovss dword [esi + 0x10], xmm0
vmovss xmm0, dword [ebp - 0x18]
vmovss dword [esi + 0x14], xmm0
mov eax, dword [eax + 0x45c]
call eax
mov eax, dword [esi + 0x24]
and eax, 0xfffff7ff
or eax, 1
jmp 0x100a07d3
mov eax, dword [0x10117fb4]
mov edi, dword [0x10117fa0]
cmp eax, dword [ebx + 4]
jle 0x100a078f
push 0x10117fb4
call fcn.100e3eef
add esp, 4
cmp dword [0x10117fb4], 0xffffffff
jne 0x100a078f
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 5
call fcn.100e2fc0
push 0x10117fb4
mov dword [0x10117fd0], eax
call fcn.100e3ea5
add esp, 4
mov eax, dword [0x10117fd0]
cmp dword [edi + eax], 0x201
je 0x100a07aa
vmovss xmm0, dword [0x10102de8]
vmovss dword [ebp - 0x18], xmm0
vmovss xmm0, dword [ebp - 0x1c]
mov eax, dword [esi + 0x24]
vmovss dword [esi + 0xc], xmm0
vmovss xmm0, dword [ebp - 0x10]
vmovss dword [esi + 0x10], xmm0
vmovss xmm0, dword [ebp - 0x18]
and eax, 0xfffff7ff
vmovss dword [esi + 0x14], xmm0
or eax, 7
mov dword [esi + 0x24], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4