Function at 0x100587b0
Capabilities:
Check for time delay via gettickcount
Contain obfuscated stackstrings
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp dword [0x102c7208], 1
jne 0x10058c23
call fcn.100713e0
test al, al
jne 0x10058c23
call fcn.10071520
test al, al
jne 0x10058c23
push ebx
push esi
push 0x41
mov ebx, 0x861110
call ebx
mov esi, 0x85ec20
mov ecx, eax
call esi
test al, al
jne 0x10058c21
push 0x39
call ebx
mov ecx, eax
call esi
test al, al
jne 0x10058c21
push 0x48
call ebx
mov ecx, eax
call esi
test al, al
jne 0x10058c21
movss xmm1, dword [0x100f1590]
xor eax, eax
movss xmm0, dword [0xe7c3d4]
comiss xmm1, xmm0
xorps xmm1, xmm1
setae al
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jnp 0x10058849
movaps xmm2, xmm0
jmp 0x10058851
movss xmm2, dword [0xe7c3d8]
mulss xmm2, dword [0x100f1e18]
movaps xmm3, xmm0
mulss xmm3, dword [0x100f2054]
ucomiss xmm4, xmm1
divss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10058876
movaps xmm1, xmm0
jmp 0x1005887e
movss xmm1, dword [0xe7c3d8]
mulss xmm1, dword [0x100f1d50]
push edi
cvttss2si eax, xmm2
push 0xe
addss xmm1, xmm3
push eax
push 2
divss xmm1, xmm0
movd xmm0, dword [0x107e7b70]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
push eax
mov eax, 0x790b10
call eax
mov edi, dword [sym.imp.OPENGL32.dll_glColor4f]
add esp, 0x10
cmp al, 1
jne 0x10058a41
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f666666
mov dword [esp + 4], 0x3f666666
mov dword [esp], 0x3f666666
call edi
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10058a41
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x108871e0]
cmp eax, 0x12c
jbe 0x10058a41
cmp dword [0x102c7208], 1
jne 0x10058a16
push 0x15
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x10058a16
push 0x49
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x10058a16
push 0x4f
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x10058a16
push 0xe
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x10058a16
push 8
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x10058a16
push 7
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x10058a16
push 0x41
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x10058a16
call esi
sub eax, dword [0x102a5f98]
cmp eax, 0x5dc
jb 0x10058a16
cmp byte [0x102a5f9d], 1
jne 0x100589e6
mov byte [0x102a5f9d], 0
mov dword [0xe8cb3c], 0
mov byte [0x108871e8], 0
mov dword [0x108871c0], 0
jmp 0x10058a16
mov dword [ebp - 0x13], 0
lea ecx, [ebp - 0x14]
mov edx, 5
mov dword [0x108871d0], 0
mov byte [0x102a5f9d], 1
mov dword [ebp - 0x14], 0xe8f305c1
mov byte [ebp - 0x10], 0x1d
call fcn.100b5210
call esi
sub esp, 0x10
mov dword [0x108871e0], eax
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call edi
movss xmm0, dword [0x100f1590]
xor eax, eax
movss xmm3, dword [0xe7c3d4]
comiss xmm0, xmm3
xorps xmm0, xmm0
setae al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x10058a71
movaps xmm2, xmm3
jmp 0x10058a79
movss xmm2, dword [0xe7c3d8]
mulss xmm2, dword [0x100f1df0]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x10058a8f
movaps xmm4, xmm3
jmp 0x10058a97
movss xmm4, dword [0xe7c3d8]
movss xmm1, dword [0xe7c3d8]
mov eax, 0x637c60
mulss xmm4, dword [0x100f1d50]
movaps xmm0, xmm1
push 0
mulss xmm0, dword [0x100f1cc4]
push 1
divss xmm2, xmm3
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x18], 0x3f5eb852
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
divss xmm0, xmm1
movaps xmm1, xmm3
mulss xmm1, dword [0x100f2054]
movss dword [esp + 0xc], xmm0
movd xmm0, dword [0x107e7b70]
addss xmm1, xmm4
movss dword [esp + 8], xmm2
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x3f800000
divss xmm1, xmm3
addss xmm1, xmm0
movss dword [esp], xmm1
push 0xf077
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 edi
movss xmm1, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x100f1590]
xorps xmm2, xmm2
comiss xmm0, xmm1
pop edi
movss dword [ebp - 0x14], xmm1
setae al
movd xmm3, eax
cvtdq2ps xmm3, xmm3
ucomiss xmm3, xmm2
lahf
test ah, 0x44
jnp 0x10058b84
movaps xmm0, xmm1
jmp 0x10058b8c
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x100f1e18]
ucomiss xmm3, xmm2
divss xmm0, xmm1
lahf
movss dword [ebp - 8], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100f2054]
movss dword [ebp - 0xc], xmm0
test ah, 0x44
jnp 0x10058bbd
movss dword [ebp - 4], xmm1
jmp 0x10058bca
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 4], xmm0
push 0x152
mov ecx, 0x101b3888
call fcn.10042340
movss xmm1, dword [ebp - 4]
mulss xmm1, dword [0x100f1d40]
push eax
movd xmm0, dword [0x107e7b70]
cvttss2si eax, dword [ebp - 8]
push 3
addss xmm1, dword [ebp - 0xc]
cvtdq2ps xmm0, xmm0
push eax
push 4
divss xmm1, dword [ebp - 0x14]
addss xmm1, xmm0
cvttss2si eax, xmm1
push eax
push 0xff19bdff
push 0x102a22b0
call fcn.1006ca30
add esp, 0x1c
pop esi
pop ebx
mov esp, ebp
pop ebp
ret