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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [0x102e0814], 0
push ebx
push esi
push edi
je 0x1001fbe4
push 0x10
mov esi, 0x861110
call esi
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x1001f15f
cmp byte [0x102c101d], 1
jne 0x1001fbe4
mov byte [0x102c101d], 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 0x1001f1fc
push 1
call edi
test ax, ax
jns 0x1001f1fc
call esi
sub eax, dword [0x114d8a8c]
cmp eax, 0xc8
jbe 0x1001f1fc
mov byte [0x102c101d], 1
push 0x100fe2db
mov dword [0xe8cb3c], 1
push 0x102c11ff
mov byte [0x102c11fe], 1
call fcn.1001f040
add esp, 8
mov dword [0x114d8a90], 0
call esi
push 0
mov dword [0x114d8a8c], 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 0x1001f27b
push 1
call edi
test ax, ax
jns 0x1001f27b
call esi
sub eax, dword [0x114d8a8c]
cmp eax, 0xc8
jbe 0x1001f27b
mov byte [0x102c101d], 1
push 0x100fe2db
mov dword [0xe8cb3c], 1
push 0x102c11ff
mov byte [0x102c11fe], 1
call fcn.1001f040
add esp, 8
mov dword [0x114d8a90], 1
call esi
push 0
mov dword [0x114d8a8c], 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 0x1001f2fa
push 1
call edi
test ax, ax
jns 0x1001f2fa
call esi
sub eax, dword [0x114d8a8c]
cmp eax, 0xc8
jbe 0x1001f2fa
mov byte [0x102c101d], 1
push 0x100fe2db
mov dword [0xe8cb3c], 1
push 0x102c11ff
mov byte [0x102c11fe], 1
call fcn.1001f040
add esp, 8
mov dword [0x114d8a90], 2
call esi
push 0
mov dword [0x114d8a8c], 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 0x1001f379
push 1
call edi
test ax, ax
jns 0x1001f379
call esi
sub eax, dword [0x114d8a8c]
cmp eax, 0xc8
jbe 0x1001f379
mov byte [0x102c101d], 1
push 0x100fe2db
mov dword [0xe8cb3c], 1
push 0x102c11ff
mov byte [0x102c11fe], 1
call fcn.1001f040
add esp, 8
mov dword [0x114d8a90], 3
call esi
push 0
mov dword [0x114d8a8c], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
mov eax, dword [0x11478458]
movzx eax, byte [eax + 0xb]
push eax
mov eax, 0x405230
call eax
add esp, 4
cmp al, 4
jne 0x1001f410
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 0x1001f410
push 1
call edi
test ax, ax
jns 0x1001f410
call esi
sub eax, dword [0x114d8a8c]
cmp eax, 0xc8
jbe 0x1001f410
mov byte [0x102c101d], 1
push 0x100fe2db
mov dword [0xe8cb3c], 1
push 0x102c11ff
mov byte [0x102c11fe], 1
call fcn.1001f040
add esp, 8
mov dword [0x114d8a90], 4
call esi
push 0
mov dword [0x114d8a8c], eax
mov eax, 0x6d6c20
push 0
push 0x1c
call eax
add esp, 0xc
cmp byte [0x102c101d], 0
je 0x1001fbe4
mov eax, dword [0x1010bba8]
cdq
sub eax, edx
sar eax, 1
cmp dword [0x11478458], 0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
subss xmm3, dword [0x10103048]
movss dword [ebp - 4], xmm3
je 0x1001fbe4
cmp dword [0x1147845c], 0
je 0x1001fbe4
movss xmm2, dword [0x102c1000]
movaps xmm0, xmm3
movss xmm1, dword [0x102c1004]
addss xmm0, xmm2
sub esp, 0x10
movss dword [0x102c1008], xmm3
mov ebx, 0x790b50
mov dword [0x102c100c], 0x42cc0000
movss dword [0x102c1010], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x1010301c]
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42cc0000
movss dword [esp], xmm3
push dword [0x102c0ffc]
movss dword [0x102c1014], xmm0
call ebx
movss xmm3, dword [ebp - 4]
add esp, 4
movss xmm2, dword [0x102c1060]
movaps xmm0, xmm3
movss xmm1, dword [0x102c1064]
addss xmm0, xmm2
movss dword [0x102c1068], xmm3
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42c80000
movss dword [0x102c1070], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10103014]
movss dword [esp], xmm3
push dword [0x102c105c]
mov dword [0x102c106c], 0x42c80000
movss dword [0x102c1074], xmm0
call ebx
movss xmm0, dword [0x102c10c4]
add esp, 4
movss xmm3, dword [ebp - 4]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x102c10c0]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0x43270000
movss dword [esp], xmm3
push dword [0x102c10bc]
call ebx
movss xmm4, dword [ebp - 4]
add esp, 4
movss xmm2, dword [0x102c1120]
movaps xmm0, xmm4
movss xmm3, dword [0x102c10c4]
addss xmm0, xmm2
addss xmm3, dword [0x101030fc]
movss xmm1, dword [0x102c1124]
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
movss dword [0x102c1130], xmm0
movaps xmm0, xmm3
movss dword [esp + 4], xmm3
addss xmm0, xmm1
movss dword [esp], xmm4
push dword [0x102c111c]
movss dword [0x102c1128], xmm4
movss dword [0x102c112c], xmm3
movss dword [0x102c1134], xmm0
call ebx
movss xmm3, dword [ebp - 4]
add esp, 4
addss xmm3, dword [0x10103194]
movss xmm2, dword [0x102c1180]
movss xmm1, dword [0x102c1184]
mov dword [0x102c118c], 0x42c60000
subss xmm3, xmm2
addss xmm3, dword [0x10102918]
movaps xmm0, xmm3
movss dword [0x102c1188], xmm3
addss xmm0, xmm2
movss dword [0x102c1190], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10103010]
movss dword [0x102c1194], xmm0
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x42c60000
movss dword [esp], xmm3
push dword [0x102c117c]
call ebx
movd xmm2, dword [0x879340c]
add esp, 0x14
movss xmm3, dword [0x102c1188]
mov edi, 0x790f20
movss xmm1, dword [0x10103398]
mov esi, 0x402320
cvtdq2ps xmm2, xmm2
comiss xmm3, xmm2
ja 0x1001f793
comiss xmm2, dword [0x102c1190]
ja 0x1001f793
movd xmm0, dword [0x8793410]
movss xmm2, dword [0x102c118c]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
ja 0x1001f793
comiss xmm0, dword [0x102c1194]
ja 0x1001f793
cmp byte [0x102c119c], 0
mov eax, 0x96323232
movss xmm4, dword [0x102c1184]
mov ecx, 0x64d3d3d3
movss xmm5, dword [0x102c1180]
cmovne ecx, eax
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jnp 0x1001f6fb
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x1001f719
movaps xmm0, xmm3
addss xmm0, xmm5
movss dword [0x102c1190], xmm0
movaps xmm0, xmm2
addss xmm0, xmm4
movss dword [0x102c1194], 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 [0x102c117c]
call edi
add esp, 0x20
mov ecx, 0x8128adc
push 0x184
call esi
movss xmm0, dword [0x102c118c]
addss xmm0, dword [0x10102f08]
push eax
cvttss2si eax, xmm0
movss xmm0, dword [0x102c1188]
addss xmm0, dword [0x10102e98]
push eax
cvttss2si eax, xmm0
push eax
push 0x102bb6b0
call fcn.10079cf0
add esp, 0x10
push 0x104
mov ecx, 0x101c4a28
call fcn.10043140
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102eb4]
push eax
push 3
push 0xd2
push 0x6e
cvttss2si eax, xmm0
push eax
push 0xff19bdff
push 0x102bb6b0
call fcn.100798d0
movss xmm4, dword [ebp - 4]
add esp, 0xc
addss xmm4, dword [0x10102f14]
movss xmm2, dword [0x102c11e0]
movss xmm3, dword [0x102c100c]
addss xmm3, dword [0x10102f58]
movss xmm1, dword [0x102c11e4]
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 [0x102c11dc]
movss dword [0x102c11f0], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [0x102c11e8], xmm4
movss dword [0x102c11ec], xmm3
movss dword [0x102c11f4], xmm0
call ebx
add esp, 0x14
cmp byte [0x102c11fe], 1
jne 0x1001f91d
movss xmm0, dword [0x102c11e8]
movss xmm1, dword [0x10103398]
movss xmm2, dword [0x102c100c]
addss xmm2, dword [0x10102f58]
movss xmm3, dword [0x102c11e4]
movss xmm4, dword [0x102c11e0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001f8a9
movss xmm0, dword [0x102c11ec]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001f8de
movss xmm1, dword [ebp - 8]
movaps xmm0, xmm1
movss dword [0x102c11e8], xmm1
addss xmm0, xmm4
movss dword [0x102c11ec], xmm2
movss dword [0x102c11f0], xmm0
movaps xmm0, xmm2
addss xmm0, xmm3
movss dword [0x102c11f4], xmm0
jmp 0x1001f8e3
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 [0x102c11dc]
call edi
add esp, 0x20
mov eax, dword [0x114d8a90]
test eax, eax
jne 0x1001f92d
push 0xa6
jmp 0x1001f95b
cmp eax, 1
jne 0x1001f939
push 0xa7
jmp 0x1001f95b
cmp eax, 2
jne 0x1001f945
push 0xa9
jmp 0x1001f95b
cmp eax, 3
jne 0x1001f951
push 0xa8
jmp 0x1001f95b
cmp eax, 4
jne 0x1001f9a0
push 0x6ca
mov ecx, 0x8128adc
call esi
movss xmm0, dword [0x102c100c]
addss xmm0, dword [0x10102f70]
push eax
push 1
push 0xc8
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f48]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102bb6b0
call fcn.100798d0
add esp, 0x1c
movss xmm0, dword [0x102c100c]
addss xmm0, dword [0x10102f70]
push 0x102c11ff
push 3
push 0xc8
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x10102f68]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102bb6b0
call fcn.100798d0
movss xmm1, dword [0x102c1000]
add esp, 0x1c
mulss xmm1, dword [0x10102674]
movss xmm4, dword [0x102c1240]
movss xmm2, dword [0x10103398]
movaps xmm0, xmm4
addss xmm1, dword [ebp - 4]
mulss xmm0, dword [0x10102674]
movss xmm3, dword [0x102c100c]
addss xmm3, dword [0x10102fe4]
movss xmm5, dword [0x102c1244]
subss xmm1, xmm0
movss xmm0, dword [0x102c1248]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1001fa50
movss xmm0, dword [0x102c124c]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1001fa7e
movaps xmm0, xmm1
movss dword [0x102c1248], xmm1
addss xmm0, xmm4
movss dword [0x102c124c], xmm3
movss dword [0x102c1250], xmm0
movaps xmm0, xmm3
addss xmm0, xmm5
movss dword [0x102c1254], 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 [0x102c123c]
call esi
movd xmm0, dword [0x879340c]
add esp, 0x1c
movss xmm5, dword [0x102c1248]
cvtdq2ps xmm0, xmm0
comiss xmm5, xmm0
ja 0x1001fbe4
comiss xmm0, dword [0x102c1250]
ja 0x1001fbe4
movd xmm0, dword [0x8793410]
movss xmm4, dword [0x102c124c]
cvtdq2ps xmm0, xmm0
comiss xmm4, xmm0
ja 0x1001fbe4
comiss xmm0, dword [0x102c1254]
ja 0x1001fbe4
movss xmm1, dword [0x102c1000]
mov eax, 0x3c
mulss xmm1, dword [0x10102674]
mov ecx, 0x1e
cmp byte [0x102c125c], 0
movss xmm3, dword [0x102c1240]
movss xmm2, dword [0x102c100c]
movaps xmm0, xmm3
addss xmm1, dword [ebp - 4]
mulss xmm0, dword [0x10102674]
cmovne ecx, eax
addss xmm2, dword [0x10102fe4]
subss xmm1, xmm0
movss xmm0, dword [0x10103398]
ucomiss xmm5, xmm0
movss xmm5, dword [0x102c1244]
lahf
test ah, 0x44
jnp 0x1001fb7c
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jp 0x1001fbaa
movaps xmm0, xmm1
movss dword [0x102c1248], xmm1
addss xmm0, xmm3
movss dword [0x102c124c], xmm2
movss dword [0x102c1250], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
movss dword [0x102c1254], 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 [0x102c123c]
call esi
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret