Function at 0x100ec280
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [0x10303ae4], 0
push ebx
push esi
push edi
je 0x100ecfff
cmp byte [0x102e560d], 0
je 0x100ecfff
push 8
mov esi, 0x861110
call esi
mov edi, 0x85ec20
mov ecx, eax
call edi
test al, al
jne 0x100ec2dc
cmp byte [0x102e560d], 1
jne 0x100ecfff
mov byte [0x102e560d], al
mov dword [0xe8cb3c], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x10129bac]
cdq
sub eax, edx
mov dword [0xe8cb3c], 1
sar eax, 1
push 0x4e
mov byte [0x102e57ee], 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x101204d0]
subss xmm0, dword [0x10120458]
movss dword [ebp - 4], xmm0
call esi
mov ecx, eax
call edi
test al, al
je 0x100ec347
mov eax, dword [0x10129bac]
cdq
sub eax, edx
sar eax, 1
movd xmm3, eax
cvtdq2ps xmm3, xmm3
subss xmm3, dword [0x101204d0]
subss xmm3, dword [0x1012067c]
movss dword [ebp - 4], xmm3
jmp 0x100ec34c
movss xmm3, dword [ebp - 4]
movss xmm2, dword [0x102e55f0]
movaps xmm0, xmm3
movss xmm1, dword [0x102e55f4]
addss xmm0, xmm2
sub esp, 0x10
movss dword [0x102e55f8], xmm3
mov edi, 0x790b50
mov dword [0x102e55fc], 0x42cc0000
movss dword [0x102e5600], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x101204a0]
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42cc0000
movss dword [esp], xmm3
push dword [0x102e55ec]
movss dword [0x102e5604], xmm0
call edi
movss xmm3, dword [ebp - 4]
add esp, 4
movss xmm2, dword [0x102e5650]
movaps xmm0, xmm3
movss xmm1, dword [0x102e5654]
addss xmm0, xmm2
movss dword [0x102e5658], xmm3
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42c80000
movss dword [0x102e5660], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10120498]
movss dword [esp], xmm3
push dword [0x102e564c]
mov dword [0x102e565c], 0x42c80000
movss dword [0x102e5664], xmm0
call edi
movss xmm0, dword [0x102e56b4]
add esp, 4
movss xmm3, dword [ebp - 4]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x102e56b0]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0x43270000
movss dword [esp], xmm3
push dword [0x102e56ac]
call edi
movss xmm4, dword [ebp - 4]
add esp, 4
movss xmm2, dword [0x102e5710]
movaps xmm0, xmm4
movss xmm3, dword [0x102e56b4]
addss xmm0, xmm2
addss xmm3, dword [0x10120580]
movss xmm1, dword [0x102e5714]
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
movss dword [0x102e5720], xmm0
movaps xmm0, xmm3
movss dword [esp + 4], xmm3
addss xmm0, xmm1
movss dword [esp], xmm4
push dword [0x102e570c]
movss dword [0x102e5718], xmm4
movss dword [0x102e571c], xmm3
movss dword [0x102e5724], xmm0
call edi
movss xmm3, dword [ebp - 4]
add esp, 4
addss xmm3, dword [0x1012061c]
movss xmm2, dword [0x102e5770]
movss xmm1, dword [0x102e5774]
mov dword [0x102e577c], 0x42c60000
subss xmm3, xmm2
addss xmm3, dword [0x1011fd88]
movaps xmm0, xmm3
movss dword [0x102e5778], xmm3
addss xmm0, xmm2
movss dword [0x102e5780], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10120494]
movss dword [0x102e5784], xmm0
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42c60000
movss dword [esp], xmm3
push dword [0x102e576c]
call edi
movd xmm2, dword [0x879340c]
add esp, 0x14
movss xmm3, dword [0x102e5778]
mov esi, 0x790f20
movss xmm1, dword [0x10120830]
cvtdq2ps xmm2, xmm2
comiss xmm3, xmm2
ja 0x100ec68a
comiss xmm2, dword [0x102e5780]
ja 0x100ec68a
movd xmm0, dword [0x8793410]
movss xmm2, dword [0x102e577c]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
ja 0x100ec68a
comiss xmm0, dword [0x102e5784]
ja 0x100ec68a
cmp byte [0x102e578c], 0
mov eax, 0x96323232
movss xmm4, dword [0x102e5774]
mov ecx, 0x64d3d3d3
movss xmm5, dword [0x102e5770]
cmovne ecx, eax
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jnp 0x100ec5ed
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100ec60b
movaps xmm0, xmm3
addss xmm0, xmm5
movss dword [0x102e5780], xmm0
movaps xmm0, xmm2
addss xmm0, xmm4
movss dword [0x102e5784], xmm0
push ecx
sub esp, 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm4
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm2
movss dword [esp], xmm3
push dword [0x102e576c]
call esi
add esp, 0x20
mov eax, 0x402320
mov ecx, 0x8128adc
push 0x184
call eax
movss xmm0, dword [0x102e577c]
addss xmm0, dword [0x10120388]
push eax
cvttss2si eax, xmm0
movss xmm0, dword [0x102e5778]
addss xmm0, dword [0x10120318]
push eax
cvttss2si eax, xmm0
push eax
push 0x102de7a0
call fcn.10087880
add esp, 0x10
push 0x1b3
mov ecx, 0x101e2dc0
call fcn.10047dc0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10120334]
push eax
push 3
push 0xd2
push 0x6e
cvttss2si eax, xmm0
push eax
push 0xff19bdff
push 0x102de7a0
call fcn.10087460
movss xmm4, dword [ebp - 4]
add esp, 0xc
addss xmm4, dword [0x10120368]
movss xmm2, dword [0x102e57d0]
movss xmm3, dword [0x102e55fc]
addss xmm3, dword [0x101203d8]
movss xmm1, dword [0x102e57d4]
movaps xmm0, xmm4
movss dword [esp + 0xc], xmm1
addss xmm0, xmm2
movss dword [esp + 8], xmm2
movss dword [ebp - 8], xmm4
movss dword [esp + 4], xmm3
movss dword [esp], xmm4
push dword [0x102e57cc]
movss dword [0x102e57e0], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [0x102e57d8], xmm4
movss dword [0x102e57dc], xmm3
movss dword [0x102e57e4], xmm0
call edi
add esp, 0x14
cmp byte [0x102e57ee], 1
jne 0x100ec814
movss xmm0, dword [0x102e57d8]
movss xmm1, dword [0x10120830]
movss xmm2, dword [0x102e55fc]
addss xmm2, dword [0x101203d8]
movss xmm3, dword [0x102e57d4]
movss xmm4, dword [0x102e57d0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100ec7a0
movss xmm0, dword [0x102e57dc]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100ec7d5
movss xmm1, dword [ebp - 8]
movaps xmm0, xmm1
movss dword [0x102e57d8], xmm1
addss xmm0, xmm4
movss dword [0x102e57dc], xmm2
movss dword [0x102e57e0], xmm0
movaps xmm0, xmm2
addss xmm0, xmm3
movss dword [0x102e57e4], xmm0
jmp 0x100ec7da
movss xmm1, dword [ebp - 8]
push 0x64d3d3d3
sub esp, 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm3
movss dword [esp + 8], xmm4
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
push dword [0x102e57cc]
call esi
add esp, 0x20
push dword [0x10570e30]
mov ecx, 0x101e2dc0
push 0x1b5
call fcn.10047dc0
movss xmm0, dword [0x102e55fc]
addss xmm0, dword [0x101203f0]
push eax
push str._s__1__d_
push 1
push 0xc8
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x101203b4]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102de7a0
call fcn.10087460
movss xmm0, dword [ebp - 4]
add esp, 0x24
addss xmm0, dword [0x101203c8]
push 0x102e57ef
push 3
cvttss2si esi, xmm0
push 0
push 0xff19bdff
movss xmm0, dword [0x102e55fc]
addss xmm0, dword [0x101203f0]
push dword [0xe8c58c]
push 0xc8
cvttss2si eax, xmm0
push eax
push esi
push 0x102de7a0
call fcn.10087530
add esp, 0x24
cmp dword [0x10570e34], 1
jne 0x100ec909
push 0x1b6
mov ecx, 0x101e2dc0
call fcn.10047dc0
movss xmm0, dword [0x102e55fc]
addss xmm0, dword [0x10120430]
push eax
push 3
push 0
push 0xff0000e1
push dword [0xe8c58c]
cvttss2si eax, xmm0
push 0xc8
push eax
push esi
push 0x102de7a0
call fcn.10087530
add esp, 0x24
movss xmm4, dword [0x102e55f0]
sub esp, 0x10
mulss xmm4, dword [0x1011fae4]
movss xmm3, dword [0x102e5830]
movss xmm2, dword [0x102e55fc]
movaps xmm0, xmm3
mulss xmm0, dword [0x1011fae4]
addss xmm4, dword [ebp - 4]
addss xmm2, dword [0x10120468]
movss xmm1, dword [0x102e5834]
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm3
subss xmm4, xmm0
movss dword [esp + 4], xmm2
movss dword [0x102e583c], xmm2
movaps xmm0, xmm4
movss dword [esp], xmm4
push dword [0x102e582c]
addss xmm0, xmm3
movss dword [0x102e5838], xmm4
movss dword [0x102e5840], xmm0
movaps xmm0, xmm2
addss xmm0, xmm1
movss dword [0x102e5844], xmm0
call edi
movd xmm0, dword [0x879340c]
add esp, 0x14
movss xmm5, dword [0x102e5838]
cvtdq2ps xmm0, xmm0
comiss xmm5, xmm0
ja 0x100ecad1
comiss xmm0, dword [0x102e5840]
ja 0x100ecad1
movd xmm0, dword [0x8793410]
movss xmm4, dword [0x102e583c]
cvtdq2ps xmm0, xmm0
comiss xmm4, xmm0
ja 0x100ecad1
comiss xmm0, dword [0x102e5844]
ja 0x100ecad1
movss xmm1, dword [0x102e55f0]
mov eax, 0x3c
mulss xmm1, dword [0x1011fae4]
mov ecx, 0x1e
cmp byte [0x102e584c], 0
movss xmm3, dword [0x102e5830]
movss xmm2, dword [0x102e55fc]
movaps xmm0, xmm3
addss xmm1, dword [ebp - 4]
mulss xmm0, dword [0x1011fae4]
cmovne ecx, eax
addss xmm2, dword [0x10120468]
subss xmm1, xmm0
movss xmm0, dword [0x10120830]
ucomiss xmm5, xmm0
movss xmm5, dword [0x102e5834]
lahf
test ah, 0x44
jnp 0x100eca64
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jp 0x100eca92
movaps xmm0, xmm1
movss dword [0x102e5838], xmm1
addss xmm0, xmm3
movss dword [0x102e583c], xmm2
movss dword [0x102e5840], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
movss dword [0x102e5844], xmm0
sub esp, 0x18
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, 0x790e40
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm5
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
push dword [0x102e582c]
call eax
add esp, 0x1c
cmp dword [0x10303acc], 0
je 0x100ecfff
movss xmm0, dword [0x102e55fc]
addss xmm0, dword [0x101203d8]
movss xmm1, dword [ebp - 4]
addss xmm1, dword [0x101205b8]
push 0x14
push 0x14
cvttss2si eax, xmm0
movss dword [ebp - 8], xmm1
push eax
cvttss2si eax, xmm1
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x100ecf91
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x100ecbcb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x10570e38]
cmp eax, 0x3e8
jbe 0x100ecbcb
movss xmm0, dword [0x102e55fc]
mov eax, 0x637c60
addss xmm0, dword [0x101203d8]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3edc28f6
mov dword [esp + 0x18], 0x3f07ae14
mov dword [esp + 0x14], 0x3eeb851f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41a00000
mov dword [esp + 8], 0x41a00000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 8]
movss dword [esp], xmm0
push 0x7c04
call eax
add esp, 0x30
push 8
call fcn.1001c980
mov byte [0x102e560d], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x102e55fc]
mov eax, 0x637c60
addss xmm0, dword [0x101203d8]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3edc28f6
mov dword [esp + 0x18], 0x3f07ae14
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41a00000
mov dword [esp + 8], 0x41a00000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 8]
movss dword [esp], xmm0
push 0x7c04
call eax
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push 0x1011c294
push 0x114a07a0
call ebx
add esp, 0x38
mov dword [0x114a06b0], 0
mov ecx, 0x101e2dc0
mov dword [0x114a05c0], 0
push 0x1b4
call fcn.10047dc0
push eax
push 0x1011c298
push 0x114a0804
call ebx
add esp, 0xc
mov dword [0x114a06b4], 3
mov dword [0x114a05c4], 1
push 0x1011c294
push 0x114a0868
call ebx
add esp, 8
mov dword [0x114a06b8], 0
cmp dword [0x10303ad0], 0
mov edi, 3
mov dword [0x114a05c8], 0
ja 0x100ecce2
cmp dword [0x10303ad4], 0
ja 0x100ecce2
cmp dword [0x10303ad8], 0
ja 0x100ecce2
cmp dword [0x10303adc], 0
jl 0x100ecf27
push 0x1011c294
push 0x114a08cc
call ebx
add esp, 8
mov dword [0x114a06bc], 0
mov ecx, 0x101e2dc0
mov dword [0x114a05cc], 0
push 0x16b
call fcn.10047dc0
push eax
push 0x1011c298
push 0x114a0930
call ebx
add esp, 0xc
mov dword [0x114a06c0], edi
cmp dword [0x10303ad0], 0
mov edi, 5
mov dword [0x114a05d0], 0
jbe 0x100ecda3
push 0x1011c294
push 0x114a0994
call ebx
add esp, 8
mov dword [0x114a06c4], 0
mov ecx, 0x101e2dc0
mov dword [0x114a05d4], 0
push dword [0x10303ad0]
push 0xf5
call fcn.10047dc0
push eax
push 0x1011c4a4
push 0x114a09f8
call ebx
add esp, 0x10
mov dword [0x114a06c8], 0
mov dword [0x114a05d8], 0
mov edi, 7
cmp dword [0x10303ad4], 0
jbe 0x100ece16
imul esi, edi, 0x64
push 0x1011c294
lea eax, [esi + 0x114a07a0]
push eax
call ebx
add esp, 8
mov dword [edi*4 + 0x114a06b0], 0
mov ecx, 0x101e2dc0
mov dword [edi*4 + 0x114a05c0], 0
push dword [0x10303ad4]
push 0xf6
call fcn.10047dc0
push eax
lea eax, [esi + 0x114a0804]
push 0x1011c4a4
push eax
call ebx
add esp, 0x10
mov dword [edi*4 + 0x114a06b4], 0
mov dword [edi*4 + 0x114a05c4], 0
add edi, 2
cmp dword [0x10303ad8], 0
jbe 0x100ece89
imul esi, edi, 0x64
push 0x1011c294
lea eax, [esi + 0x114a07a0]
push eax
call ebx
add esp, 8
mov dword [edi*4 + 0x114a06b0], 0
mov ecx, 0x101e2dc0
mov dword [edi*4 + 0x114a05c0], 0
push dword [0x10303ad8]
push 0xf7
call fcn.10047dc0
push eax
lea eax, [esi + 0x114a0804]
push 0x1011c4a4
push eax
call ebx
add esp, 0x10
mov dword [edi*4 + 0x114a06b4], 0
mov dword [edi*4 + 0x114a05c4], 0
add edi, 2
cmp dword [0x10303adc], 0
jl 0x100ecf27
imul eax, edi, 0x64
push 0x1011c294
add eax, 0x114a07a0
push eax
call ebx
imul eax, dword [0x10303adc], 0x54
add esp, 8
mov dword [edi*4 + 0x114a06b0], 0
mov dword [edi*4 + 0x114a05c0], 0
inc edi
add eax, dword [0x8128ac0]
je 0x100ecf27
imul esi, edi, 0x64
push eax
push dword [0x10303ae0]
push str._dx__s
lea eax, [esi + 0x114a07a0]
push eax
call ebx
lea eax, [esi + 0x114a0804]
mov dword [edi*4 + 0x114a06b0], 0
push 0x1011c294
push eax
mov dword [edi*4 + 0x114a05c0], 0
call ebx
add esp, 0x18
mov dword [edi*4 + 0x114a06b4], 0
mov dword [edi*4 + 0x114a05c4], 0
add edi, 2
imul eax, edi, 0x64
push 0x1011c294
add eax, 0x114a07a0
push eax
call ebx
movss xmm0, dword [0x102e55fc]
lea eax, [edi + 1]
addss xmm0, dword [0x10120424]
push 1
push 0
push 3
push 0
push eax
cvttss2si eax, xmm0
mov dword [edi*4 + 0x114a06b0], 0
mov dword [edi*4 + 0x114a05c0], 0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10120584]
push eax
cvttss2si eax, xmm0
push eax
mov eax, 0x5bf700
call eax
add esp, 0x24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x102e55fc]
mov eax, 0x637c60
addss xmm0, dword [0x101203d8]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3edc28f6
mov dword [esp + 0x18], 0x3f07ae14
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41a00000
mov dword [esp + 8], 0x41a00000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 8]
movss dword [esp], xmm0
push 0x7c04
call eax
add esp, 0x30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret