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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x100ef018]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x1029ae2d], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
je 0x1001e981
cmp dword [0x1083d634], 1
je 0x1001e981
call esi
sub eax, dword [0x1083d62c]
cmp eax, 0x3e8
jbe 0x1001e981
mov eax, dword [0x1083d588]
test eax, eax
jle 0x1001e907
dec eax
mov dword [0x1083d588], eax
jmp 0x1001e97a
mov byte [0x1029ae2d], 0
mov ecx, 0x1083d604
mov eax, 0x1083d58c
nop dword [eax + eax]
mov dword [eax], 0xffffffff
lea ecx, [ecx + 4]
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], 0xffffffff
add eax, 0xc
mov dword [ecx - 4], 0
cmp eax, 0x1083d604
jl 0x1001e920
mov dword [0x1083d540], 0
mov dword [0x1083d548], 0x43c80000
mov dword [0x1083d54c], 0x428c0000
mov dword [0x1083d560], 0
mov dword [0x1083d564], 0
call esi
mov dword [0x1083d62c], eax
cmp dword [0x1083d540], 0
je 0x1001f404
mov eax, dword [0x1083d544]
test eax, eax
jle 0x1001e9b5
add eax, 0xffffffff
mov dword [0x1083d544], eax
jne 0x1001e9b5
mov dword [0x1083d540], 0
mov dword [0xe8cb3c], 0
cmp dword [0x1083d558], 0
xorps xmm0, xmm0
je 0x1001ea4c
mov eax, dword [0x879340c]
cmp eax, 0x280
je 0x1001e9f3
sub eax, dword [0x1083d550]
test eax, eax
jle 0x1001e9f3
cmp eax, 0x1c2
jle 0x1001e9ec
movss xmm0, dword [0x100e77f0]
jmp 0x1001e9f3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x1083d548], xmm0
mov eax, dword [0x8793410]
cmp eax, 0x1e0
je 0x1001ea3a
sub eax, dword [0x1083d554]
cmp eax, 4
jle 0x1001ea3a
cmp eax, 0x7d
jle 0x1001ea29
movss xmm1, dword [0x100e7580]
movss dword [0x1083d54c], xmm1
jmp 0x1001ea5c
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [0x1083d54c], xmm1
jmp 0x1001ea5c
movss xmm1, dword [0x100e7378]
movss dword [0x1083d54c], xmm1
jmp 0x1001ea5c
movss xmm1, dword [0x1083d54c]
movss xmm0, dword [0x1083d548]
subss xmm1, dword [0x100e6fc8]
addss xmm0, dword [0x100e7608]
push 0x14
push 0x14
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 0x10
cmp al, 1
jne 0x1001eaa9
push 1
call edi
bt ax, 0xf
mov ecx, 5
mov eax, dword [0x1083d544]
cmovb eax, ecx
mov dword [0x1083d544], eax
movss xmm0, dword [0x1083d54c]
subss xmm0, dword [0x100e70f8]
push 0x14
push 0x96
cvttss2si eax, xmm0
movss xmm0, dword [0x1083d548]
addss xmm0, dword [0x100e73c4]
push eax
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1001eb40
push 1
call edi
bt ax, 0xf
jae 0x1001eb40
cmp dword [0x1083d558], 0
jne 0x1001eb34
movd xmm0, dword [0x879340c]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x1083d548]
cvttss2si eax, xmm0
mov dword [0x1083d550], eax
movd xmm0, dword [0x8793410]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x1083d54c]
cvttss2si eax, xmm0
mov dword [0x1083d554], eax
mov dword [0x1083d558], 1
jmp 0x1001eb4a
mov dword [0x1083d558], 0
push 1
mov eax, 0x635fd0
call eax
mov dword [esp], 0x3f666666
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.OPENGL32.dll_glColor4f]
movss xmm0, dword [0x1083d54c]
mov eax, 0x6378a0
push 0
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x43988000
mov dword [esp + 8], 0x433e0000
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1083d548]
movss dword [esp], xmm0
call eax
mov eax, 0x636070
call eax
mov ebx, dword [sym.imp.OPENGL32.dll_glColor3f]
add esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call ebx
movss xmm0, dword [0x1083d54c]
mov eax, 0x637c60
subss xmm0, dword [0x100e7378]
push 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x18], 0x3f3d70a4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x42200000
mov dword [esp + 8], 0x43410000
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1083d548]
subss xmm0, dword [0x100e6fc8]
movss dword [esp], xmm0
push 0x7a79
call eax
movss xmm0, dword [0x1083d54c]
add esp, 0x30
cvtps2pd xmm0, xmm0
mov eax, 0x637c60
push 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x100e7110]
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f608312
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x436d0000
mov dword [esp + 8], 0x43410000
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1083d548]
subss xmm0, dword [0x100e6fc8]
movss dword [esp], xmm0
push 0x7a58
call eax
movss xmm0, dword [0x1083d54c]
add esp, 0x30
push 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x18], 0x3f608312
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x42480000
mov dword [esp + 8], 0x43410000
cvtps2pd xmm0, xmm0
mov eax, 0x637c60
addsd xmm0, qword [0x100e72f8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1083d548]
subss xmm0, dword [0x100e6fc8]
movss dword [esp], xmm0
push 0x7a59
call eax
add esp, 0x30
mov ecx, 0x101a8848
push 0x5f
call fcn.1003fea0
push eax
cvttss2si eax, dword [0x1083d54c]
push 3
push 0xbe
inc eax
push eax
cvttss2si eax, dword [0x1083d548]
push eax
push 0xff19bdff
push 0x10297260
call fcn.1006a050
add esp, 0x1c
mov ecx, 0x101a8848
push 0x60
call fcn.1003fea0
push eax
cvttss2si eax, dword [0x1083d54c]
push 3
push 0xbe
add eax, 0x64
push eax
cvttss2si eax, dword [0x1083d548]
push eax
push 0xff19bdff
push 0x10297260
call fcn.1006a050
add esp, 0x1c
cmp dword [0x1083d634], 1
jne 0x1001efac
call fcn.1001f7d0
push 0x67
mov ecx, 0x101a8848
call fcn.1003fea0
movss xmm0, dword [0x1083d54c]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0xbe
addsd xmm0, qword [0x100e72a0]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x1083d548]
push eax
push 0xff19bdff
push 0x10297260
call fcn.1006a050
movss xmm0, dword [0x1083d54c]
add esp, 0x1c
cvtps2pd xmm0, xmm0
push 0x19
push 0x6e
addsd xmm0, qword [0x100e72c0]
cvttsd2si eax, xmm0
movss xmm0, dword [0x1083d548]
cvtps2pd xmm0, xmm0
push eax
addsd xmm0, qword [0x100e7120]
cvttsd2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1001eec9
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call ebx
push 1
call edi
bt ax, 0xf
jae 0x1001eec9
call esi
sub eax, dword [0x1083d630]
cmp eax, 0x1f4
jb 0x1001eead
call esi
mov dword [ebp - 0x28], 0xf304c1
lea ecx, [ebp - 0x28]
mov edx, 4
mov dword [0x1083d630], eax
mov byte [ebp - 0x25], 0xff
call fcn.100aba10
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call ebx
movss xmm0, dword [0x1083d54c]
mov eax, 0x637c60
cvtps2pd xmm0, xmm0
push 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x100e72c0]
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
cvtpd2ps xmm0, xmm0
mov dword [esp + 0xc], 0x41c80000
mov dword [esp + 8], 0x42dc0000
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1083d548]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x100e7120]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7b4b
call eax
mov eax, dword [sym.imp.OPENGL32.dll_glColor4f]
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call eax
push 0x68
mov ecx, 0x101a8848
call fcn.1003fea0
movss xmm0, dword [0x1083d54c]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0x6e
addsd xmm0, qword [0x100e72e0]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x1083d548]
add eax, 0x28
push eax
push 0xffffffffffffffff
jmp 0x1001f3db
call fcn.1001f420
cmp dword [0x1083d578], 0
mov ecx, 0x101a8848
jle 0x1001f054
push 0x61
call fcn.1003fea0
movss xmm0, dword [0x1083d54c]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0x4b
addsd xmm0, qword [0x100e7288]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x1083d548]
add eax, 0x3a
push eax
push 0xff19bdff
push 0x10297260
call fcn.1006a050
movss xmm0, dword [0x1083d54c]
add esp, 0x1c
cvtps2pd xmm0, xmm0
push 0x1083d57c
push dword [0x1083d578]
addsd xmm0, qword [0x100e72a0]
push str._d___s_
push 3
push 0x4b
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x1083d548]
add eax, 0x3a
push eax
push 0xff8be100
push 0x10297260
call fcn.1006a050
add esp, 0x24
jmp 0x1001f0db
push 0x66
call fcn.1003fea0
movss xmm0, dword [0x1083d54c]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0x4b
addsd xmm0, qword [0x100e7288]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x1083d548]
add eax, 0x3a
push eax
push 0xff19bdff
push 0x10297260
call fcn.1006a050
movss xmm0, dword [0x1083d54c]
add esp, 0x1c
cvtps2pd xmm0, xmm0
push dword [0x1083d570]
addsd xmm0, qword [0x100e72a0]
push 0x100e3c70
push 3
push 0x4b
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x1083d548]
add eax, 0x3a
push eax
push 0xff8be100
push 0x10297260
call fcn.1006a050
add esp, 0x20
movss xmm0, dword [0x1083d54c]
cvtps2pd xmm0, xmm0
push 0xf
push 0x4b
addsd xmm0, qword [0x100e72c0]
cvttsd2si eax, xmm0
movss xmm0, dword [0x1083d548]
cvtps2pd xmm0, xmm0
push eax
addsd xmm0, qword [0x100e7160]
cvttsd2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1001f1ae
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call ebx
push 1
call edi
bt ax, 0xf
jae 0x1001f1ae
call esi
sub eax, dword [0x1083d630]
cmp eax, 0x12c
jb 0x1001f192
call esi
mov ecx, dword [0x1083d578]
mov dword [0x1083d630], eax
xor eax, eax
mov dword [ebp - 0x2b], eax
mov word [ebp - 0x27], ax
mov byte [ebp - 0x25], al
mov eax, dword [0x1083d570]
mov dword [ebp - 0x2c], 0xfef308c1
test ecx, ecx
jle 0x1001f182
add eax, ecx
mov edx, 8
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x2c]
call fcn.100aba10
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call ebx
movss xmm0, dword [0x1083d54c]
mov eax, 0x637c60
cvtps2pd xmm0, xmm0
push 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x100e72c0]
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
cvtpd2ps xmm0, xmm0
mov dword [esp + 0xc], 0x41700000
mov dword [esp + 8], 0x42960000
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1083d548]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x100e7160]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7b4b
call eax
mov eax, dword [sym.imp.OPENGL32.dll_glColor4f]
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call eax
mov eax, dword [0x1083d574]
mov ecx, dword [0x1083d578]
add eax, 0x61
mov esi, dword [0x1083d570]
push eax
test ecx, ecx
jle 0x1001f270
add esi, ecx
mov ecx, 0x101a8848
call fcn.1003fea0
movss xmm0, dword [0x1083d54c]
movss xmm1, dword [0x1083d548]
cvtps2pd xmm0, xmm0
push esi
push eax
push 3
push 0x4b
addsd xmm0, qword [0x100e72c8]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, xmm1
add eax, 0x3a
push eax
push 0xffffffffffffffff
push 0x10297260
call fcn.1006a050
add esp, 0x20
mov ecx, 0x101a8848
push 0x65
call fcn.1003fea0
movss xmm0, dword [0x1083d54c]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0xbe
addsd xmm0, qword [0x100e72f0]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x1083d548]
push eax
push 0xff19bdff
push 0x10297260
call fcn.1006a050
mov edi, dword [0x1083d588]
mov eax, 0x91a2b3c5
imul edi
mov eax, 0x88888889
mov dword [ebp - 0x28], 0x3c
add edx, edi
add esp, 0x1c
sar edx, 0xb
mov esi, edx
shr esi, 0x1f
add esi, edx
imul edi
add edx, edi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
cdq
idiv dword [ebp - 0x28]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov dword [ebp - 0x28], edx
shl eax, 2
sub edi, eax
lea eax, [ebp - 0x24]
push edi
push edx
push esi
push str._02d:_02d:_02d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp esi, 0x17
jle 0x1001f392
mov eax, 0x2aaaaaab
mov ecx, 0x101a8848
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push 0x84
call fcn.1003fea0
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [sym.imp.USER32.dll_wsprintfA]
call eax
add esp, 0xc
jmp 0x1001f3aa
push edi
push dword [ebp - 0x28]
lea eax, [ebp - 0x24]
push esi
push str._02d:_02d:_02d
push eax
mov eax, dword [sym.imp.USER32.dll_wsprintfA]
call eax
add esp, 0x14
movss xmm0, dword [0x1083d54c]
lea eax, [ebp - 0x24]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0xbe
addsd xmm0, qword [0x100e7308]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x1083d548]
push eax
push 0xff8be100
push 0x10297260
call fcn.1006a050
add esp, 0x1c
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100b7755
mov esp, ebp
pop ebp
ret