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

Disassembly:
cmp dword [0x102c4eb8], 0
je 0x10046631
push esi
push edi
push 0xd
mov esi, 0x7fc95b
call esi
mov edi, 0x7fb628
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x41
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 9
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x10
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x13
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x14
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x10
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0xa
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x4d
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x4e
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x48
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x4a
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 6
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x49
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x4b
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x3f
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0xf
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 3
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0xb
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0xc
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x39
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0xe
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 7
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 1
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x22
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x4f
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 4
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x3c
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x3d
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x16
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x17
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x18
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x19
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x1a
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 0x15
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
push 8
call esi
mov ecx, eax
call edi
test al, al
jne 0x1004661b
cmp dword [0x106b9ad8], 0
jne 0x1004661b
movss xmm1, dword [0x11b3794]
xor eax, eax
movss xmm2, dword [0x100d183c]
xorps xmm3, xmm3
movd xmm0, dword [0x100dbb48]
comiss xmm2, xmm1
cvtdq2ps xmm0, xmm0
setae al
movd xmm4, eax
cvtdq2ps xmm4, xmm4
mulss xmm0, xmm1
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jnp 0x10046185
movaps xmm2, xmm1
jmp 0x1004618d
movss xmm2, dword [0x11b3798]
cmp dword [0x1023c534], 0
mulss xmm2, dword [0x100d1bf8]
mov edi, dword [sym.imp.OPENGL32.dll_glColor4f]
subss xmm0, xmm2
divss xmm0, xmm1
cvttss2si esi, xmm0
movss xmm0, dword [0x11b3798]
movaps xmm2, xmm0
mulss xmm2, dword [0x100d1c1c]
divss xmm2, xmm0
jne 0x100463f0
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jnp 0x100461d7
movaps xmm0, xmm1
mulss xmm0, dword [0x100d1c08]
cvttss2si eax, xmm2
divss xmm0, xmm1
push eax
cvttss2si eax, xmm0
push eax
push 0xd6
push esi
mov eax, 0x799756
call eax
add esp, 0x10
cmp al, 1
jne 0x10046346
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3d00346e
mov dword [esp + 4], 0x3f1c985f
mov dword [esp], 0x3f72f1aa
call edi
movss xmm0, dword [0x100d183c]
xor eax, eax
movss xmm3, dword [0x11b3794]
xorps xmm2, xmm2
comiss xmm0, xmm3
movss xmm1, dword [0x11b3798]
movaps xmm4, xmm1
mulss xmm4, dword [0x100d1c08]
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm4, xmm1
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1004626e
movaps xmm1, xmm3
mulss xmm1, dword [0x100d1bdc]
mov eax, 0x631289
push ecx
mov dword [esp], 0
push 1
divss xmm1, xmm3
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f19999a
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm4
movss dword [esp + 8], xmm1
mov dword [esp + 4], 0x43560000
movss dword [esp], xmm0
push 0x8324
call eax
add esp, 0x30
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x100465f4
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x1023c554]
cmp eax, 0x64
jbe 0x100465f4
movd xmm1, dword [0x100dbb48]
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [0x11b3794]
mov dword [0x1023c534], 1
movss dword [0x1023c540], xmm1
mov dword [0x1021caf0], 1
movss dword [0x1023c538], xmm0
call esi
mov dword [0x1023c554], eax
jmp 0x100465f4
movss xmm0, dword [0x100d183c]
xor eax, eax
movss xmm4, dword [0x11b3794]
xorps xmm2, xmm2
comiss xmm0, xmm4
movss xmm1, dword [0x11b3798]
movaps xmm3, xmm1
mulss xmm3, dword [0x100d1c08]
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm1
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1004638b
movaps xmm1, xmm4
mulss xmm1, dword [0x100d1bdc]
push ecx
mov dword [esp], 0
push 1
divss xmm1, xmm4
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f19999a
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm3
movss dword [esp + 8], xmm1
mov dword [esp + 4], 0x43560000
movss dword [esp], xmm0
push 0x8324
jmp 0x100465ea
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jnp 0x100463fc
movaps xmm0, xmm1
mulss xmm0, dword [0x100d1c08]
cvttss2si eax, xmm2
divss xmm0, xmm1
push eax
cvttss2si eax, xmm0
push eax
push 0xd6
push esi
mov eax, 0x799756
call eax
add esp, 0x10
cmp al, 1
jne 0x10046545
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3d00346e
mov dword [esp + 4], 0x3f1c985f
mov dword [esp], 0x3f72f1aa
call edi
movss xmm0, dword [0x100d183c]
xor eax, eax
movss xmm3, dword [0x11b3794]
xorps xmm2, xmm2
comiss xmm0, xmm3
movss xmm1, dword [0x11b3798]
movaps xmm4, xmm1
mulss xmm4, dword [0x100d1c08]
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm4, xmm1
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x10046493
movaps xmm1, xmm3
mulss xmm1, dword [0x100d1bdc]
mov eax, 0x631289
push ecx
mov dword [esp], 0
push 1
divss xmm1, xmm3
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f333333
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm4
movss dword [esp + 8], xmm1
mov dword [esp + 4], 0x43560000
movss dword [esp], xmm0
push 0x8323
call eax
add esp, 0x30
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x100465f4
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x1023c554]
cmp eax, 0x64
jbe 0x100465f4
mov dword [0x1023c534], 0
mov dword [0x1021caf0], 0
call esi
mov dword [0x1023c554], eax
jmp 0x100465f4
movss xmm0, dword [0x100d183c]
xor eax, eax
movss xmm4, dword [0x11b3794]
xorps xmm2, xmm2
comiss xmm0, xmm4
movss xmm1, dword [0x11b3798]
movaps xmm3, xmm1
mulss xmm3, dword [0x100d1c08]
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm1
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1004658a
movaps xmm1, xmm4
mulss xmm1, dword [0x100d1bdc]
push ecx
mov dword [esp], 0
push 1
divss xmm1, xmm4
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f333333
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm3
movss dword [esp + 8], xmm1
mov dword [esp + 4], 0x43560000
movss dword [esp], xmm0
push 0x8323
mov eax, 0x631289
call eax
add esp, 0x30
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call edi
pop edi
pop esi
ret
pop edi
mov dword [0x1021caf0], 0
mov dword [0x1023c534], 0
pop esi
ret