Function at 0x1001e9e0
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 0x1001f4b4
push 0x10
mov esi, 0x861110
call esi
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x1001ea2f
cmp byte [0x102c00dd], 1
jne 0x1001f4b4
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 0x1001eacc
push 1
call edi
test ax, ax
jns 0x1001eacc
call esi
sub eax, dword [0x1088557c]
cmp eax, 0xc8
jbe 0x1001eacc
mov byte [0x102c00dd], 1
push 0x100fd2db
mov dword [0xe8cb3c], 1
push 0x102c02bf
mov byte [0x102c02be], 1
call fcn.1001e910
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 0x1001eb4b
push 1
call edi
test ax, ax
jns 0x1001eb4b
call esi
sub eax, dword [0x1088557c]
cmp eax, 0xc8
jbe 0x1001eb4b
mov byte [0x102c00dd], 1
push 0x100fd2db
mov dword [0xe8cb3c], 1
push 0x102c02bf
mov byte [0x102c02be], 1
call fcn.1001e910
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 0x1001ebca
push 1
call edi
test ax, ax
jns 0x1001ebca
call esi
sub eax, dword [0x1088557c]
cmp eax, 0xc8
jbe 0x1001ebca
mov byte [0x102c00dd], 1
push 0x100fd2db
mov dword [0xe8cb3c], 1
push 0x102c02bf
mov byte [0x102c02be], 1
call fcn.1001e910
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 0x1001ec49
push 1
call edi
test ax, ax
jns 0x1001ec49
call esi
sub eax, dword [0x1088557c]
cmp eax, 0xc8
jbe 0x1001ec49
mov byte [0x102c00dd], 1
push 0x100fd2db
mov dword [0xe8cb3c], 1
push 0x102c02bf
mov byte [0x102c02be], 1
call fcn.1001e910
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 0x1001ece0
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 0x1001ece0
push 1
call edi
test ax, ax
jns 0x1001ece0
call esi
sub eax, dword [0x1088557c]
cmp eax, 0xc8
jbe 0x1001ece0
mov byte [0x102c00dd], 1
push 0x100fd2db
mov dword [0xe8cb3c], 1
push 0x102c02bf
mov byte [0x102c02be], 1
call fcn.1001e910
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 0x1001f4b4
mov eax, dword [0x1010ac74]
cdq
sub eax, edx
sar eax, 1
cmp dword [0x10824f44], 0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
subss xmm3, dword [0x10101ff8]
movss dword [ebp - 4], xmm3
je 0x1001f4b4
cmp dword [0x10824f48], 0
je 0x1001f4b4
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 [0x10101fcc]
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 [0x10101fc4]
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 [0x101020ac]
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 [0x10102144]
movss xmm2, dword [0x102c0240]
movss xmm1, dword [0x102c0244]
mov dword [0x102c024c], 0x42c60000
subss xmm3, xmm2
addss xmm3, dword [0x101018e8]
movaps xmm0, xmm3
movss dword [0x102c0248], xmm3
addss xmm0, xmm2
movss dword [0x102c0250], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10101fc0]
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 [0x10102348]
mov esi, 0x402320
cvtdq2ps xmm2, xmm2
comiss xmm3, xmm2
ja 0x1001f063
comiss xmm2, dword [0x102c0250]
ja 0x1001f063
movd xmm0, dword [0x8793410]
movss xmm2, dword [0x102c024c]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
ja 0x1001f063
comiss xmm0, dword [0x102c0254]
ja 0x1001f063
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 0x1001efcb
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x1001efe9
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 [0x10101eb8]
push eax
cvttss2si eax, xmm0
movss xmm0, dword [0x102c0248]
addss xmm0, dword [0x10101e48]
push eax
cvttss2si eax, xmm0
push eax
push 0x102ba770
call fcn.10078380
add esp, 0x10
push 0x104
mov ecx, 0x101c3ae8
call fcn.100429f0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10101e64]
push eax
push 3
push 0xd2
push 0x6e
cvttss2si eax, xmm0
push eax
push 0xff19bdff
push 0x102ba770
call fcn.10077f60
movss xmm4, dword [ebp - 4]
add esp, 0xc
addss xmm4, dword [0x10101ec4]
movss xmm2, dword [0x102c02a0]
movss xmm3, dword [0x102c00cc]
addss xmm3, dword [0x10101f08]
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 0x1001f1ed
movss xmm0, dword [0x102c02a8]
movss xmm1, dword [0x10102348]
movss xmm2, dword [0x102c00cc]
addss xmm2, dword [0x10101f08]
movss xmm3, dword [0x102c02a4]
movss xmm4, dword [0x102c02a0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001f179
movss xmm0, dword [0x102c02ac]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001f1ae
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 0x1001f1b3
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 0x1001f1fd
push 0xa6
jmp 0x1001f22b
cmp eax, 1
jne 0x1001f209
push 0xa7
jmp 0x1001f22b
cmp eax, 2
jne 0x1001f215
push 0xa9
jmp 0x1001f22b
cmp eax, 3
jne 0x1001f221
push 0xa8
jmp 0x1001f22b
cmp eax, 4
jne 0x1001f270
push 0x6ca
mov ecx, 0x8128adc
call esi
movss xmm0, dword [0x102c00cc]
addss xmm0, dword [0x10101f20]
push eax
push 1
push 0xc8
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10101ef8]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077f60
add esp, 0x1c
movss xmm0, dword [0x102c00cc]
addss xmm0, dword [0x10101f20]
push 0x102c02bf
push 3
push 0xc8
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10101f18]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077f60
movss xmm1, dword [0x102c00c0]
add esp, 0x1c
mulss xmm1, dword [0x10101644]
movss xmm4, dword [0x102c0300]
movss xmm2, dword [0x10102348]
movaps xmm0, xmm4
addss xmm1, dword [ebp - 4]
mulss xmm0, dword [0x10101644]
movss xmm3, dword [0x102c00cc]
addss xmm3, dword [0x10101f94]
movss xmm5, dword [0x102c0304]
subss xmm1, xmm0
movss xmm0, dword [0x102c0308]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1001f320
movss xmm0, dword [0x102c030c]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1001f34e
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 0x1001f4b4
comiss xmm0, dword [0x102c0310]
ja 0x1001f4b4
movd xmm0, dword [0x8793410]
movss xmm4, dword [0x102c030c]
cvtdq2ps xmm0, xmm0
comiss xmm4, xmm0
ja 0x1001f4b4
comiss xmm0, dword [0x102c0314]
ja 0x1001f4b4
movss xmm1, dword [0x102c00c0]
mov eax, 0x3c
mulss xmm1, dword [0x10101644]
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 [0x10101644]
cmovne ecx, eax
addss xmm2, dword [0x10101f94]
subss xmm1, xmm0
movss xmm0, dword [0x10102348]
ucomiss xmm5, xmm0
movss xmm5, dword [0x102c0304]
lahf
test ah, 0x44
jnp 0x1001f44c
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jp 0x1001f47a
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