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

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x10254e74]
sub esp, 0x2c
push ebx
push esi
push edi
cmp ecx, 5
jle 0x1006e2d2
cmp dword [0x105e4e24], 0
je 0x1006e2d2
cmp dword [0x105e4e28], 0
je 0x1006e2d2
mov eax, ecx
shl eax, 4
sub eax, ecx
cmp dword [0x10254ca8], 0
lea esi, [eax*2 + 0xa]
je 0x1006d9cf
mov ecx, dword [0x8b156ec]
cmp ecx, 0x280
je 0x1006d98d
sub ecx, dword [0x10254cac]
test ecx, ecx
jle 0x1006d98d
mov eax, 0x232
cmp ecx, eax
cmovg ecx, eax
jmp 0x1006d98f
xor ecx, ecx
mov dword [0x10254ca0], ecx
mov edx, dword [0x8b156f0]
cmp edx, 0x1e0
je 0x1006d9c2
sub edx, dword [0x10254cb0]
cmp edx, 4
jle 0x1006d9c2
mov eax, 0x1ae
sub eax, esi
cmp edx, eax
cmovg edx, eax
mov dword [0x10254ca4], edx
jmp 0x1006d9db
mov edx, 4
mov dword [0x10254ca4], edx
jmp 0x1006d9db
mov edx, dword [0x10254ca4]
mov ecx, dword [0x10254ca0]
movss xmm1, dword [0x11b3794]
xor eax, eax
movss xmm0, dword [0x100bc6ac]
xorps xmm3, xmm3
comiss xmm0, xmm1
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm1
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1006da16
movaps xmm0, xmm1
jmp 0x1006da1e
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bca90]
push esi
divss xmm2, xmm1
divss xmm0, xmm1
cvttss2si eax, xmm0
push eax
lea eax, [edx - 3]
push eax
cvttss2si eax, xmm2
push eax
mov eax, 0x799756
call eax
add esp, 0x10
cmp al, 1
jne 0x1006da8d
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1006da8d
cmp dword [0x10254ca8], 0
jne 0x1006da81
mov eax, dword [0x8b156ec]
sub eax, dword [0x10254ca0]
mov dword [0x10254cac], eax
mov eax, dword [0x8b156f0]
sub eax, dword [0x10254ca4]
mov dword [0x10254cb0], eax
mov dword [0x10254ca8], 1
jmp 0x1006da97
mov dword [0x10254ca8], 0
xor eax, eax
cmp dword [0x10254e74], eax
jle 0x1006dab8
mov ecx, 0x10254ce4
mov dword [ecx], 0xffffffff
lea ecx, [ecx + 0x2c]
inc eax
cmp eax, dword [0x10254e74]
jl 0x1006daa6
xor eax, eax
mov ecx, 0x43734e
mov dword [ebp - 0x18], eax
mov ebx, 0x9265d0
push eax
call ecx
mov ecx, eax
call ebx
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1006db4d
cmp byte [eax + 0x328], 0
je 0x1006db4d
cmp byte [eax + 0x34c], 1
jne 0x1006db4d
mov ebx, dword [0x10254e74]
xor edi, edi
test ebx, ebx
jle 0x1006db48
add eax, 0x38
mov esi, 0x10254ce4
mov dword [ebp - 0x24], eax
nop
mov ecx, eax
lea eax, [esi - 0x28]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1006db25
test dl, dl
je 0x1006db21
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1006db25
add eax, 2
add ecx, 2
test dl, dl
jne 0x1006db05
xor eax, eax
jmp 0x1006db2a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1006db3d
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + 0x7e]
mov dword [esi], eax
mov ebx, dword [0x10254e74]
mov eax, dword [ebp - 0x24]
inc edi
add esi, 0x2c
cmp edi, ebx
jl 0x1006db00
mov ebx, 0x9265d0
mov eax, dword [ebp - 0x18]
mov ecx, 0x43734e
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x190
jl 0x1006dac7
push 1
mov eax, 0x62f75b
call eax
mov dword [esp], 0x3f800000
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
movss xmm0, dword [0x11b3794]
xor eax, eax
movss xmm1, dword [0x100bc6ac]
xorps xmm4, xmm4
movd xmm5, dword [0x10254ca0]
movd xmm6, dword [0x10254ca4]
comiss xmm1, xmm0
cvtdq2ps xmm5, xmm5
setae al
cvtdq2ps xmm6, xmm6
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0x10], xmm5
ucomiss xmm2, xmm4
movss dword [ebp - 0xc], xmm6
lahf
test ah, 0x44
jnp 0x1006dbe4
movaps xmm1, xmm0
jmp 0x1006dbec
movss xmm1, dword [0x11b3798]
mulss xmm1, dword [0x100bcac8]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jnp 0x1006dc03
divss xmm1, xmm0
jmp 0x1006dc0b
divss xmm1, dword [0x11b3798]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jnp 0x1006dc19
movaps xmm3, xmm0
jmp 0x1006dc21
movss xmm3, dword [0x11b3798]
mulss xmm3, dword [0x100bccf0]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jnp 0x1006dc38
divss xmm3, xmm0
jmp 0x1006dc40
divss xmm3, dword [0x11b3798]
movss xmm2, dword [0x11b3798]
addss xmm3, xmm5
movaps xmm0, xmm2
mov eax, 0x631289
mulss xmm0, dword [0x100bca0c]
push ecx
mov dword [esp], 0
push 1
divss xmm0, xmm2
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3e2bedf6
mov dword [esp + 0x18], 0x3f400000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm6
movss dword [esp + 8], xmm1
movaps xmm1, xmm2
mulss xmm1, dword [0x100bc7e0]
divss xmm1, xmm2
subss xmm0, xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm3
push 0x13e75
call eax
movss xmm0, dword [ebp - 0xc]
add esp, 0x30
addss xmm0, dword [0x100bc9e0]
mov ebx, 0x45124f
push dword [0x11c3e98]
movss dword [ebp - 0xc], xmm0
call ebx
mov edx, 0x4514be
mov ecx, eax
call edx
push 0xff
push 0xff
push 0xff
push 0xff
call ebx
mov edx, 0x45140c
mov ecx, eax
call edx
push 0
push 0
push 0
push 0
call ebx
mov edx, 0x451465
mov ecx, eax
call edx
xor ebx, ebx
mov dword [ebp - 0x18], ebx
cmp dword [0x10254e74], ebx
jle 0x1006e2c0
movss xmm1, dword [ebp - 0x10]
movaps xmm0, xmm1
addss xmm0, dword [0x100bc728]
movss dword [ebp - 0x14], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x100bc9f0]
cvttss2si eax, xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x100bc990]
mov dword [ebp - 0x20], eax
movss dword [ebp - 0x24], xmm0
cvtps2pd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
sub esp, 0x10
imul edi, ebx, 0x2c
mov eax, ebx
shl eax, 4
sub eax, ebx
mov dword [esp + 0xc], 0x3f666666
add eax, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x28], eax
mov esi, dword [edi + 0x10254ce4]
mov dword [esp], 0
call dword [sym.imp.OPENGL32.dll_glColor4f]
movd xmm0, dword [ebp - 0x28]
mov eax, 0x630f0a
cvtdq2ps xmm0, xmm0
push 0
sub esp, 0x14
addss xmm0, dword [ebp - 0xc]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41880000
mov dword [esp + 8], 0x42940000
movss dword [ebp - 4], xmm0
addss xmm0, dword [0x100bc728]
movss dword [ebp - 0x1c], xmm0
cvtps2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x14]
movss dword [esp], xmm0
call eax
push 1
mov eax, 0x62f75b
call eax
add esp, 0x1c
cmp esi, 0xffffffff
jne 0x1006de40
sub esp, 0x10
mov dword [esp + 0xc], 0x3f000000
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3e99999a
jmp 0x1006de8e
push esi
mov eax, 0x43734e
call eax
mov ecx, eax
mov eax, 0x9265d0
call eax
test eax, eax
je 0x1006ded9
lea ecx, [eax + 0x51c]
mov eax, 0x4cfe6e
push 2
call eax
cmp al, 1
jne 0x1006ded9
sub esp, 0x10
mov dword [esp + 0xc], 0x3e4ccccd
mov dword [esp + 8], 0x3e4ccccd
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3e4ccccd
call dword [sym.imp.OPENGL32.dll_glColor4f]
movss xmm0, dword [ebp - 0x1c]
mov eax, 0x630f0a
push 0
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41880000
mov dword [esp + 8], 0x42940000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x14]
movss dword [esp], xmm0
call eax
push 1
mov eax, 0x62f75b
call eax
add esp, 0x1c
sub esp, 0x10
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 0xde1
call dword [sym.imp.OPENGL32.dll_glEnable]
movss xmm0, dword [ebp - 4]
sub esp, 0x10
cvtps2pd xmm0, xmm0
mov eax, 0x799791
mov dword [esp + 0xc], 0x41f00000
mov dword [esp + 8], 0x429a0000
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x10]
movss dword [esp], xmm0
push 0x13e70
call eax
add esp, 0x14
mov eax, 0x444e92
push 0xff
test ebx, ebx
je 0x1006dfd1
cmp esi, 0xffffffff
jne 0x1006df6e
push 0x80
push 0x80
push 0x80
jmp 0x1006df7d
push 0xff
push 0xff
push 0xff
call eax
add esp, 0x10
push eax
mov eax, 0x45124f
call eax
mov ecx, eax
mov eax, 0x45143d
call eax
movss xmm0, dword [ebp - 4]
lea ebx, [edi + 0x10254cbc]
addss xmm0, dword [0x100bc990]
push 0
push 1
push 0
push 0x4d
cvttss2si eax, xmm0
push ebx
push eax
push dword [ebp - 0x20]
mov eax, 0x45124f
call eax
mov ecx, eax
mov eax, 0x4514e6
call eax
mov esi, 0x799791
jmp 0x1006e089
cmp esi, 0xffffffff
jne 0x1006dfe1
push 0xb
push 0x4b
push 0x80
jmp 0x1006dfed
push 0x16
push 0x94
push 0xff
call eax
add esp, 0x10
push eax
mov eax, 0x45124f
call eax
mov ecx, eax
mov eax, 0x45143d
call eax
movss xmm0, dword [ebp - 0xc]
sub esp, 0x10
addss xmm0, dword [0x100bc7e0]
mov esi, 0x799791
mov dword [esp + 0xc], 0x41200000
mov dword [esp + 8], 0x41100000
cvtps2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [0x100bca7c]
movss dword [esp], xmm0
push 0x13e71
call esi
movss xmm0, dword [ebp - 4]
add esp, 0x14
addss xmm0, dword [0x100bc990]
push 0
push 1
cvttss2si eax, xmm0
push 0
push 0x4d
push 0x10254cbc
push eax
push dword [ebp - 0x20]
mov eax, 0x45124f
call eax
mov ecx, eax
mov eax, 0x4514e6
call eax
lea ebx, [edi + 0x10254cbc]
movd xmm0, dword [edi + 0x10254cd4]
sub esp, 0x10
cvtdq2pd xmm0, xmm0
mov dword [esp + 0xc], 0x40400000
mulsd xmm0, qword [0x100bc708]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x100bc9fc]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [esp], xmm0
push 0x13e72
call esi
movd xmm0, dword [edi + 0x10254ce0]
add esp, 4
cvtdq2pd xmm0, xmm0
mov dword [esp + 0xc], 0x40400000
mulsd xmm0, qword [0x100bc708]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x100bca18]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [esp], xmm0
push 0x13e73
call esi
mov esi, dword [0x105e4e28]
add esp, 0x14
add esi, 0x38
mov eax, 0x10254cbc
mov ecx, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1006e156
test dl, dl
je 0x1006e152
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1006e156
add eax, 2
add ecx, 2
test dl, dl
jne 0x1006e136
xor eax, eax
jmp 0x1006e15b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006e18e
mov eax, ebx
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x1006e181
test cl, cl
je 0x1006e17d
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x1006e181
add eax, 2
add esi, 2
test cl, cl
jne 0x1006e161
xor eax, eax
jmp 0x1006e186
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1006e27c
movss xmm1, dword [ebp - 4]
xor esi, esi
addss xmm1, dword [0x100bc7e0]
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [0x100bca98]
push 0xb
push 0xb
cvttss2si eax, xmm1
movss dword [ebp - 4], xmm1
push eax
cvttss2si eax, xmm0
movss dword [ebp - 0x1c], xmm0
push eax
mov eax, 0x799756
call eax
add esp, 0x10
test al, al
je 0x1006e230
push 1
mov esi, 0xb
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1006e230
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [0x10254c9c]
cmp eax, 0x12c
jbe 0x1006e230
push 0
push 0
push 0x19
mov eax, 0x6d3b61
call eax
mov eax, dword [ebp - 0x18]
lea edx, [esi - 7]
add esp, 0xc
mov dword [ebp - 8], 0x4304c1
lea ecx, [ebp - 8]
mov byte [ebp - 5], al
call fcn.10084a30
call edi
mov dword [0x10254c9c], eax
mov dword [0x105dd540], 1
sub esp, 0x18
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, 0x799a4f
movss dword [esp + 0x14], xmm0
movss xmm0, dword [ebp - 4]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41300000
mov dword [esp + 8], 0x41300000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [esp], xmm0
push 0x13e74
call eax
add esp, 0x1c
movd xmm0, dword [ebp - 0x28]
mov ecx, 0x10254c90
movss xmm1, dword [ebp - 0xc]
cvtdq2pd xmm0, xmm0
push ebx
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
movss xmm1, dword [ebp - 0x2c]
addsd xmm0, qword [0x100bc720]
cvtpd2ps xmm2, xmm0
call fcn.1006d700
mov ebx, dword [ebp - 0x18]
inc ebx
mov dword [ebp - 0x18], ebx
cmp ebx, dword [0x10254e74]
jl 0x1006dd74
push 0xde1
call dword [sym.imp.OPENGL32.dll_glEnable]
mov eax, 0x62f6e1
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret