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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp dword [0x102df84c], 1
push ebx
push esi
push edi
je 0x1003ec7d
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
movd xmm0, dword [ebp + 8]
mov ecx, 0x101c3ae8
cvtdq2pd xmm0, xmm0
push 0x70
addsd xmm0, qword [0x10101b78]
movsd qword [ebp - 0x10], xmm0
call fcn.10042ad0
mov esi, dword [ebp + 0xc]
push eax
push 3
push 0x78
lea eax, [esi + 0x48]
push eax
cvttsd2si eax, qword [ebp - 0x10]
push eax
push 0xffffffffffffffff
push 0x102ba770
call fcn.10078120
movsd xmm0, qword [ebp - 0x10]
add esi, 0x55
mov edi, dword [sym.imp.OPENGL32.dll_glColor3f]
add esp, 0x1c
cmp dword [0x102df7c0], 0
mov edx, 0x790b10
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
cvtpd2ps xmm0, xmm0
movd xmm1, esi
cvttss2si ecx, xmm0
cvtdq2ps xmm1, xmm1
mov dword [ebp - 4], ecx
jne 0x1003ed12
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003ed8c
cvttss2si eax, xmm1
push 0xd
push 0xf
push eax
push ecx
call edx
add esp, 0x10
cmp al, 1
jne 0x1003ed8c
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996b8]
cmp eax, 0x12c
jbe 0x1003ed8c
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003ed8c
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 0
mov ecx, 0x1089969c
call fcn.1003fa50
call ebx
mov dword [0x108996b8], eax
push 0
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, 0x637c60
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41500000
mov dword [esp + 8], 0x41700000
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x10]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7b4b
call eax
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
movd xmm1, esi
cvtdq2ps xmm0, xmm1
push 0x100fe790
push 3
push 0xf
addss xmm0, dword [0x101018d0]
cvttss2si eax, xmm0
push eax
push dword [ebp - 4]
mov dword [ebp + 0xc], eax
push 0xffffffffffffffff
push 0x102ba770
call fcn.10078120
movd xmm1, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 1
cvtdq2pd xmm0, xmm1
addsd xmm0, qword [0x10101b88]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 4], xmm0
mov dword [ebp - 0xc], ecx
jne 0x1003ee91
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003ef17
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push 0xd
push 0xf
cvttss2si eax, xmm0
push eax
push ecx
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1003ef17
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996b8]
cmp eax, 0x12c
jbe 0x1003ef17
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003ef17
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 1
mov ecx, 0x1089969c
call fcn.1003fa50
call ebx
mov dword [0x108996b8], eax
push 0
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, 0x637c60
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41500000
mov dword [esp + 8], 0x41700000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 4]
movss dword [esp], xmm0
push 0x7b4b
call eax
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
push 0x100feeb0
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 0xc]
push 0xffffffffffffffff
push 0x102ba770
call fcn.10078120
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 2
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101ba8]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003f004
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f08a
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push 0xd
push 0xf
cvttss2si eax, xmm0
push eax
push ecx
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1003f08a
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996b8]
cmp eax, 0x12c
jbe 0x1003f08a
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f08a
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 2
mov ecx, 0x1089969c
call fcn.1003fa50
call ebx
mov dword [0x108996b8], eax
push 0
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, 0x637c60
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41500000
mov dword [esp + 8], 0x41700000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xc]
movss dword [esp], xmm0
push 0x7b4b
call eax
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
push 0x100feeb4
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 4]
push 0xffffffffffffffff
push 0x102ba770
call fcn.10078120
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 3
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101bb0]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003f177
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f1fd
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push 0xd
push 0xf
cvttss2si eax, xmm0
push eax
push ecx
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1003f1fd
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996b8]
cmp eax, 0x12c
jbe 0x1003f1fd
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f1fd
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 3
mov ecx, 0x1089969c
call fcn.1003fa50
call ebx
mov dword [0x108996b8], eax
push 0
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, 0x637c60
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41500000
mov dword [esp + 8], 0x41700000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xc]
movss dword [esp], xmm0
push 0x7b4b
call eax
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
push 0x100feeb8
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 4]
push 0xffffffffffffffff
push 0x102ba770
call fcn.10078120
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 4
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101bc0]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003f2ea
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f370
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push 0xd
push 0xf
cvttss2si eax, xmm0
push eax
push ecx
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1003f370
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996b8]
cmp eax, 0x12c
jbe 0x1003f370
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f370
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 4
mov ecx, 0x1089969c
call fcn.1003fa50
call ebx
mov dword [0x108996b8], eax
push 0
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, 0x637c60
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41500000
mov dword [esp + 8], 0x41700000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xc]
movss dword [esp], xmm0
push 0x7b4b
call eax
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
push 0x100feebc
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 4]
push 0xffffffffffffffff
push 0x102ba770
call fcn.10078120
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 5
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101bf0]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003f45d
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f4e3
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push 0xd
push 0xf
cvttss2si eax, xmm0
push eax
push ecx
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1003f4e3
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996b8]
cmp eax, 0x12c
jbe 0x1003f4e3
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f4e3
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 5
mov ecx, 0x1089969c
call fcn.1003fa50
call ebx
mov dword [0x108996b8], eax
push 0
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, 0x637c60
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41500000
mov dword [esp + 8], 0x41700000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xc]
movss dword [esp], xmm0
push 0x7b4b
call eax
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
push 0x100feec0
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 4]
push 0xffffffffffffffff
push 0x102ba770
call fcn.10078120
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 6
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101c18]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003f5d0
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f656
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push 0xd
push 0xf
cvttss2si eax, xmm0
push eax
push ecx
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1003f656
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996b8]
cmp eax, 0x12c
jbe 0x1003f656
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f656
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 6
mov ecx, 0x1089969c
call fcn.1003fa50
call ebx
mov dword [0x108996b8], eax
push 0
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, 0x637c60
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41500000
mov dword [esp + 8], 0x41700000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xc]
movss dword [esp], xmm0
push 0x7b4b
call eax
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
push 0x100feec4
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 4]
push 0xffffffffffffffff
push 0x102ba770
call fcn.10078120
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 7
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101c40]
movsd qword [ebp - 0x10], xmm0
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
mov dword [ebp + 8], ecx
jne 0x1003f743
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f7c9
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push 0xd
push 0x19
cvttss2si eax, xmm0
push eax
push ecx
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1003f7c9
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996b8]
cmp eax, 0x12c
jbe 0x1003f7c9
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f7c9
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 7
mov ecx, 0x1089969c
call fcn.1003fa50
call ebx
mov dword [0x108996b8], eax
movsd xmm1, qword [ebp - 0x10]
mov eax, 0x637c60
push 0
push 1
push 1
sub esp, 0x20
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41500000
mov dword [esp + 8], 0x41c80000
movss dword [esp + 4], xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp], xmm0
push 0x7b4b
call eax
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
push 0x7f
mov ecx, 0x101c3ae8
call fcn.10042ad0
push eax
push 3
push 0x19
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0xffffffffffffffff
push 0x102ba770
call fcn.10078120
add esp, 0x1c
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8