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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp byte [0x102bb15d], 0
push ebx
push esi
push edi
je 0x1005556f
mov eax, dword [0x10899ad4]
test eax, eax
jle 0x10054121
add eax, 0xffffffff
mov dword [0x10899ad4], eax
jne 0x10054121
mov byte [0x102bb15d], 0
mov dword [0xe8cb3c], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x41
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x1005414f
mov byte [0x102bb15d], 0
mov dword [0xe8cb3c], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm2, dword [0x10101720]
xor eax, eax
mov dword [0xe8cb3c], 1
xorps xmm0, xmm0
movss xmm1, dword [0xe7c3d4]
comiss xmm2, xmm1
setae al
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jnp 0x10054189
movaps xmm3, xmm1
jmp 0x10054191
movss xmm3, dword [0xe7c3d8]
mov eax, dword [0x10824d6c]
mulss xmm3, dword [0x101021fc]
add eax, 0x140
ucomiss xmm4, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
lahf
mulss xmm2, xmm1
subss xmm2, xmm3
test ah, 0x44
jp 0x100541c3
movss xmm1, dword [0xe7c3d8]
mulss xmm1, dword [0x10101e4c]
sub esp, 0x10
mov ebx, dword [sym.imp.OPENGL32.dll_glColor4f]
addss xmm1, xmm2
mov dword [esp + 0xc], 0x3f666666
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
movss dword [ebp - 4], xmm1
call ebx
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
comiss xmm0, xmm2
xorps xmm0, xmm0
setae al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1005422e
movaps xmm3, xmm2
jmp 0x10054236
movss xmm3, dword [0xe7c3d8]
mulss xmm3, dword [0x1010212c]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x10054250
movaps xmm1, xmm2
addss xmm1, xmm2
jmp 0x1005425c
movss xmm1, dword [0xe7c3d8]
addss xmm1, xmm1
movss xmm0, dword [ebp - 4]
mov eax, 0x637c60
subss xmm0, xmm1
divss xmm3, xmm2
push 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x18], 0x3f800000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x437a0000
divss xmm0, xmm2
movss dword [esp + 8], xmm3
mov dword [esp + 4], 0x42200000
movss dword [esp], xmm0
push 0xf070
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 ebx
movss xmm2, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x10101720]
xorps xmm1, xmm1
comiss xmm0, xmm2
movss dword [ebp - 8], xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10054318
movss dword [ebp - 0xc], xmm2
jmp 0x10054325
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 0xc], xmm0
push 0x106
mov ecx, 0x101c3ae8
call fcn.100426f0
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x1010212c]
push eax
push 3
divss xmm0, dword [ebp - 8]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
divss xmm0, dword [ebp - 8]
push eax
push 0x37
cvttss2si eax, xmm0
push eax
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
add esp, 0x1c
comiss xmm0, xmm2
xorps xmm0, xmm0
setae al
movd xmm3, eax
cvtdq2ps xmm3, xmm3
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x100543a1
movaps xmm1, xmm2
jmp 0x100543a9
movss xmm1, dword [0xe7c3d8]
mulss xmm1, dword [0x101020ec]
ucomiss xmm3, xmm0
addss xmm1, dword [ebp - 4]
lahf
divss xmm1, xmm2
movss dword [ebp - 0xc], xmm1
test ah, 0x44
jnp 0x100543cd
movaps xmm0, xmm2
jmp 0x100543d5
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x10101e48]
mov ebx, 0x790b10
push 9
cvttss2si edi, xmm1
divss xmm0, xmm2
cvttss2si esi, xmm0
movss dword [ebp - 8], xmm0
push esi
push 0x36
push edi
call ebx
add esp, 0x10
test al, al
je 0x10054475
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10054475
movss xmm0, dword [ebp - 8]
mov eax, 0x637c60
push 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3e222378
mov dword [esp + 0x18], 0x3f29dda9
mov dword [esp + 0x14], 0x3ea8f5c3
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41100000
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0xc]
mov dword [esp + 4], 0x42580000
movss dword [esp], xmm0
push 0xf072
call eax
mov dword [0x10899ad4], 5
jmp 0x100544e8
push 9
push esi
push 0x36
push edi
call ebx
movss xmm0, dword [ebp - 8]
add esp, 0x10
push 0
push 1
push 1
sub esp, 0x20
test al, al
mov eax, 0x637c60
mov dword [esp + 0x1c], 0x3e222378
mov dword [esp + 0x18], 0x3f29dda9
je 0x100544b1
mov dword [esp + 0x14], 0x3e28f5c3
jmp 0x100544b9
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41100000
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0xc]
mov dword [esp + 4], 0x42580000
movss dword [esp], xmm0
push 0xf072
call eax
movss xmm3, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x10101720]
add esp, 0x30
comiss xmm0, xmm3
xorps xmm1, xmm1
setae al
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jnp 0x1005451b
movaps xmm2, xmm3
jmp 0x10054523
movss xmm2, dword [0xe7c3d8]
mulss xmm2, dword [0x101020dc]
movss xmm0, dword [ebp - 4]
ucomiss xmm4, xmm1
addss xmm2, xmm0
lahf
divss xmm2, xmm3
cvttss2si esi, xmm2
test ah, 0x44
jnp 0x1005454a
movaps xmm2, xmm3
jmp 0x10054552
movss xmm2, dword [0xe7c3d8]
mulss xmm2, dword [0x10101e4c]
mov eax, dword [0x10899aac]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
addss xmm2, xmm0
divss xmm2, xmm3
cvttss2si edi, xmm2
cmp dword [0x10899ab4], eax
jge 0x10054783
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jnp 0x1005458c
movaps xmm0, xmm3
jmp 0x10054594
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x10101ea0]
push 0x19
divss xmm0, xmm3
cvttss2si eax, xmm0
push eax
push 0x90
push esi
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x100546e5
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3d00346e
mov dword [esp + 4], 0x3f1c985f
mov dword [esp], 0x3f72f1aa
call dword [sym.imp.OPENGL32.dll_glColor4f]
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
xorps xmm1, xmm1
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10054617
movaps xmm0, xmm2
jmp 0x1005461f
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x10101e7c]
mov eax, 0x637c60
push 0
push 1
push 1
divss xmm0, xmm2
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f3ae148
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41c80000
movss dword [esp + 8], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x43100000
movss dword [esp], xmm0
push 0x7903
call eax
add esp, 0x30
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10054783
call ebx
sub eax, dword [0x10899ab8]
cmp eax, 0xc8
jbe 0x10054783
mov eax, dword [0x10899ab4]
lea ecx, [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], 0xdbf306c1
mov edx, 6
mov dword [0x10899ab4], eax
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], 0
call fcn.100c4c30
call ebx
mov dword [0x10899ab8], eax
mov dword [0x10899aa8], 0
jmp 0x10054783
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
xorps xmm1, xmm1
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10054715
movaps xmm0, xmm2
jmp 0x1005471d
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x10101e7c]
mov eax, 0x637c60
push 0
push 1
push 1
divss xmm0, xmm2
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f3ae148
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41c80000
movss dword [esp + 8], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x43100000
movss dword [esp], xmm0
push 0x7903
call eax
add esp, 0x30
mov esi, dword [sym.imp.OPENGL32.dll_glColor4f]
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call esi
cmp dword [0x10899ab4], 0
jle 0x100549dd
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
xorps xmm1, xmm1
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100547ea
movaps xmm0, xmm2
jmp 0x100547f2
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x10101ea0]
push 0x19
divss xmm0, xmm2
cvttss2si eax, xmm0
push eax
push 0x8e
push edi
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1005493f
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3d00346e
mov dword [esp + 4], 0x3f1c985f
mov dword [esp], 0x3f72f1aa
call esi
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
xorps xmm1, xmm1
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10054871
movaps xmm0, xmm2
jmp 0x10054879
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x10101e6c]
mov eax, 0x637c60
push 0
push 1
push 1
divss xmm0, xmm2
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f19999a
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41c80000
movss dword [esp + 8], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x430e0000
movss dword [esp], xmm0
push 0x7904
call eax
add esp, 0x30
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x100549dd
call ebx
sub eax, dword [0x10899ab8]
cmp eax, 0xc8
jbe 0x100549dd
mov eax, dword [0x10899ab4]
lea ecx, [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], 0xdbf306c1
mov edx, 6
mov dword [0x10899ab4], eax
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], 0
call fcn.100c4c30
call ebx
mov dword [0x10899ab8], eax
mov dword [0x10899aa8], 0
jmp 0x100549dd
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
xorps xmm1, xmm1
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1005496f
movaps xmm0, xmm2
jmp 0x10054977
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x10101e6c]
mov eax, 0x637c60
push 0
push 1
push 1
divss xmm0, xmm2
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f19999a
mov dword [esp + 0x18], 0x3f19999a
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41c80000
movss dword [esp + 8], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x430e0000
movss dword [esp], xmm0
push 0x7904
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 esi
cmp dword [0x10899aa8], 1
jne 0x10055422
cmp dword [0x10899ac0], 0
jle 0x1005556f
movss xmm1, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x10101720]
comiss xmm0, xmm1
xorps xmm0, xmm0
movss dword [ebp - 0x14], xmm1
setae al
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jnp 0x10054a50
movaps xmm2, xmm1
jmp 0x10054a58
movss xmm2, dword [0xe7c3d8]
mov eax, dword [0x10824d6c]
mulss xmm2, dword [0x101021fc]
add eax, 0x140
ucomiss xmm4, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
lahf
mulss xmm3, xmm1
subss xmm3, xmm2
movss dword [ebp - 8], xmm3
test ah, 0x44
jp 0x10054a8f
movss xmm1, dword [0xe7c3d8]
push 1
mov eax, 0x635fd0
movss dword [ebp - 0xc], xmm1
call eax
movss xmm0, dword [ebp - 0xc]
xor edx, edx
mulss xmm0, dword [0x10101fe8]
mov ecx, dword [0x10899ac0]
movss xmm3, dword [0x10101ee0]
add ecx, 0xfffffdf1
movss xmm2, dword [0x10101e88]
addss xmm0, dword [ebp - 8]
movss xmm1, dword [0x10102060]
push 0
push 0
divss xmm0, dword [ebp - 0x14]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
call fcn.1007d550
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
push ecx
mov dword [esp], 0x3f800000
call esi
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
comiss xmm0, xmm2
xorps xmm0, xmm0
setae al
movd xmm3, eax
cvtdq2ps xmm3, xmm3
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x10054b3f
movaps xmm1, xmm2
jmp 0x10054b47
movss xmm1, dword [0xe7c3d8]
mulss xmm1, dword [0x10101fac]
ucomiss xmm3, xmm0
divss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x10054b61
movaps xmm0, xmm2
jmp 0x10054b69
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x10101f38]
push 0x14
cvttss2si eax, xmm1
addss xmm0, dword [ebp - 4]
push eax
push 0xde
divss xmm0, xmm2
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
mov edi, dword [sym.imp.OPENGL32.dll_glColor3f]
add esp, 0x10
cmp al, 1
jne 0x10054c64
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10054c64
call ebx
sub eax, dword [0x10899ab8]
cmp eax, 0x1f4
jbe 0x10054c64
mov eax, dword [0xe61e18]
cmp eax, 0x12
jl 0x10054bf7
cmp eax, 0x17
jle 0x10054c41
cmp eax, 0x35
je 0x10054c41
cmp dword [0x10899ac4], 0
mov al, byte [0x10899ab4]
mov dword [ebp - 0x13], 0
mov byte [ebp - 0xf], 0
mov dword [ebp - 0x14], 0xdcf306c1
mov byte [ebp - 0x10], al
jg 0x10054c30
cmp dword [0x10899ac8], 0
jg 0x10054c30
cmp dword [0x10899acc], 0
mov byte [ebp - 0xf], 0
jle 0x10054c34
mov byte [ebp - 0xf], 1
mov edx, 6
lea ecx, [ebp - 0x14]
call fcn.100c4c30
call ebx
sub esp, 0xc
mov dword [0x10899ab8], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
comiss xmm0, xmm2
xorps xmm0, xmm0
setae al
movd xmm3, eax
cvtdq2ps xmm3, xmm3
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x10054c94
movaps xmm1, xmm2
jmp 0x10054c9c
movss xmm1, dword [0xe7c3d8]
mulss xmm1, dword [0x10101f38]
ucomiss xmm3, xmm0
addss xmm1, dword [ebp - 4]
lahf
test ah, 0x44
jnp 0x10054cb7
movaps xmm3, xmm2
jmp 0x10054cbf
movss xmm3, dword [0xe7c3d8]
mulss xmm3, dword [0x10101fac]
mov eax, 0x637c60
push 0
divss xmm1, xmm2
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41a00000
divss xmm3, xmm2
movss dword [esp + 8], xmm3
mov dword [esp + 4], 0x435e0000
movss dword [esp], xmm1
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 esi
mov eax, dword [0x10899ac4]
test eax, eax
jg 0x10054e71
cmp dword [0x10899ac8], 0
jg 0x10054e71
cmp dword [0x10899acc], 0
jg 0x10054e71
movss xmm2, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x10101720]
xorps xmm1, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x14], xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10054da1
movss dword [ebp - 0xc], xmm2
jmp 0x10054dae
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 0xc], xmm0
push 0x107
mov ecx, 0x101c3ae8
call fcn.100426f0
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x1010212c]
push eax
push 3
divss xmm0, dword [ebp - 0x14]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
divss xmm0, dword [ebp - 0x14]
push eax
push 0xc5
cvttss2si eax, xmm0
push eax
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
movss xmm2, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x10101720]
add esp, 0x1c
comiss xmm0, xmm2
xorps xmm1, xmm1
movss dword [ebp - 0x14], xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10054e34
movss dword [ebp - 8], xmm2
jmp 0x10054e41
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 8], xmm0
push 0x109
mov ecx, 0x101c3ae8
call fcn.100426f0
movss xmm0, dword [ebp - 8]
mulss xmm0, dword [0x1010212c]
movss xmm1, dword [ebp - 4]
divss xmm1, dword [ebp - 0x14]
divss xmm0, dword [ebp - 0x14]
jmp 0x10055167
movss xmm2, dword [0xe7c3d4]
test eax, eax
movss xmm0, dword [ebp - 4]
mov esi, 0x78
divss xmm0, xmm2
mov ecx, 0x6e
cmovg esi, ecx
xor eax, eax
xorps xmm1, xmm1
movss dword [ebp - 0x14], xmm2
movss dword [ebp - 8], xmm0
movss xmm0, dword [0x10101720]
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10054ec5
movss dword [ebp - 0xc], xmm2
jmp 0x10054ed2
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 0xc], xmm0
push 0xa
mov ecx, 0x101c3ae8
call fcn.100426f0
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x1010212c]
push eax
push 3
push 0
divss xmm0, dword [ebp - 0x14]
push 0xff19bdff
push dword [0xe8c58c]
cvttss2si eax, xmm0
push eax
cvttss2si eax, dword [ebp - 8]
push 0xb1
push eax
push 0x102ba770
call fcn.10077f30
mov ecx, dword [0x10899ac4]
add esp, 0x24
test ecx, ecx
jle 0x10054fbb
movss xmm2, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x10101720]
xorps xmm1, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x14], xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10054f62
movss dword [ebp - 0xc], xmm2
jmp 0x10054f6f
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 0xc], xmm0
push ecx
push 0xb
mov ecx, 0x101c3ae8
call fcn.100426f0
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x1010212c]
push eax
push 3
divss xmm0, dword [ebp - 0x14]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
divss xmm0, dword [ebp - 0x14]
push eax
lea eax, [esi + 0x4d]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077e60
add esp, 0x20
add esi, 0xa
mov ecx, dword [0x10899ac8]
test ecx, ecx
jle 0x10055059
movss xmm2, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x10101720]
xorps xmm1, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x14], xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10055000
movss dword [ebp - 0xc], xmm2
jmp 0x1005500d
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 0xc], xmm0
push ecx
push 0xc
mov ecx, 0x101c3ae8
call fcn.100426f0
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x1010212c]
push eax
push 3
divss xmm0, dword [ebp - 0x14]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
divss xmm0, dword [ebp - 0x14]
push eax
lea eax, [esi + 0x4d]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077e60
add esp, 0x20
add esi, 0xa
mov ecx, dword [0x10899acc]
test ecx, ecx
jle 0x100550f4
movss xmm2, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x10101720]
xorps xmm1, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x14], xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1005509e
movss dword [ebp - 0xc], xmm2
jmp 0x100550ab
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 0xc], xmm0
push ecx
push 0xd
mov ecx, 0x101c3ae8
call fcn.100426f0
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x1010212c]
push eax
push 3
divss xmm0, dword [ebp - 0x14]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
divss xmm0, dword [ebp - 0x14]
push eax
lea eax, [esi + 0x4d]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102ba770
call fcn.10077e60
add esp, 0x20
movss xmm0, dword [0xe7c3d4]
xor eax, eax
movss xmm2, dword [0x10101720]
xorps xmm1, xmm1
comiss xmm2, xmm0
movss dword [ebp - 8], xmm0
movss dword [ebp - 0x14], xmm0
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10055136
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 8], xmm0
push 0x108
mov ecx, 0x101c3ae8
call fcn.100426f0
movss xmm0, dword [ebp - 8]
mulss xmm0, dword [0x1010212c]
mov esi, dword [sym.imp.OPENGL32.dll_glColor4f]
movss xmm1, dword [ebp - 4]
divss xmm1, dword [ebp - 0x14]
divss xmm0, dword [ebp - 0x14]
push eax
push 3
push 0
cvttss2si eax, xmm0
push 0xff19bdff
push dword [0xe8c58c]
push eax
cvttss2si eax, xmm1
push 0xe4
push eax
push 0x102ba770
call fcn.10077f30
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
add esp, 0x24
comiss xmm0, xmm2
xorps xmm0, xmm0
setae al
movd xmm3, eax
cvtdq2ps xmm3, xmm3
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x100551c3
movaps xmm1, xmm2
jmp 0x100551cb
movss xmm1, dword [0xe7c3d8]
mulss xmm1, dword [0x10101fac]
ucomiss xmm3, xmm0
divss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x100551e5
movaps xmm0, xmm2
jmp 0x100551ed
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x10101f38]
push 0x14
cvttss2si eax, xmm1
addss xmm0, dword [ebp - 4]
push eax
push 0xf7
divss xmm0, xmm2
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x100552a1
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call edi
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x100552a1
call ebx
sub eax, dword [0x10899ab8]
cmp eax, 0x1f4
jbe 0x100552a1
mov dword [ebp - 0x13], 0
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x12], 0xddf3
mov edx, 6
mov word [ebp - 0x14], 0x6c1
mov byte [ebp - 0xf], 0
call fcn.100c4c30
call ebx
sub esp, 0xc
mov dword [0x10899ab8], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
movss xmm0, dword [0x10101720]
xor eax, eax
movss xmm2, dword [0xe7c3d4]
comiss xmm0, xmm2
xorps xmm0, xmm0
setae al
movd xmm3, eax
cvtdq2ps xmm3, xmm3
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x100552d1
movaps xmm1, xmm2
jmp 0x100552d9
movss xmm1, dword [0xe7c3d8]
mulss xmm1, dword [0x10101fac]
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x100552ef
movaps xmm0, xmm2
jmp 0x100552f7
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x10101f38]
mov eax, 0x637c60
push 0
divss xmm1, xmm2
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41a00000
addss xmm0, dword [ebp - 4]
movss dword [esp + 8], xmm1
mov dword [esp + 4], 0x43770000
divss xmm0, xmm2
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 esi
movss xmm2, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x10101720]
xorps xmm1, xmm1
comiss xmm0, xmm2
movss dword [ebp - 0x14], xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100553b7
movss dword [ebp - 0xc], xmm2
jmp 0x100553c4
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 0xc], xmm0
push 0x10a
mov ecx, 0x101c3ae8
call fcn.100426f0
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x1010212c]
push eax
push 3
push 0
divss xmm0, dword [ebp - 0x14]
push 0xff19bdff
push dword [0xe8c58c]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
divss xmm0, dword [ebp - 0x14]
push eax
push 0xfd
cvttss2si eax, xmm0
push eax
push 0x102ba770
call fcn.10077f30
add esp, 0x24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x10899ab0]
mov ecx, 0x101c3ae8
cmp eax, 1
jne 0x1005546f
push 0x100fe23c
push 0x85
call fcn.100426f0
push eax
push 1
push 0x34
push 0x8e
push 0x6a
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov dword [0x10899ab0], 2
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x100554b2
push 0x100fe240
push 0x85
call fcn.100426f0
push eax
push 1
push 0x34
push 0x8e
push 0x6a
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov dword [0x10899ab0], 3
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x100554f5
push str.....
push 0x85
call fcn.100426f0
push eax
push 1
push 0x34
push 0x8e
push 0x6a
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov dword [0x10899ab0], 4
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 4
jne 0x10055538
push str......
push 0x85
call fcn.100426f0
push eax
push 1
push 0x34
push 0x8e
push 0x6a
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov dword [0x10899ab0], 0
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x100fe254
push 0x85
call fcn.100426f0
push eax
push 1
push 0x34
push 0x8e
push 0x6a
push 0xff19bdff
push 0x102ba770
call fcn.10077e60
mov dword [0x10899ab0], 1
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret