Function at 0x1001cf90
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
cmp byte [0x100c5368], 0
push esi
je 0x1001d808
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100c0e8c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c6d68]
cmp eax, dword [ecx + 4]
jle 0x1001cff7
push 0x100c6d68
call fcn.1006cd15
add esp, 4
cmp dword [0x100c6d68], 0xffffffff
jne 0x1001cff7
push 0x100c6d68
mov dword [0x100c6d60], 0
mov dword [0x100c6d5c], 0
call fcn.1006ccc4
add esp, 4
mov ecx, dword [0x100c1974]
lea edx, [ebp - 8]
push edx
lea edx, [ebp - 4]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, dword [0x100c1b8c]
xor edx, edx
push 0xc9
mov ecx, str.ind
mov dword [eax + 0x154c], 0x40a00000
mov dword [eax + 0x1550], 0x40800000
movd xmm1, dword [ebp - 8]
movd xmm2, dword [ebp - 4]
movss xmm0, dword [0x100c6d5c]
mulss xmm0, dword [0x100a9b6c]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
mulss xmm1, dword [0x100a9b88]
mulss xmm2, dword [0x100a9b6c]
addss xmm1, dword [0x100a9c8c]
subss xmm2, xmm0
movd xmm0, dword [0x100c5318]
cvtdq2ps xmm0, xmm0
mov dword [eax + 0x1aac], 0
mov dword [eax + 0x1ab0], 0
mov dword [eax + 0x1a88], 1
addss xmm1, dword [0x100a9c8c]
movss dword [eax + 0x1aa4], xmm2
addss xmm1, xmm0
movss dword [eax + 0x1aa8], xmm1
call fcn.10031500
mov ecx, dword [0x100c1ba0]
add esp, 4
call fcn.10034bb0
push dword [0x100c5090]
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
call esi
movss xmm2, dword [0x100c1a58]
movss xmm3, dword [0x100a9ba8]
test ax, ax
je 0x1001d13a
comiss xmm3, xmm2
jbe 0x1001d13a
mov eax, dword [0x100c1b8c]
lea ecx, [ebp - 0x10]
movss xmm1, dword [0x100a9cd4]
mov dword [ebp - 0x14], 0x3f800000
mov dword [ebp - 0xc], 0
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0xc]
mulss xmm0, dword [0x100a9d1c]
divss xmm0, xmm1
addss xmm0, xmm2
xorps xmm2, xmm2
comiss xmm2, xmm0
movss dword [ebp - 0x10], xmm0
cmovbe eax, ecx
lea ecx, [ebp - 0x14]
comiss xmm0, xmm3
xorps xmm0, xmm0
jmp 0x1001d184
mov eax, dword [0x100c1b8c]
lea ecx, [ebp - 0x10]
movss xmm1, dword [0x100a9cd4]
mov dword [ebp - 0xc], 0x3f800000
mov dword [ebp - 0x14], 0
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0x14]
mulss xmm0, dword [0x100a9d1c]
divss xmm0, xmm1
subss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
movss dword [ebp - 0x10], xmm2
cmovbe eax, ecx
lea ecx, [ebp - 0xc]
comiss xmm2, xmm3
cmovbe ecx, eax
movss xmm2, dword [ecx]
ucomiss xmm2, xmm0
movss dword [0x100c1a58], xmm2
lahf
test ah, 0x44
jnp 0x1001d22b
cmp byte [0x100c1a18], 0
lea eax, [ebp - 0x54]
movss dword [ebp - 0x48], xmm2
je 0x1001d1ef
movd xmm0, dword [0x100c5218]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x54], xmm0
movd xmm0, dword [0x100c521c]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x50], xmm0
movd xmm0, dword [0x100c5220]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x4c], xmm0
jmp 0x1001d204
mov dword [ebp - 0x54], 0x3f800000
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x4c], 0x3f800000
push 0x100a6f7c
push eax
call fcn.100495f0
add esp, 8
cmp dword [0x100c5350], 1
jne 0x1001d22b
movss xmm1, dword [0x100a9d78]
xorps xmm0, xmm0
call fcn.10035670
push dword [0x100c5098]
call esi
movss xmm2, dword [0x100c1b60]
movss xmm3, dword [0x100a9ba8]
test ax, ax
je 0x1001d29c
comiss xmm3, xmm2
jbe 0x1001d29c
mov eax, dword [0x100c1b8c]
lea ecx, [ebp - 0x1c]
movss xmm1, dword [0x100a9cd4]
mov dword [ebp - 0x20], 0x3f800000
mov dword [ebp - 0x18], 0
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0x18]
mulss xmm0, dword [0x100a9d1c]
divss xmm0, xmm1
addss xmm0, xmm2
xorps xmm2, xmm2
comiss xmm2, xmm0
movss dword [ebp - 0x1c], xmm0
cmovbe eax, ecx
lea ecx, [ebp - 0x20]
comiss xmm0, xmm3
xorps xmm0, xmm0
jmp 0x1001d2e6
mov eax, dword [0x100c1b8c]
lea ecx, [ebp - 0x1c]
movss xmm1, dword [0x100a9cd4]
mov dword [ebp - 0x18], 0x3f800000
mov dword [ebp - 0x20], 0
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0x20]
mulss xmm0, dword [0x100a9d1c]
divss xmm0, xmm1
subss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
movss dword [ebp - 0x1c], xmm2
cmovbe eax, ecx
lea ecx, [ebp - 0x18]
comiss xmm2, xmm3
cmovbe ecx, eax
movss xmm2, dword [ecx]
ucomiss xmm2, xmm0
movss dword [0x100c1b60], xmm2
lahf
test ah, 0x44
jnp 0x1001d38d
cmp byte [0x100c1a05], 0
lea eax, [ebp - 0x54]
movss dword [ebp - 0x48], xmm2
je 0x1001d351
movd xmm0, dword [0x100c5218]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x54], xmm0
movd xmm0, dword [0x100c521c]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x50], xmm0
movd xmm0, dword [0x100c5220]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x4c], xmm0
jmp 0x1001d366
mov dword [ebp - 0x54], 0x3f800000
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x4c], 0x3f800000
push 0x100a6f80
push eax
call fcn.100495f0
add esp, 8
cmp dword [0x100c5350], 1
jne 0x1001d38d
movss xmm1, dword [0x100a9d78]
xorps xmm0, xmm0
call fcn.10035670
push dword [0x100c5078]
call esi
movss xmm2, dword [0x100c1a50]
movss xmm3, dword [0x100a9ba8]
test ax, ax
je 0x1001d3fe
comiss xmm3, xmm2
jbe 0x1001d3fe
mov eax, dword [0x100c1b8c]
lea ecx, [ebp - 0x28]
movss xmm1, dword [0x100a9cd4]
mov dword [ebp - 0x2c], 0x3f800000
mov dword [ebp - 0x24], 0
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0x24]
mulss xmm0, dword [0x100a9d1c]
divss xmm0, xmm1
addss xmm0, xmm2
xorps xmm2, xmm2
comiss xmm2, xmm0
movss dword [ebp - 0x28], xmm0
cmovbe eax, ecx
lea ecx, [ebp - 0x2c]
comiss xmm0, xmm3
xorps xmm0, xmm0
jmp 0x1001d448
mov eax, dword [0x100c1b8c]
lea ecx, [ebp - 0x28]
movss xmm1, dword [0x100a9cd4]
mov dword [ebp - 0x24], 0x3f800000
mov dword [ebp - 0x2c], 0
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0x2c]
mulss xmm0, dword [0x100a9d1c]
divss xmm0, xmm1
subss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
movss dword [ebp - 0x28], xmm2
cmovbe eax, ecx
lea ecx, [ebp - 0x24]
comiss xmm2, xmm3
cmovbe ecx, eax
movss xmm2, dword [ecx]
ucomiss xmm2, xmm0
movss dword [0x100c1a50], xmm2
lahf
test ah, 0x44
jnp 0x1001d4ef
cmp byte [0x100c1a19], 0
lea eax, [ebp - 0x54]
movss dword [ebp - 0x48], xmm2
je 0x1001d4b3
movd xmm0, dword [0x100c5218]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x54], xmm0
movd xmm0, dword [0x100c521c]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x50], xmm0
movd xmm0, dword [0x100c5220]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x4c], xmm0
jmp 0x1001d4c8
mov dword [ebp - 0x54], 0x3f800000
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x4c], 0x3f800000
push 0x100a6f84
push eax
call fcn.100495f0
add esp, 8
cmp dword [0x100c5350], 1
jne 0x1001d4ef
movss xmm1, dword [0x100a9d78]
xorps xmm0, xmm0
call fcn.10035670
push dword [0x100c52ac]
call esi
movss xmm2, dword [0x100c1b68]
movss xmm3, dword [0x100a9ba8]
test ax, ax
je 0x1001d560
comiss xmm3, xmm2
jbe 0x1001d560
mov eax, dword [0x100c1b8c]
lea ecx, [ebp - 0x34]
movss xmm1, dword [0x100a9cd4]
mov dword [ebp - 0x38], 0x3f800000
mov dword [ebp - 0x30], 0
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0x30]
mulss xmm0, dword [0x100a9d1c]
divss xmm0, xmm1
addss xmm0, xmm2
xorps xmm2, xmm2
comiss xmm2, xmm0
movss dword [ebp - 0x34], xmm0
cmovbe eax, ecx
lea ecx, [ebp - 0x38]
comiss xmm0, xmm3
xorps xmm0, xmm0
jmp 0x1001d5aa
mov eax, dword [0x100c1b8c]
lea ecx, [ebp - 0x34]
movss xmm1, dword [0x100a9cd4]
mov dword [ebp - 0x30], 0x3f800000
mov dword [ebp - 0x38], 0
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0x38]
mulss xmm0, dword [0x100a9d1c]
divss xmm0, xmm1
subss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
movss dword [ebp - 0x34], xmm2
cmovbe eax, ecx
lea ecx, [ebp - 0x30]
comiss xmm2, xmm3
cmovbe ecx, eax
movss xmm2, dword [ecx]
ucomiss xmm2, xmm0
movss dword [0x100c1b68], xmm2
lahf
test ah, 0x44
jnp 0x1001d651
cmp byte [0x100c19fd], 0
lea eax, [ebp - 0x54]
movss dword [ebp - 0x48], xmm2
je 0x1001d615
movd xmm0, dword [0x100c5218]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x54], xmm0
movd xmm0, dword [0x100c521c]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x50], xmm0
movd xmm0, dword [0x100c5220]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x4c], xmm0
jmp 0x1001d62a
mov dword [ebp - 0x54], 0x3f800000
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x4c], 0x3f800000
push 0x100a6f88
push eax
call fcn.100495f0
add esp, 8
cmp dword [0x100c5350], 1
jne 0x1001d651
movss xmm1, dword [0x100a9d78]
xorps xmm0, xmm0
call fcn.10035670
cmp byte [0x100c52a9], 0
je 0x1001d6d4
cmp byte [0x100c1a04], 0
je 0x1001d6d4
push dword [0x100c5090]
call esi
movss xmm3, dword [0x100a9ba8]
test ax, ax
jne 0x1001d6dc
movss xmm2, dword [0x100c1a54]
comiss xmm3, xmm2
jbe 0x1001d6dc
mov eax, dword [0x100c1b8c]
lea ecx, [ebp - 0x40]
movss xmm1, dword [0x100a9cd4]
mov dword [ebp - 0x44], 0x3f800000
mov dword [ebp - 0x3c], 0
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0x3c]
mulss xmm0, dword [0x100a9d1c]
divss xmm0, xmm1
addss xmm0, xmm2
xorps xmm2, xmm2
comiss xmm2, xmm0
movss dword [ebp - 0x40], xmm0
cmovbe eax, ecx
lea ecx, [ebp - 0x44]
comiss xmm0, xmm3
xorps xmm0, xmm0
jmp 0x1001d732
movss xmm3, dword [0x100a9ba8]
mov eax, dword [0x100c1b8c]
lea ecx, [ebp - 0x40]
movss xmm1, dword [0x100c1a54]
mov dword [ebp - 0x3c], 0x3f800000
mov dword [ebp - 0x44], 0
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0x44]
mulss xmm0, dword [0x100a9d1c]
divss xmm0, dword [0x100a9cd4]
subss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
movss dword [ebp - 0x40], xmm1
cmovbe eax, ecx
lea ecx, [ebp - 0x3c]
comiss xmm1, xmm3
movss xmm1, dword [0x100a9cd4]
cmovbe ecx, eax
movss xmm2, dword [ecx]
ucomiss xmm2, xmm0
movss dword [0x100c1a54], xmm2
lahf
test ah, 0x44
jnp 0x1001d7d9
cmp byte [0x100c1a04], 0
lea eax, [ebp - 0x54]
movss dword [ebp - 0x48], xmm2
je 0x1001d79d
movd xmm0, dword [0x100c5218]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x54], xmm0
movd xmm0, dword [0x100c521c]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x50], xmm0
movd xmm0, dword [0x100c5220]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x4c], xmm0
jmp 0x1001d7b2
mov dword [ebp - 0x54], 0x3f800000
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x4c], 0x3f800000
push 0x100a6f8c
push eax
call fcn.100495f0
add esp, 8
cmp dword [0x100c5350], 1
jne 0x1001d7d9
movss xmm1, dword [0x100a9d78]
xorps xmm0, xmm0
call fcn.10035670
mov eax, dword [0x100c1b8c]
mov eax, dword [eax + 0x19e4]
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x18]
movss dword [0x100c6d5c], xmm0
movss dword [0x100c6d60], xmm1
call fcn.10034cc0
call fcn.100347b0
pop esi
mov esp, ebp
pop ebp
ret