Function at 0x1003e970
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 0x1003e98d
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 [0x10101b80]
movsd qword [ebp - 0x10], xmm0
call fcn.100427e0
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.10077f40
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 0x1003ea22
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003ea9c
cvttss2si eax, xmm1
push 0xd
push 0xf
push eax
push ecx
call edx
add esp, 0x10
cmp al, 1
jne 0x1003ea9c
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996c8]
cmp eax, 0x12c
jbe 0x1003ea9c
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003ea9c
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 0
mov ecx, 0x108996ac
call fcn.1003f760
call ebx
mov dword [0x108996c8], 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 [0x101018d8]
cvttss2si eax, xmm0
push eax
push dword [ebp - 4]
mov dword [ebp + 0xc], eax
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077f40
movd xmm1, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 1
cvtdq2pd xmm0, xmm1
addsd xmm0, qword [0x10101b90]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 4], xmm0
mov dword [ebp - 0xc], ecx
jne 0x1003eba1
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003ec27
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 0x1003ec27
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996c8]
cmp eax, 0x12c
jbe 0x1003ec27
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003ec27
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 1
mov ecx, 0x108996ac
call fcn.1003f760
call ebx
mov dword [0x108996c8], 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.10077f40
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 2
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101bb0]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003ed14
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003ed9a
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 0x1003ed9a
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996c8]
cmp eax, 0x12c
jbe 0x1003ed9a
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003ed9a
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 2
mov ecx, 0x108996ac
call fcn.1003f760
call ebx
mov dword [0x108996c8], 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.10077f40
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 3
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101bb8]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003ee87
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003ef0d
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 0x1003ef0d
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996c8]
cmp eax, 0x12c
jbe 0x1003ef0d
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003ef0d
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 3
mov ecx, 0x108996ac
call fcn.1003f760
call ebx
mov dword [0x108996c8], 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.10077f40
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 4
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101bc8]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003effa
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f080
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 0x1003f080
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996c8]
cmp eax, 0x12c
jbe 0x1003f080
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f080
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 4
mov ecx, 0x108996ac
call fcn.1003f760
call ebx
mov dword [0x108996c8], 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.10077f40
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 5
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101bf8]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003f16d
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f1f3
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 0x1003f1f3
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996c8]
cmp eax, 0x12c
jbe 0x1003f1f3
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f1f3
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 5
mov ecx, 0x108996ac
call fcn.1003f760
call ebx
mov dword [0x108996c8], 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.10077f40
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 6
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101c20]
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 4], ecx
jne 0x1003f2e0
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f366
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 0x1003f366
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996c8]
cmp eax, 0x12c
jbe 0x1003f366
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f366
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 6
mov ecx, 0x108996ac
call fcn.1003f760
call ebx
mov dword [0x108996c8], 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.10077f40
movd xmm0, dword [ebp + 8]
add esp, 0x1c
cmp dword [0x102df7c0], 7
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x10101c48]
movsd qword [ebp - 0x10], xmm0
cvtpd2ps xmm0, xmm0
cvttss2si ecx, xmm0
mov dword [ebp + 8], ecx
jne 0x1003f453
sub esp, 0xc
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3f800000
call edi
jmp 0x1003f4d9
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 0x1003f4d9
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
call ebx
sub eax, dword [0x108996c8]
cmp eax, 0x12c
jbe 0x1003f4d9
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1003f4d9
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
push 7
mov ecx, 0x108996ac
call fcn.1003f760
call ebx
mov dword [0x108996c8], 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.100427e0
push eax
push 3
push 0x19
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077f40
add esp, 0x1c
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8