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

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x1028efec]
sub esp, 0x2c
push ebx
push esi
push edi
cmp ecx, 5
jle 0x100815f4
cmp dword [0x10643c08], 0
je 0x100815f4
cmp dword [0x10643c0c], 0
je 0x100815f4
mov eax, ecx
shl eax, 4
sub eax, ecx
cmp dword [0x1028ee20], 0
lea esi, [eax*2 + 0xa]
je 0x10080cfe
mov ecx, dword [0x8b156ec]
mov eax, dword [0x100dbb48]
cmp ecx, eax
je 0x10080cbc
sub ecx, dword [0x1028ee24]
test ecx, ecx
jle 0x10080cbc
add eax, 0xffffffb2
cmp ecx, eax
cmovg ecx, eax
jmp 0x10080cbe
xor ecx, ecx
mov dword [0x1028ee18], ecx
mov edx, dword [0x8b156f0]
cmp edx, 0x1e0
je 0x10080cf1
sub edx, dword [0x1028ee28]
cmp edx, 4
jle 0x10080cf1
mov eax, 0x1ae
sub eax, esi
cmp edx, eax
cmovg edx, eax
mov dword [0x1028ee1c], edx
jmp 0x10080d0a
mov edx, 4
mov dword [0x1028ee1c], edx
jmp 0x10080d0a
mov edx, dword [0x1028ee1c]
mov ecx, dword [0x1028ee18]
movss xmm1, dword [0x11b3794]
xor eax, eax
movss xmm0, dword [0x100d183c]
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 0x10080d45
movaps xmm0, xmm1
jmp 0x10080d4d
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100d1c6c]
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 0x10080dbc
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10080dbc
cmp dword [0x1028ee20], 0
jne 0x10080db0
mov eax, dword [0x8b156ec]
sub eax, dword [0x1028ee18]
mov dword [0x1028ee24], eax
mov eax, dword [0x8b156f0]
sub eax, dword [0x1028ee1c]
mov dword [0x1028ee28], eax
mov dword [0x1028ee20], 1
jmp 0x10080dc6
mov dword [0x1028ee20], 0
xor eax, eax
cmp dword [0x1028efec], eax
jle 0x10080de7
mov ecx, 0x1028ee5c
mov dword [ecx], 0xffffffff
lea ecx, [ecx + 0x2c]
inc eax
cmp eax, dword [0x1028efec]
jl 0x10080dd5
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 0x10080e7e
cmp byte [eax + 0x328], 0
je 0x10080e7e
cmp byte [eax + 0x34c], 1
jne 0x10080e7e
mov ebx, dword [0x1028efec]
xor edi, edi
test ebx, ebx
jle 0x10080e79
add eax, 0x38
mov esi, 0x1028ee5c
mov dword [ebp - 0x24], eax
mov ecx, eax
lea eax, [esi - 0x28]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10080e56
test dl, dl
je 0x10080e52
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10080e56
add eax, 2
add ecx, 2
test dl, dl
jne 0x10080e36
xor eax, eax
jmp 0x10080e5b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10080e6e
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + 0x7e]
mov dword [esi], eax
mov ebx, dword [0x1028efec]
mov eax, dword [ebp - 0x24]
inc edi
add esi, 0x2c
cmp edi, ebx
jl 0x10080e31
mov ebx, 0x9265d0
mov eax, dword [ebp - 0x18]
mov ecx, 0x43734e
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x190
jl 0x10080df6
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]
movd xmm0, dword [0x1028ee18]
xor eax, eax
movss xmm4, dword [0x11b3794]
xorps xmm7, xmm7
cvtdq2ps xmm0, xmm0
movss xmm2, dword [0x11b3798]
movss dword [ebp - 0x10], xmm0
movaps xmm6, xmm2
movd xmm0, dword [0x1028ee1c]
cvtdq2ps xmm0, xmm0
mulss xmm6, dword [0x100d1bf4]
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [0x100d183c]
comiss xmm0, xmm4
divss xmm6, xmm2
setae al
movd xmm5, eax
cvtdq2ps xmm5, xmm5
ucomiss xmm5, xmm7
lahf
test ah, 0x44
jnp 0x10080f2c
movaps xmm1, xmm4
jmp 0x10080f2f
movaps xmm1, xmm2
mulss xmm1, dword [0x100d1ca8]
ucomiss xmm5, xmm7
lahf
test ah, 0x44
jnp 0x10080f46
divss xmm1, xmm4
jmp 0x10080f4a
divss xmm1, xmm2
ucomiss xmm5, xmm7
movaps xmm3, xmm2
mulss xmm3, dword [0x100d1f10]
lahf
divss xmm3, xmm2
test ah, 0x44
jnp 0x10080f67
movaps xmm0, xmm4
jmp 0x10080f6a
movaps xmm0, xmm2
mulss xmm0, dword [0x100d1f00]
ucomiss xmm5, xmm7
lahf
test ah, 0x44
jnp 0x10080f81
divss xmm0, xmm4
jmp 0x10080f85
divss xmm0, xmm2
addss xmm3, dword [ebp - 0xc]
addss xmm0, dword [ebp - 0x10]
push ecx
mov dword [esp], 0
mov eax, 0x631289
push 1
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], xmm6
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm3
movss dword [esp], xmm0
push 0x13e75
call eax
movss xmm0, dword [ebp - 0xc]
add esp, 0x30
addss xmm0, dword [0x100d1bc4]
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 [0x1028efec], ebx
jle 0x100815e2
movss xmm1, dword [ebp - 0x10]
movaps xmm0, xmm1
addss xmm0, dword [0x100d18b8]
movss dword [ebp - 0x14], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x100d1bd8]
cvttss2si eax, xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x100d1b58]
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 + 0x1028ee5c]
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 [0x100d18b8]
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 0x1008115e
sub esp, 0x10
mov dword [esp + 0xc], 0x3f000000
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3e99999a
jmp 0x100811ac
push esi
mov eax, 0x43734e
call eax
mov ecx, eax
mov eax, 0x9265d0
call eax
test eax, eax
je 0x100811f7
lea ecx, [eax + 0x51c]
mov eax, 0x4cfe6e
push 2
call eax
cmp al, 1
jne 0x100811f7
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 0x100812f3
cmp esi, 0xffffffff
jne 0x10081290
push 0x80
push 0x80
push 0x80
jmp 0x1008129f
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 + 0x1028ee34]
addss xmm0, dword [0x100d1b58]
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 0x100813ab
cmp esi, 0xffffffff
jne 0x10081303
push 0xb
push 0x4b
push 0x80
jmp 0x1008130f
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 [0x100d1970]
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 [0x100d1c58]
movss dword [esp], xmm0
push 0x13e71
call esi
movss xmm0, dword [ebp - 4]
add esp, 0x14
addss xmm0, dword [0x100d1b58]
push 0
push 1
cvttss2si eax, xmm0
push 0
push 0x4d
push 0x1028ee34
push eax
push dword [ebp - 0x20]
mov eax, 0x45124f
call eax
mov ecx, eax
mov eax, 0x4514e6
call eax
lea ebx, [edi + 0x1028ee34]
movd xmm0, dword [edi + 0x1028ee4c]
sub esp, 0x10
cvtdq2pd xmm0, xmm0
mov dword [esp + 0xc], 0x40400000
mulsd xmm0, qword [0x100d1898]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x100d1be4]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [esp], xmm0
push 0x13e72
call esi
movd xmm0, dword [edi + 0x1028ee58]
add esp, 4
cvtdq2pd xmm0, xmm0
mov dword [esp + 0xc], 0x40400000
mulsd xmm0, qword [0x100d1898]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x100d1c00]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [esp], xmm0
push 0x13e73
call esi
mov esi, dword [0x10643c0c]
add esp, 0x14
add esi, 0x38
mov eax, 0x1028ee34
mov ecx, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10081478
test dl, dl
je 0x10081474
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10081478
add eax, 2
add ecx, 2
test dl, dl
jne 0x10081458
xor eax, eax
jmp 0x1008147d
sbb eax, eax
or eax, 1
test eax, eax
je 0x100814b0
mov eax, ebx
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x100814a3
test cl, cl
je 0x1008149f
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x100814a3
add eax, 2
add esi, 2
test cl, cl
jne 0x10081483
xor eax, eax
jmp 0x100814a8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1008159e
movss xmm1, dword [ebp - 4]
xor esi, esi
addss xmm1, dword [0x100d1970]
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [0x100d1c74]
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 0x10081552
push 1
mov esi, 0xb
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10081552
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [0x1028ee14]
cmp eax, 0x12c
jbe 0x10081552
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.10098a10
call edi
mov dword [0x1028ee14], eax
mov dword [0x10636564], 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, 0x1028ee08
movss xmm1, dword [ebp - 0xc]
cvtdq2pd xmm0, xmm0
push ebx
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
movss xmm1, dword [ebp - 0x2c]
addsd xmm0, qword [0x100d18b0]
cvtpd2ps xmm2, xmm0
call fcn.10080a30
mov ebx, dword [ebp - 0x18]
inc ebx
mov dword [ebp - 0x18], ebx
cmp ebx, dword [0x1028efec]
jl 0x10081092
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