Function at 0x1006faa0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x100df00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100e1a08]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100e7774]
push edi
movss xmm0, dword [esi + 0xc]
mov edi, dword [ebp + 0xc]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [esi + 0x10]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [esi + 0x14]
movss dword [ebp - 0x44], xmm0
cmp eax, dword [ecx + 4]
jle 0x1006fb2a
push 0x100e7774
call fcn.100a68e6
add esp, 4
cmp dword [0x100e7774], 0xffffffff
jne 0x1006fb2a
push 0x100e7774
mov dword [0x100e77a4], 0
mov dword [0x100e77a0], 0x100df728
call fcn.100a689c
add esp, 4
mov eax, dword [0x100e77a0]
cmp dword [0x100e77a4], 1
sete bl
mov eax, dword [eax]
test eax, eax
jne 0x1006fb46
mov dword [0x100e77a4], eax
jmp 0x1006fb5c
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x100e77a4], eax
jne 0x1006fb71
test bl, bl
je 0x1006fb71
cmp byte [0x100e7794], 0
sete al
mov byte [0x100e7794], al
jmp 0x1006fb76
mov al, byte [0x100e7794]
test al, al
je 0x1006fe0c
cmp byte [0x100e53bc], 0
jne 0x1006fbbf
lea eax, [ebp - 0x50]
mov ecx, edi
push eax
call fcn.1000a160
movss xmm0, dword [eax]
movss dword [0x100e53c0], xmm0
movss xmm0, dword [eax + 4]
movss dword [0x100e53c4], xmm0
movss xmm0, dword [eax + 8]
movss dword [0x100e53c8], xmm0
mov byte [0x100e53bc], 1
mov ecx, dword [0x100e4750]
lea edx, [ebp - 0x10]
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ecx]
push edx
call dword [eax + 0x4c]
movss xmm0, dword [ebp - 0x10]
mulss xmm0, dword [0x100d3a24]
call fcn.10009870
lea eax, [ebp - 0x50]
movss dword [ebp - 0x20], xmm0
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x24], 0
push eax
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0
call fcn.1006dea0
mov eax, dword [esi + 0x24]
add esp, 8
movss xmm4, dword [ebp - 0x24]
xorps xmm2, xmm2
movss xmm5, dword [ebp - 0x28]
xorps xmm1, xmm1
movss xmm6, dword [ebp - 0x2c]
xorps xmm3, xmm3
movss dword [ebp - 0x1c], xmm2
xorps xmm0, xmm0
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x14], xmm3
test al, 8
je 0x1006fcaf
movaps xmm2, xmm4
movaps xmm3, xmm6
addss xmm2, xmm0
movaps xmm1, xmm5
addss xmm3, xmm0
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x20]
subss xmm2, xmm0
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x1c], xmm2
jmp 0x1006fcb4
movss xmm0, dword [ebp - 0x20]
test al, 0x10
je 0x1006fcd7
subss xmm2, xmm4
subss xmm3, xmm6
subss xmm1, xmm5
addss xmm2, xmm0
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x1c], xmm2
movss xmm0, dword [ebp - 0x30]
movss xmm4, dword [ebp - 0x34]
movss xmm5, dword [ebp - 0x38]
test eax, 0x200
je 0x1006fd08
subss xmm3, xmm5
subss xmm1, xmm4
subss xmm2, xmm0
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x1c], xmm2
test eax, 0x400
je 0x1006fd2a
addss xmm3, xmm5
addss xmm1, xmm4
addss xmm2, xmm0
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x1c], xmm2
movaps xmm0, xmm1
mulss xmm0, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.10009890
xorps xmm3, xmm3
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1006fd60
xorps xmm2, xmm2
xorps xmm1, xmm1
jmp 0x1006fd7b
movss xmm3, dword [ebp - 0x14]
movss xmm2, dword [ebp - 0x18]
movss xmm1, dword [ebp - 0x1c]
divss xmm3, xmm0
divss xmm2, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x100d3adc]
mulss xmm3, xmm0
mulss xmm2, xmm0
addss xmm3, dword [0x100e53c0]
mulss xmm1, xmm0
addss xmm2, dword [0x100e53c4]
movss xmm0, dword [ebp - 0x3c]
addss xmm1, dword [0x100e53c8]
movss dword [0x100e53c0], xmm3
movss dword [0x100e53c4], xmm2
movss dword [0x100e53c8], xmm1
movss dword [esi + 0xc], xmm0
movss xmm0, dword [ebp - 0x40]
movss dword [esi + 0x10], xmm0
movss xmm0, dword [ebp - 0x44]
mov dword [esi + 0x24], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
movss dword [esi + 0x14], xmm0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100a6425
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov byte [0x100e53bc], 0
pop ebx
call fcn.100a6425
mov esp, ebp
pop ebp
ret 8