Function at 0x1001eaf0
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [0x102df8d4], 0
push ebx
push esi
push edi
je 0x1001f5c4
push 0x10
mov esi, 0x861110
call esi
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x1001eb3f
cmp byte [0x102c00dd], 1
jne 0x1001f5c4
mov byte [0x102c00dd], al
mov dword [0xe8cb3c], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call esi
mov edx, 0x861440
mov ecx, eax
call edx
push 0x14
push 0x46
mov ebx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
add ecx, 0x5a
mov dword [ebp - 4], ecx
lea eax, [ebx + 0x78]
push eax
push ecx
mov eax, 0x790b10
call eax
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 0x10
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
cmp al, 1
jne 0x1001ebdc
push 1
call edi
test ax, ax
jns 0x1001ebdc
call esi
sub eax, dword [0x1088557c]
cmp eax, 0xc8
jbe 0x1001ebdc
mov byte [0x102c00dd], 1
push 0x100fd2db
mov dword [0xe8cb3c], 1
push 0x102c02bf
mov byte [0x102c02be], 1
call fcn.1001ea20
add esp, 8
mov dword [0x10885580], 0
call esi
push 0
mov dword [0x1088557c], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
push 0x14
push 0x46
lea eax, [ebx + 0xaf]
push eax
push dword [ebp - 4]
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1001ec5b
push 1
call edi
test ax, ax
jns 0x1001ec5b
call esi
sub eax, dword [0x1088557c]
cmp eax, 0xc8
jbe 0x1001ec5b
mov byte [0x102c00dd], 1
push 0x100fd2db
mov dword [0xe8cb3c], 1
push 0x102c02bf
mov byte [0x102c02be], 1
call fcn.1001ea20
add esp, 8
mov dword [0x10885580], 1
call esi
push 0
mov dword [0x1088557c], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
push 0x14
push 0x46
lea eax, [ebx + 0xf0]
push eax
push dword [ebp - 4]
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1001ecda
push 1
call edi
test ax, ax
jns 0x1001ecda
call esi
sub eax, dword [0x1088557c]
cmp eax, 0xc8
jbe 0x1001ecda
mov byte [0x102c00dd], 1
push 0x100fd2db
mov dword [0xe8cb3c], 1
push 0x102c02bf
mov byte [0x102c02be], 1
call fcn.1001ea20
add esp, 8
mov dword [0x10885580], 2
call esi
push 0
mov dword [0x1088557c], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
push 0x14
push 0x46
lea eax, [ebx + 0x127]
push eax
push dword [ebp - 4]
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1001ed59
push 1
call edi
test ax, ax
jns 0x1001ed59
call esi
sub eax, dword [0x1088557c]
cmp eax, 0xc8
jbe 0x1001ed59
mov byte [0x102c00dd], 1
push 0x100fd2db
mov dword [0xe8cb3c], 1
push 0x102c02bf
mov byte [0x102c02be], 1
call fcn.1001ea20
add esp, 8
mov dword [0x10885580], 3
call esi
push 0
mov dword [0x1088557c], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
mov eax, dword [0x10824f44]
movzx eax, byte [eax + 0xb]
push eax
mov eax, 0x405230
call eax
add esp, 4
cmp al, 4
jne 0x1001edf0
push 0x14
push 0x46
lea eax, [ebx + 0x15e]
push eax
push dword [ebp - 4]
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1001edf0
push 1
call edi
test ax, ax
jns 0x1001edf0
call esi
sub eax, dword [0x1088557c]
cmp eax, 0xc8
jbe 0x1001edf0
mov byte [0x102c00dd], 1
push 0x100fd2db
mov dword [0xe8cb3c], 1
push 0x102c02bf
mov byte [0x102c02be], 1
call fcn.1001ea20
add esp, 8
mov dword [0x10885580], 4
call esi
push 0
mov dword [0x1088557c], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
cmp byte [0x102c00dd], 0
je 0x1001f5c4
mov eax, dword [0x1010ac74]
cdq
sub eax, edx
sar eax, 1
cmp dword [0x10824f44], 0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
subss xmm3, dword [0x10101fe0]
movss dword [ebp - 4], xmm3
je 0x1001f5c4
cmp dword [0x10824f48], 0
je 0x1001f5c4
movss xmm2, dword [0x102c00c0]
movaps xmm0, xmm3
movss xmm1, dword [0x102c00c4]
addss xmm0, xmm2
sub esp, 0x10
movss dword [0x102c00c8], xmm3
mov ebx, 0x790b50
mov dword [0x102c00cc], 0x42cc0000
movss dword [0x102c00d0], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10101fb4]
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42cc0000
movss dword [esp], xmm3
push dword [0x102c00bc]
movss dword [0x102c00d4], xmm0
call ebx
movss xmm3, dword [ebp - 4]
add esp, 4
movss xmm2, dword [0x102c0120]
movaps xmm0, xmm3
movss xmm1, dword [0x102c0124]
addss xmm0, xmm2
movss dword [0x102c0128], xmm3
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42c80000
movss dword [0x102c0130], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10101fac]
movss dword [esp], xmm3
push dword [0x102c011c]
mov dword [0x102c012c], 0x42c80000
movss dword [0x102c0134], xmm0
call ebx
movss xmm0, dword [0x102c0184]
add esp, 4
movss xmm3, dword [ebp - 4]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x102c0180]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0x43270000
movss dword [esp], xmm3
push dword [0x102c017c]
call ebx
movss xmm4, dword [ebp - 4]
add esp, 4
movss xmm2, dword [0x102c01e0]
movaps xmm0, xmm4
movss xmm3, dword [0x102c0184]
addss xmm0, xmm2
addss xmm3, dword [0x10102094]
movss xmm1, dword [0x102c01e4]
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
movss dword [0x102c01f0], xmm0
movaps xmm0, xmm3
movss dword [esp + 4], xmm3
addss xmm0, xmm1
movss dword [esp], xmm4
push dword [0x102c01dc]
movss dword [0x102c01e8], xmm4
movss dword [0x102c01ec], xmm3
movss dword [0x102c01f4], xmm0
call ebx
movss xmm3, dword [ebp - 4]
add esp, 4
addss xmm3, dword [0x1010212c]
movss xmm2, dword [0x102c0240]
movss xmm1, dword [0x102c0244]
mov dword [0x102c024c], 0x42c60000
subss xmm3, xmm2
addss xmm3, dword [0x101018d0]
movaps xmm0, xmm3
movss dword [0x102c0248], xmm3
addss xmm0, xmm2
movss dword [0x102c0250], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10101fa8]
movss dword [0x102c0254], xmm0
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42c60000
movss dword [esp], xmm3
push dword [0x102c023c]
call ebx
movd xmm2, dword [0x879340c]
add esp, 0x14
movss xmm3, dword [0x102c0248]
mov edi, 0x790f20
movss xmm1, dword [0x10102338]
mov esi, 0x402320
cvtdq2ps xmm2, xmm2
comiss xmm3, xmm2
ja 0x1001f173
comiss xmm2, dword [0x102c0250]
ja 0x1001f173
movd xmm0, dword [0x8793410]
movss xmm2, dword [0x102c024c]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
ja 0x1001f173
comiss xmm0, dword [0x102c0254]
ja 0x1001f173
cmp byte [0x102c025c], 0
mov eax, 0x96323232
movss xmm4, dword [0x102c0244]
mov ecx, 0x64d3d3d3
movss xmm5, dword [0x102c0240]
cmovne ecx, eax
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jnp 0x1001f0db
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x1001f0f9
movaps xmm0, xmm3
addss xmm0, xmm5
movss dword [0x102c0250], xmm0
movaps xmm0, xmm2
addss xmm0, xmm4
movss dword [0x102c0254], 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 [0x102c023c]
call edi
add esp, 0x20
mov ecx, 0x8128adc
push 0x184
call esi
movss xmm0, dword [0x102c024c]
addss xmm0, dword [0x10101ea0]
push eax
cvttss2si eax, xmm0
movss xmm0, dword [0x102c0248]
addss xmm0, dword [0x10101e30]
push eax
cvttss2si eax, xmm0
push eax
push 0x102ba770
call fcn.10078280
add esp, 0x10
push 0x104
mov ecx, 0x101c3ae8
call fcn.100426f0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10101e4c]
push eax
push 3
push 0xd2
push 0x6e
cvttss2si eax, xmm0
push eax
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
movss xmm4, dword [ebp - 4]
add esp, 0xc
addss xmm4, dword [0x10101eac]
movss xmm2, dword [0x102c02a0]
movss xmm3, dword [0x102c00cc]
addss xmm3, dword [0x10101ef0]
movss xmm1, dword [0x102c02a4]
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 [0x102c029c]
movss dword [0x102c02b0], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [0x102c02a8], xmm4
movss dword [0x102c02ac], xmm3
movss dword [0x102c02b4], xmm0
call ebx
add esp, 0x14
cmp byte [0x102c02be], 1
jne 0x1001f2fd
movss xmm0, dword [0x102c02a8]
movss xmm1, dword [0x10102338]
movss xmm2, dword [0x102c00cc]
addss xmm2, dword [0x10101ef0]
movss xmm3, dword [0x102c02a4]
movss xmm4, dword [0x102c02a0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001f289
movss xmm0, dword [0x102c02ac]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001f2be
movss xmm1, dword [ebp - 8]
movaps xmm0, xmm1
movss dword [0x102c02a8], xmm1
addss xmm0, xmm4
movss dword [0x102c02ac], xmm2
movss dword [0x102c02b0], xmm0
movaps xmm0, xmm2
addss xmm0, xmm3
movss dword [0x102c02b4], xmm0
jmp 0x1001f2c3
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 [0x102c029c]
call edi
add esp, 0x20
mov eax, dword [0x10885580]
test eax, eax
jne 0x1001f30d
push 0xa6
jmp 0x1001f33b
cmp eax, 1
jne 0x1001f319
push 0xa7
jmp 0x1001f33b
cmp eax, 2
jne 0x1001f325
push 0xa9
jmp 0x1001f33b
cmp eax, 3
jne 0x1001f331
push 0xa8
jmp 0x1001f33b
cmp eax, 4
jne 0x1001f380
push 0x6ca
mov ecx, 0x8128adc
call esi
movss xmm0, dword [0x102c00cc]
addss xmm0, dword [0x10101f08]
push eax
push 1
push 0xc8
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10101ee0]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077e60
add esp, 0x1c
movss xmm0, dword [0x102c00cc]
addss xmm0, dword [0x10101f08]
push 0x102c02bf
push 3
push 0xc8
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10101f00]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077e60
movss xmm1, dword [0x102c00c0]
add esp, 0x1c
mulss xmm1, dword [0x1010162c]
movss xmm4, dword [0x102c0300]
movss xmm2, dword [0x10102338]
movaps xmm0, xmm4
addss xmm1, dword [ebp - 4]
mulss xmm0, dword [0x1010162c]
movss xmm3, dword [0x102c00cc]
addss xmm3, dword [0x10101f7c]
movss xmm5, dword [0x102c0304]
subss xmm1, xmm0
movss xmm0, dword [0x102c0308]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1001f430
movss xmm0, dword [0x102c030c]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1001f45e
movaps xmm0, xmm1
movss dword [0x102c0308], xmm1
addss xmm0, xmm4
movss dword [0x102c030c], xmm3
movss dword [0x102c0310], xmm0
movaps xmm0, xmm3
addss xmm0, xmm5
movss dword [0x102c0314], xmm0
sub esp, 0x18
mov esi, 0x790e40
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm5
movss dword [esp + 8], xmm4
movss dword [esp + 4], xmm3
movss dword [esp], xmm1
push dword [0x102c02fc]
call esi
movd xmm0, dword [0x879340c]
add esp, 0x1c
movss xmm5, dword [0x102c0308]
cvtdq2ps xmm0, xmm0
comiss xmm5, xmm0
ja 0x1001f5c4
comiss xmm0, dword [0x102c0310]
ja 0x1001f5c4
movd xmm0, dword [0x8793410]
movss xmm4, dword [0x102c030c]
cvtdq2ps xmm0, xmm0
comiss xmm4, xmm0
ja 0x1001f5c4
comiss xmm0, dword [0x102c0314]
ja 0x1001f5c4
movss xmm1, dword [0x102c00c0]
mov eax, 0x3c
mulss xmm1, dword [0x1010162c]
mov ecx, 0x1e
cmp byte [0x102c031c], 0
movss xmm3, dword [0x102c0300]
movss xmm2, dword [0x102c00cc]
movaps xmm0, xmm3
addss xmm1, dword [ebp - 4]
mulss xmm0, dword [0x1010162c]
cmovne ecx, eax
addss xmm2, dword [0x10101f7c]
subss xmm1, xmm0
movss xmm0, dword [0x10102338]
ucomiss xmm5, xmm0
movss xmm5, dword [0x102c0304]
lahf
test ah, 0x44
jnp 0x1001f55c
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jp 0x1001f58a
movaps xmm0, xmm1
movss dword [0x102c0308], xmm1
addss xmm0, xmm3
movss dword [0x102c030c], xmm2
movss dword [0x102c0310], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
movss dword [0x102c0314], xmm0
sub esp, 0x18
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
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 [0x102c02fc]
call esi
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret