Function at 0x1006efe0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100adc79
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x100df00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x100df6b8], 0
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
je 0x1006f3fe
cmp byte [0x100e52c1], 0
je 0x1006f3fe
push 2
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1006f3fe
mov ecx, dword [0x100e479c]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x1006f3fe
mov ecx, dword [0x100e4754]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
test al, al
jne 0x1006f3fe
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100e1a08]
mov ebx, dword [eax + ecx*4]
mov eax, dword [0x100e4804]
mov dword [ebp - 0x50], ebx
cmp eax, dword [ebx + 4]
jle 0x1006f0cd
push 0x100e4804
call fcn.100a68e6
add esp, 4
cmp dword [0x100e4804], 0xffffffff
jne 0x1006f0cd
mov edx, str.m_iClass
mov dword [ebp - 4], 0
mov ecx, str.CTFPlayer
call fcn.100083c0
push 0x100e4804
mov dword [0x100e4824], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
add esp, 4
mov eax, dword [0x100e4824]
cmp dword [eax + edi], 3
jne 0x1006f3fe
mov ecx, edi
call fcn.10009ba0
test byte [eax], 1
je 0x1006f3fe
mov eax, dword [0x100e481c]
cmp eax, dword [ebx + 4]
jle 0x1006f13e
push 0x100e481c
call fcn.100a68e6
add esp, 4
cmp dword [0x100e481c], 0xffffffff
jne 0x1006f13e
mov edx, str.m_fFlags
mov dword [ebp - 4], 1
mov ecx, str.CBasePlayer
call fcn.100083c0
push 0x100e481c
mov dword [0x100e482c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
add esp, 4
mov eax, dword [0x100e482c]
test byte [eax + edi], 2
jne 0x1006f3fe
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x1a8]
call eax
cmp eax, 0x3c
jl 0x1006f3fe
mov ecx, edi
call fcn.1000f650
mov ebx, eax
test ebx, ebx
je 0x1006f3fe
mov ecx, ebx
call fcn.1006e5a0
cmp byte [eax], 0
jne 0x1006f3fa
mov ecx, ebx
call fcn.1006e500
cmp dword [eax], 0
jne 0x1006f3fa
mov eax, dword [esi + 0x24]
test al, 1
je 0x1006f1a0
and eax, 0xfffffffe
mov dword [esi + 0x24], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x100e4850]
cmp eax, dword [ecx + 4]
jle 0x1006f1f5
push 0x100e4850
call fcn.100a68e6
add esp, 4
cmp dword [0x100e4850], 0xffffffff
jne 0x1006f1f5
mov edx, str.m_vecViewOffset_0_
mov dword [ebp - 4], 2
mov ecx, str.CTFPlayer
call fcn.100083c0
push 0x100e4850
mov dword [0x100e480c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
add esp, 4
mov eax, dword [0x100e480c]
movss xmm0, dword [0x100d3b14]
mov ecx, dword [esi + 0x24]
comiss xmm0, dword [eax + edi + 8]
jbe 0x1006f3f2
or ecx, 3
lea eax, [ebp - 0x28]
mov dword [esi + 0x24], ecx
mov ecx, edi
push eax
call fcn.1000a260
movss xmm1, dword [0x100d3bc4]
movss xmm2, dword [ebp - 0x28]
comiss xmm2, xmm1
jbe 0x1006f268
movss xmm0, dword [0x100d3a20]
comiss xmm0, xmm2
jbe 0x1006f268
movss xmm2, dword [ebp - 0x24]
comiss xmm2, xmm1
jbe 0x1006f268
comiss xmm0, xmm2
jbe 0x1006f268
movss xmm2, dword [ebp - 0x20]
comiss xmm2, xmm1
jbe 0x1006f268
comiss xmm0, xmm2
jbe 0x1006f268
movss xmm0, dword [0x100d3b24]
jmp 0x1006f270
movss xmm0, dword [0x100d3afc]
lea edx, [ebp - 0x28]
movss dword [ebp - 0x1c], xmm0
lea ecx, [ebp - 0x5c]
call fcn.1006e050
movss xmm1, dword [0x100d3bc4]
movss xmm2, dword [ebp - 0x28]
comiss xmm2, xmm1
mov dword [ebp - 0x14], 0
movss xmm0, dword [eax + 4]
subss xmm0, dword [0x100d3b54]
movss dword [ebp - 0x18], xmm0
jbe 0x1006f2da
movss xmm0, dword [0x100d3a20]
comiss xmm0, xmm2
jbe 0x1006f2da
movss xmm2, dword [ebp - 0x24]
comiss xmm2, xmm1
jbe 0x1006f2da
comiss xmm0, xmm2
jbe 0x1006f2da
movss xmm2, dword [ebp - 0x20]
comiss xmm2, xmm1
jbe 0x1006f2da
comiss xmm0, xmm2
ja 0x1006f3ca
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x2c], 0
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x30], 0
push eax
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
call fcn.1006dea0
movss xmm4, dword [0x100d3af0]
lea edx, [ebp - 0x1c]
movss xmm3, dword [0x100d3ad0]
lea ecx, [ebp - 0x5c]
movss xmm1, dword [ebp - 0x34]
add esp, 8
movss xmm0, dword [ebp - 0x40]
movss xmm2, dword [0x100d3aa8]
mulss xmm0, xmm3
mulss xmm1, xmm4
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x4c]
mulss xmm0, xmm2
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x3c]
mulss xmm0, xmm3
movss dword [ebp - 0x5c], xmm1
movss xmm1, dword [ebp - 0x30]
mulss xmm1, xmm4
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x48]
mulss xmm0, xmm2
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x38]
mulss xmm0, xmm3
movss dword [ebp - 0x58], xmm1
movss xmm1, dword [ebp - 0x2c]
mulss xmm1, xmm4
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x44]
mulss xmm0, xmm2
subss xmm1, xmm0
movss dword [ebp - 0x54], xmm1
call fcn.10009a30
lea ecx, [ebp - 0x1c]
call fcn.1006dce0
movss xmm0, dword [ebp - 0x1c]
movss dword [esi + 0xc], xmm0
movss xmm0, dword [ebp - 0x18]
movss dword [esi + 0x10], xmm0
movss xmm0, dword [ebp - 0x14]
movss dword [esi + 0x14], xmm0
jmp 0x1006f3fe
or ecx, 4
mov dword [esi + 0x24], ecx
jmp 0x1006f3fe
or dword [esi + 0x24], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100a6425
mov esp, ebp
pop ebp
ret 8