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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp dword [0x102e078c], 1
push ebx
push esi
push edi
je 0x1003f2dd
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
movd xmm0, dword [ebp + 8]
mov ecx, 0x101c4a28
cvtdq2pd xmm0, xmm0
push 0x70
addsd xmm0, qword [0x10102bc0]
movsd qword [ebp - 0x10], xmm0
call fcn.10043140
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 0x102bb6b0
call fcn.100798d0
movsd xmm0, qword [ebp - 0x10]
add esi, 0x55
mov edi, dword [sym.imp.OPENGL32.dll_glColor3f]
add esp, 0x1c
cmp dword [0x102e0700], 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 0x1003f372
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f3ec
cvttss2si eax, xmm1
push 0xd
push 0xf
push eax
push ecx
call edx
add esp, 0x10
cmp al, 1
jne 0x1003f3ec
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x114ecbd0]
cmp eax, 0x12c
jbe 0x1003f3ec
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f3ec
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 0
mov ecx, 0x114ecbb4
call fcn.100400b0
call ebx
mov dword [0x114ecbd0], 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 0x100ff7b8
push 3
push 0xf
addss xmm0, dword [0x10102918]
cvttss2si eax, xmm0
push eax
push dword [ebp - 4]
mov dword [ebp + 0xc], eax
push 0xffffffffffffffff
push 0x102bb6b0
call fcn.100798d0
movd xmm1, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102e0700], 1
cvtdq2pd xmm0, xmm1
addsd xmm0, qword [0x10102bd0]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 4], xmm0
mov dword [ebp - 0xc], ecx
jne 0x1003f4f1
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f577
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 0x1003f577
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x114ecbd0]
cmp eax, 0x12c
jbe 0x1003f577
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f577
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 1
mov ecx, 0x114ecbb4
call fcn.100400b0
call ebx
mov dword [0x114ecbd0], 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 0x100ffed8
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 0xc]
push 0xffffffffffffffff
push 0x102bb6b0
call fcn.100798d0
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102e0700], 2
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10102bf0]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003f664
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f6ea
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 0x1003f6ea
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x114ecbd0]
cmp eax, 0x12c
jbe 0x1003f6ea
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f6ea
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 2
mov ecx, 0x114ecbb4
call fcn.100400b0
call ebx
mov dword [0x114ecbd0], 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 0x100ffedc
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 4]
push 0xffffffffffffffff
push 0x102bb6b0
call fcn.100798d0
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102e0700], 3
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10102bf8]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003f7d7
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f85d
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 0x1003f85d
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x114ecbd0]
cmp eax, 0x12c
jbe 0x1003f85d
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f85d
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 3
mov ecx, 0x114ecbb4
call fcn.100400b0
call ebx
mov dword [0x114ecbd0], 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 0x100ffee0
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 4]
push 0xffffffffffffffff
push 0x102bb6b0
call fcn.100798d0
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102e0700], 4
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10102c08]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003f94a
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f9d0
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 0x1003f9d0
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x114ecbd0]
cmp eax, 0x12c
jbe 0x1003f9d0
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f9d0
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 4
mov ecx, 0x114ecbb4
call fcn.100400b0
call ebx
mov dword [0x114ecbd0], 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 0x100ffee4
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 4]
push 0xffffffffffffffff
push 0x102bb6b0
call fcn.100798d0
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102e0700], 5
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10102c38]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003fabd
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003fb43
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 0x1003fb43
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x114ecbd0]
cmp eax, 0x12c
jbe 0x1003fb43
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003fb43
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 5
mov ecx, 0x114ecbb4
call fcn.100400b0
call ebx
mov dword [0x114ecbd0], 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 0x100ffee8
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 4]
push 0xffffffffffffffff
push 0x102bb6b0
call fcn.100798d0
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102e0700], 6
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10102c60]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003fc30
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003fcb6
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 0x1003fcb6
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x114ecbd0]
cmp eax, 0x12c
jbe 0x1003fcb6
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003fcb6
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 6
mov ecx, 0x114ecbb4
call fcn.100400b0
call ebx
mov dword [0x114ecbd0], 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 0x100ffeec
push 3
push 0xf
push dword [ebp + 0xc]
push dword [ebp - 4]
push 0xffffffffffffffff
push 0x102bb6b0
call fcn.100798d0
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102e0700], 7
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10102c88]
movsd qword [ebp - 0x10], xmm0
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
mov dword [ebp + 8], ecx
jne 0x1003fda3
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003fe29
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 0x1003fe29
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x114ecbd0]
cmp eax, 0x12c
jbe 0x1003fe29
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003fe29
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 7
mov ecx, 0x114ecbb4
call fcn.100400b0
call ebx
mov dword [0x114ecbd0], 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, 0x101c4a28
call fcn.10043140
push eax
push 3
push 0x19
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0xffffffffffffffff
push 0x102bb6b0
call fcn.100798d0
add esp, 0x1c
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8