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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x100fa040]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x102a5e7d], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
je 0x1001ff01
cmp dword [0x1084847c], 1
je 0x1001ff01
call esi
sub eax, dword [0x10848474]
cmp eax, 0x3e8
jbe 0x1001ff01
mov eax, dword [0x108483d0]
test eax, eax
jle 0x1001fe87
dec eax
mov dword [0x108483d0], eax
jmp 0x1001fefa
mov byte [0x102a5e7d], 0
mov ecx, 0x1084844c
mov eax, 0x108483d4
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, 0x1084844c
jl 0x1001fea0
mov dword [0x10848388], 0
mov dword [0x10848390], 0x43c80000
mov dword [0x10848394], 0x428c0000
mov dword [0x108483a8], 0
mov dword [0x108483ac], 0
call esi
mov dword [0x10848474], eax
cmp dword [0x10848388], 0
je 0x10020973
mov eax, dword [0x1084838c]
test eax, eax
jle 0x1001ff35
add eax, 0xffffffff
mov dword [0x1084838c], eax
jne 0x1001ff35
mov dword [0x10848388], 0
mov dword [0xe8cb3c], 0
cmp dword [0x108483a0], 0
xorps xmm1, xmm1
je 0x1001ffce
mov eax, dword [0x879340c]
mov ecx, dword [0x100fac74]
cmp eax, ecx
je 0x1001ff75
sub eax, dword [0x10848398]
test eax, eax
jle 0x1001ff75
add ecx, 0xffffff42
cmp eax, ecx
jle 0x1001ff6e
movd xmm1, ecx
jmp 0x1001ff72
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [0x10848390], xmm1
mov eax, dword [0x8793410]
cmp eax, 0x1e0
je 0x1001ffbc
sub eax, dword [0x1084839c]
cmp eax, 4
jle 0x1001ffbc
cmp eax, 0x7d
jle 0x1001ffab
movss xmm0, dword [0x100f1e70]
movss dword [0x10848394], xmm0
jmp 0x1001ffde
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x10848394], xmm0
jmp 0x1001ffde
movss xmm0, dword [0x100f1bf8]
movss dword [0x10848394], xmm0
jmp 0x1001ffde
movss xmm0, dword [0x10848394]
movss xmm1, dword [0x10848390]
subss xmm0, dword [0x100f1740]
addss xmm1, dword [0x100f1efc]
push 0x14
push 0x14
mov ebx, 0x790b10
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
call ebx
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 0x10
cmp al, 1
jne 0x10020023
push 1
call edi
test ax, ax
jns 0x10020023
mov dword [0x1084838c], 5
movss xmm0, dword [0x10848394]
subss xmm0, dword [0x100f1878]
push 0x14
push 0x96
cvttss2si eax, xmm0
movss xmm0, dword [0x10848390]
addss xmm0, dword [0x100f1cac]
push eax
cvttss2si eax, xmm0
push eax
call ebx
add esp, 0x10
cmp al, 1
jne 0x100200b3
push 1
call edi
test ax, ax
jns 0x100200b3
cmp dword [0x108483a0], 0
jne 0x100200a7
movd xmm0, dword [0x879340c]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x10848390]
cvttss2si eax, xmm0
mov dword [0x10848398], eax
movd xmm0, dword [0x8793410]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x10848394]
cvttss2si eax, xmm0
mov dword [0x1084839c], eax
mov dword [0x108483a0], 1
jmp 0x100200bd
mov dword [0x108483a0], 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 [0x10848394]
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 [0x10848390]
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 [0x10848394]
mov eax, 0x637c60
subss xmm0, dword [0x100f1bf8]
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 [0x10848390]
subss xmm0, dword [0x100f1740]
movss dword [esp], xmm0
push 0x7a79
call eax
movss xmm0, dword [0x10848394]
add esp, 0x30
cvtps2pd xmm0, xmm0
mov eax, 0x637c60
push 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x100f1898]
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 [0x10848390]
subss xmm0, dword [0x100f1740]
movss dword [esp], xmm0
push 0x7a58
call eax
movss xmm0, dword [0x10848394]
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 [0x100f1b00]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [0x10848390]
subss xmm0, dword [0x100f1740]
movss dword [esp], xmm0
push 0x7a59
call eax
add esp, 0x30
mov ecx, 0x101b3888
push 0x5f
call fcn.10042330
push eax
cvttss2si eax, dword [0x10848394]
push 3
push 0xbe
inc eax
push eax
cvttss2si eax, dword [0x10848390]
push eax
push 0xff19bdff
push 0x102a22b0
call fcn.1006c9b0
add esp, 0x1c
mov ecx, 0x101b3888
push 0x60
call fcn.10042330
push eax
cvttss2si eax, dword [0x10848394]
push 3
push 0xbe
add eax, 0x64
push eax
cvttss2si eax, dword [0x10848390]
push eax
push 0xff19bdff
push 0x102a22b0
call fcn.1006c9b0
add esp, 0x1c
cmp dword [0x1084847c], 1
jne 0x1002051d
call fcn.10020d40
push 0x67
mov ecx, 0x101b3888
call fcn.10042330
movss xmm0, dword [0x10848394]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0xbe
addsd xmm0, qword [0x100f1a90]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x10848390]
push eax
push 0xff19bdff
push 0x102a22b0
call fcn.1006c9b0
movss xmm0, dword [0x10848394]
add esp, 0x1c
cvtps2pd xmm0, xmm0
push 0x19
push 0x6e
addsd xmm0, qword [0x100f1ac0]
cvttsd2si eax, xmm0
movss xmm0, dword [0x10848390]
cvtps2pd xmm0, xmm0
push eax
addsd xmm0, qword [0x100f18a8]
cvttsd2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1002043a
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call ebx
push 1
call edi
test ax, ax
jns 0x1002043a
call esi
sub eax, dword [0x10848478]
cmp eax, 0x1f4
jb 0x1002041e
call esi
mov dword [ebp - 0x28], 0xf304c1
lea ecx, [ebp - 0x28]
mov edx, 4
mov dword [0x10848478], eax
mov byte [ebp - 0x25], 0xff
call fcn.100b5120
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call ebx
movss xmm0, dword [0x10848394]
mov eax, 0x637c60
cvtps2pd xmm0, xmm0
push 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x100f1ac0]
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 [0x10848390]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x100f18a8]
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, 0x101b3888
call fcn.10042330
movss xmm0, dword [0x10848394]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0x6e
addsd xmm0, qword [0x100f1ae8]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x10848390]
add eax, 0x28
push eax
push 0xffffffffffffffff
jmp 0x1002094a
call fcn.10020990
cmp dword [0x108483c0], 0
mov ecx, 0x101b3888
jle 0x100205c5
push 0x61
call fcn.10042330
movss xmm0, dword [0x10848394]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0x4b
addsd xmm0, qword [0x100f1a78]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x10848390]
add eax, 0x3a
push eax
push 0xff19bdff
push 0x102a22b0
call fcn.1006c9b0
movss xmm0, dword [0x10848394]
add esp, 0x1c
cvtps2pd xmm0, xmm0
push 0x108483c4
push dword [0x108483c0]
addsd xmm0, qword [0x100f1a90]
push str._d___s_
push 3
push 0x4b
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x10848390]
add eax, 0x3a
push eax
push 0xff8be100
push 0x102a22b0
call fcn.1006c9b0
add esp, 0x24
jmp 0x1002064c
push 0x66
call fcn.10042330
movss xmm0, dword [0x10848394]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0x4b
addsd xmm0, qword [0x100f1a78]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x10848390]
add eax, 0x3a
push eax
push 0xff19bdff
push 0x102a22b0
call fcn.1006c9b0
movss xmm0, dword [0x10848394]
add esp, 0x1c
cvtps2pd xmm0, xmm0
push dword [0x108483b8]
addsd xmm0, qword [0x100f1a90]
push 0x100ee338
push 3
push 0x4b
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x10848390]
add eax, 0x3a
push eax
push 0xff8be100
push 0x102a22b0
call fcn.1006c9b0
add esp, 0x20
movss xmm0, dword [0x10848394]
cvtps2pd xmm0, xmm0
push 0xf
push 0x4b
addsd xmm0, qword [0x100f1ac0]
cvttsd2si eax, xmm0
movss xmm0, dword [0x10848390]
cvtps2pd xmm0, xmm0
push eax
addsd xmm0, qword [0x100f18f0]
cvttsd2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1002071d
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call ebx
push 1
call edi
test ax, ax
jns 0x1002071d
call esi
sub eax, dword [0x10848478]
cmp eax, 0x12c
jb 0x10020701
call esi
mov ecx, dword [0x108483c0]
mov dword [0x10848478], eax
xor eax, eax
mov dword [ebp - 0x2b], eax
mov word [ebp - 0x27], ax
mov byte [ebp - 0x25], al
mov eax, dword [0x108483b8]
mov dword [ebp - 0x2c], 0xfef308c1
test ecx, ecx
jle 0x100206f1
add eax, ecx
mov edx, 8
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x2c]
call fcn.100b5120
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call ebx
movss xmm0, dword [0x10848394]
mov eax, 0x637c60
cvtps2pd xmm0, xmm0
push 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x100f1ac0]
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 [0x10848390]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x100f18f0]
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 [0x108483bc]
mov ecx, dword [0x108483c0]
add eax, 0x61
mov esi, dword [0x108483b8]
push eax
test ecx, ecx
jle 0x100207df
add esi, ecx
mov ecx, 0x101b3888
call fcn.10042330
movss xmm0, dword [0x10848394]
movss xmm1, dword [0x10848390]
cvtps2pd xmm0, xmm0
push esi
push eax
push 3
push 0x4b
addsd xmm0, qword [0x100f1ad0]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, xmm1
add eax, 0x3a
push eax
push 0xffffffffffffffff
push 0x102a22b0
call fcn.1006c9b0
add esp, 0x20
mov ecx, 0x101b3888
push 0x65
call fcn.10042330
movss xmm0, dword [0x10848394]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0xbe
addsd xmm0, qword [0x100f1af8]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x10848390]
push eax
push 0xff19bdff
push 0x102a22b0
call fcn.1006c9b0
mov edi, dword [0x108483d0]
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 0x10020901
mov eax, 0x2aaaaaab
mov ecx, 0x101b3888
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push 0x84
call fcn.10042330
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [sym.imp.USER32.dll_wsprintfA]
call eax
add esp, 0xc
jmp 0x10020919
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 [0x10848394]
lea eax, [ebp - 0x24]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0xbe
addsd xmm0, qword [0x100f1b10]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x10848390]
push eax
push 0xff8be100
push 0x102a22b0
call fcn.1006c9b0
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.100c0a54
mov esp, ebp
pop ebp
ret