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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp byte [0x1023e75d], 0
push ebx
push esi
push edi
je 0x1001f664
movss xmm0, dword [0x100bc6ac]
xor eax, eax
movss xmm1, dword [0x11b3794]
comiss xmm0, xmm1
xorps xmm0, xmm0
setae al
movd xmm5, eax
cvtdq2ps xmm5, xmm5
ucomiss xmm5, xmm0
lahf
test ah, 0x44
jnp 0x1001ec56
movaps xmm3, xmm1
jmp 0x1001ec5e
movss xmm3, dword [0x11b3798]
mulss xmm3, dword [0x100bcc7c]
movaps xmm2, xmm1
mulss xmm2, dword [0x100bcc7c]
ucomiss xmm5, xmm0
subss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x1001ec83
movaps xmm3, xmm1
jmp 0x1001ec8b
movss xmm3, dword [0x11b3798]
mulss xmm3, dword [0x100bcba8]
ucomiss xmm5, xmm0
addss xmm3, xmm2
lahf
movss dword [ebp - 4], xmm3
test ah, 0x44
jnp 0x1001ecaa
movaps xmm4, xmm1
jmp 0x1001ecb2
movss xmm4, dword [0x11b3798]
mulss xmm4, dword [0x100bcc48]
ucomiss xmm5, xmm0
lahf
test ah, 0x44
jnp 0x1001eccc
movaps xmm2, xmm1
addss xmm2, xmm1
jmp 0x1001ecd8
movss xmm2, dword [0x11b3798]
addss xmm2, xmm2
movaps xmm0, xmm3
mov eax, 0x631289
subss xmm0, xmm2
divss xmm4, xmm1
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x18], 0x3f800000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x43870000
divss xmm0, xmm1
movss dword [esp + 8], xmm4
mov dword [esp + 4], 0x41200000
movss dword [esp], xmm0
push 0xf070
call eax
movss xmm2, dword [0x11b3794]
xor eax, eax
movss xmm0, dword [0x100bc6ac]
add esp, 0x30
comiss xmm0, xmm2
xorps xmm1, xmm1
movss dword [ebp - 0xc], xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001ed77
movss dword [ebp - 8], xmm2
jmp 0x1001ed84
movss xmm0, dword [0x11b3798]
movss dword [ebp - 8], xmm0
push 0xce
mov ecx, 0x10173658
call fcn.10036b80
movss xmm0, dword [ebp - 8]
mulss xmm0, dword [0x100bcc48]
push eax
push 0
push 3
divss xmm0, dword [ebp - 0xc]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
divss xmm0, dword [ebp - 0xc]
push eax
push 0x1c
cvttss2si eax, xmm0
push eax
push 0xff19bdff
push 0x1023cd58
call fcn.100607a0
movss xmm0, dword [0x100bc6ac]
xor eax, eax
movss xmm2, dword [0x11b3794]
add esp, 0x20
comiss xmm0, xmm2
xorps xmm0, xmm0
setae al
movd xmm3, eax
cvtdq2ps xmm3, xmm3
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x1001ee02
movaps xmm1, xmm2
jmp 0x1001ee0a
movss xmm1, dword [0x11b3798]
mulss xmm1, dword [0x100bcc18]
ucomiss xmm3, xmm0
addss xmm1, dword [ebp - 4]
lahf
divss xmm1, xmm2
movss dword [ebp - 8], xmm1
test ah, 0x44
jnp 0x1001ee2e
movaps xmm0, xmm2
jmp 0x1001ee36
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bc9d8]
mov ebx, 0x799756
push 9
cvttss2si edi, xmm1
divss xmm0, xmm2
cvttss2si esi, xmm0
movss dword [ebp - 4], xmm0
push esi
push 0x1d
push edi
call ebx
add esp, 0x10
test al, al
je 0x1001eee7
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1001eee7
movss xmm0, dword [ebp - 4]
mov eax, 0x631289
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3e222378
mov dword [esp + 0x18], 0x3f29dda9
mov dword [esp + 0x14], 0x3ea8f5c3
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41100000
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 8]
mov dword [esp + 4], 0x41e80000
movss dword [esp], xmm0
push 0xf072
call eax
mov byte [0x1023e75d], 0
mov dword [0x11c4454], 0
jmp 0x1001ef60
push 9
push esi
push 0x1d
push edi
call ebx
movss xmm0, dword [ebp - 4]
add esp, 0x10
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
test al, al
mov eax, 0x631289
mov dword [esp + 0x1c], 0x3e222378
mov dword [esp + 0x18], 0x3f29dda9
je 0x1001ef29
mov dword [esp + 0x14], 0x3e28f5c3
jmp 0x1001ef31
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41100000
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 8]
mov dword [esp + 4], 0x41e80000
movss dword [esp], xmm0
push 0xf072
call eax
movss xmm2, dword [0x11b3794]
xor eax, eax
movss xmm0, dword [0x100bc6ac]
add esp, 0x30
comiss xmm0, xmm2
xorps xmm1, xmm1
setae al
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jnp 0x1001ef93
movaps xmm3, xmm2
jmp 0x1001ef9b
movss xmm3, dword [0x11b3798]
mulss xmm3, dword [0x100bcc7c]
movaps xmm0, xmm2
mulss xmm0, dword [0x100bcc7c]
ucomiss xmm4, xmm1
subss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1001efc0
movaps xmm3, xmm2
jmp 0x1001efc8
movss xmm3, dword [0x11b3798]
mulss xmm3, dword [0x100bcbe0]
ucomiss xmm4, xmm1
addss xmm3, xmm0
lahf
movss dword [ebp - 8], xmm3
test ah, 0x44
jnp 0x1001efe7
movaps xmm0, xmm2
jmp 0x1001efef
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bcbf8]
ucomiss xmm4, xmm1
addss xmm0, xmm3
lahf
divss xmm0, xmm2
cvttss2si edi, xmm0
test ah, 0x44
jnp 0x1001f011
movaps xmm5, xmm2
jmp 0x1001f019
movss xmm5, dword [0x11b3798]
mulss xmm5, dword [0x100bca0c]
movaps xmm0, xmm3
mov ecx, dword [0x10648898]
mov ebx, dword [sym.imp.OPENGL32.dll_glColor4f]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
subss xmm0, xmm5
divss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [ebp - 0xc], eax
mov eax, dword [0x1064889c]
test ecx, ecx
jne 0x1001f053
cmp eax, 0x19
jg 0x1001f06f
cmp ecx, 1
jne 0x1001f05d
cmp eax, 0x32
jg 0x1001f06f
cmp ecx, 2
jne 0x1001f24f
cmp eax, 0x4b
jle 0x1001f24f
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jnp 0x1001f07d
movaps xmm0, xmm2
jmp 0x1001f085
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bca20]
push 0x19
divss xmm0, xmm2
cvttss2si eax, xmm0
push eax
push 0x70
push edi
mov eax, 0x799756
call eax
add esp, 0x10
cmp al, 1
jne 0x1001f1ab
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3d00346e
mov dword [esp + 4], 0x3f1c985f
mov dword [esp], 0x3f72f1aa
call ebx
movss xmm0, dword [0x100bc6ac]
xor eax, eax
movss xmm2, dword [0x11b3794]
xorps xmm1, xmm1
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001f101
movaps xmm0, xmm2
jmp 0x1001f109
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bca00]
mov eax, 0x631289
push ecx
mov dword [esp], 0
push 1
divss xmm0, xmm2
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f3ae148
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41c80000
movss dword [esp + 8], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x42e00000
movss dword [esp], xmm0
push 0x8323
call eax
add esp, 0x30
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1001f24f
call esi
sub eax, dword [0x106488a0]
cmp eax, 0x3e8
jbe 0x1001f24f
inc dword [0x10648898]
call esi
mov dword [0x106488a0], eax
jmp 0x1001f24f
movss xmm0, dword [0x100bc6ac]
xor eax, eax
movss xmm2, dword [0x11b3794]
xorps xmm1, xmm1
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001f1db
movaps xmm0, xmm2
jmp 0x1001f1e3
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bca00]
mov eax, 0x631289
push ecx
mov dword [esp], 0
push 1
divss xmm0, xmm2
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f3ae148
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41c80000
movss dword [esp + 8], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x42e00000
movss dword [esp], xmm0
push 0x8323
call eax
add esp, 0x30
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call ebx
mov eax, dword [0x10648898]
cmp eax, 1
je 0x1001f28b
cmp eax, 2
je 0x1001f28b
cmp eax, 3
jne 0x1001f490
movss xmm0, dword [0x100bc6ac]
xor eax, eax
movss xmm2, dword [0x11b3794]
xorps xmm1, xmm1
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001f2bb
movaps xmm0, xmm2
jmp 0x1001f2c3
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bca20]
mov edi, dword [ebp - 0xc]
push 0x19
divss xmm0, xmm2
cvttss2si eax, xmm0
push eax
push 0x6e
push edi
mov eax, 0x799756
call eax
add esp, 0x10
cmp al, 1
jne 0x1001f3ec
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3d00346e
mov dword [esp + 4], 0x3f1c985f
mov dword [esp], 0x3f72f1aa
call ebx
movss xmm0, dword [0x100bc6ac]
xor eax, eax
movss xmm2, dword [0x11b3794]
xorps xmm1, xmm1
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001f342
movaps xmm0, xmm2
jmp 0x1001f34a
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bc9f4]
mov eax, 0x631289
push ecx
mov dword [esp], 0
push 1
divss xmm0, xmm2
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f19999a
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41c80000
movss dword [esp + 8], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x42dc0000
movss dword [esp], xmm0
push 0x8324
call eax
add esp, 0x30
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1001f490
call esi
sub eax, dword [0x106488a0]
cmp eax, 0x3e8
jbe 0x1001f490
dec dword [0x10648898]
call esi
mov dword [0x106488a0], eax
jmp 0x1001f490
movss xmm0, dword [0x100bc6ac]
xor eax, eax
movss xmm2, dword [0x11b3794]
xorps xmm1, xmm1
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001f41c
movaps xmm0, xmm2
jmp 0x1001f424
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bc9f4]
mov eax, 0x631289
push ecx
mov dword [esp], 0
push 1
divss xmm0, xmm2
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f19999a
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41c80000
movss dword [esp + 8], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x42dc0000
movss dword [esp], xmm0
push 0x8324
call eax
add esp, 0x30
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call ebx
movss xmm0, dword [0x100bc6ac]
xor eax, eax
movss xmm1, dword [0x11b3794]
comiss xmm0, xmm1
xorps xmm0, xmm0
setae al
movd xmm5, eax
cvtdq2ps xmm5, xmm5
ucomiss xmm5, xmm0
lahf
test ah, 0x44
jnp 0x1001f4e4
movaps xmm2, xmm1
jmp 0x1001f4ec
movss xmm2, dword [0x11b3798]
mulss xmm2, dword [0x100bc9d4]
movss xmm4, dword [ebp - 8]
ucomiss xmm5, xmm0
addss xmm2, xmm4
lahf
divss xmm2, xmm1
movss dword [ebp - 0x10], xmm2
test ah, 0x44
jnp 0x1001f514
movaps xmm3, xmm1
jmp 0x1001f51c
movss xmm3, dword [0x11b3798]
mulss xmm3, dword [0x100bcb28]
ucomiss xmm5, xmm0
addss xmm3, xmm4
lahf
divss xmm3, xmm1
movss dword [ebp - 0xc], xmm3
test ah, 0x44
jnp 0x1001f53f
movaps xmm0, xmm1
jmp 0x1001f547
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bcb00]
mov edi, dword [0x10648898]
imul edx, edi, 0x19
divss xmm0, xmm1
mov dword [ebp - 4], edx
lea eax, [edx + 0x19]
movss dword [ebp - 0x14], xmm0
cmp edx, eax
jge 0x1001f664
imul ecx, edx, 0x58
mov esi, 0xffcc6699
add ecx, 0x1064663c
mov dword [ebp - 8], ecx
cmp dword [ecx - 4], 0xffffffff
je 0x1001f64c
mov eax, dword [ecx]
cmp eax, 1
jne 0x1001f598
mov ebx, 0xff19bdff
jmp 0x1001f5dd
cmp eax, 2
jne 0x1001f5a2
or ebx, 0xffffffff
jmp 0x1001f5dd
cmp eax, 3
jne 0x1001f5ae
mov ebx, 0xff1969ff
jmp 0x1001f5dd
cmp eax, 4
jne 0x1001f5ba
mov ebx, 0xff2d5fe1
jmp 0x1001f5dd
cmp eax, 5
jne 0x1001f5c6
mov ebx, 0xff8be100
jmp 0x1001f5dd
cmp eax, 6
jne 0x1001f5d2
mov ebx, 0xff00ffff
jmp 0x1001f5dd
cmp eax, 7
mov ebx, 0xff19bdff
cmove ebx, esi
mov esi, edx
test edi, edi
jle 0x1001f5e8
imul eax, edi, 0x19
sub esi, eax
lea eax, [esi + esi*4]
lea esi, [eax*2 + 0x2d]
cvttss2si edi, xmm0
lea eax, [ecx + 4]
push eax
push 0
push 1
cvttss2si eax, xmm2
push edi
push esi
push eax
push ebx
push 0x1023cd58
call fcn.100607a0
mov eax, dword [ebp - 8]
add eax, 0x2c
push eax
cvttss2si eax, dword [ebp - 0xc]
push 0
push 1
push edi
push esi
push eax
push ebx
push 0x1023cd58
call fcn.100607a0
mov edi, dword [0x10648898]
add esp, 0x40
movss xmm2, dword [ebp - 0x10]
mov esi, 0xffcc6699
movss xmm0, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
lea eax, [edi + 1]
inc edx
imul eax, eax, 0x19
add ecx, 0x58
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
cmp edx, eax
jl 0x1001f580
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret