Function at 0x10056090
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 [0x102bc178], 1
jne 0x10056505
call fcn.1006ed10
test al, al
jne 0x10056505
call fcn.1006ee30
test al, al
jne 0x10056505
push ebx
push esi
push 0x41
mov ebx, 0x861110
call ebx
mov esi, 0x85ec20
mov ecx, eax
call esi
test al, al
jne 0x10056503
push 0x39
call ebx
mov ecx, eax
call esi
test al, al
jne 0x10056503
push 0x48
call ebx
mov ecx, eax
call esi
test al, al
jne 0x10056503
movss xmm1, dword [0x100e6e30]
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 0x10056129
movaps xmm2, xmm0
jmp 0x10056131
movss xmm2, dword [0xe7c3d8]
mulss xmm2, dword [0x100e752c]
movaps xmm3, xmm0
mulss xmm3, dword [0x100e7750]
ucomiss xmm4, xmm1
divss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10056156
movaps xmm1, xmm0
jmp 0x1005615e
movss xmm1, dword [0xe7c3d8]
mulss xmm1, dword [0x100e7468]
push edi
cvttss2si eax, xmm2
push 0xe
addss xmm1, xmm3
push eax
push 2
divss xmm1, xmm0
movd xmm0, dword [0x107dce38]
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 0x10056323
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]
bt ax, 0xf
jae 0x10056323
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x1087c370]
cmp eax, 0x12c
jbe 0x10056323
cmp dword [0x102bc178], 1
jne 0x100562f8
push 0x15
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x100562f8
push 0x49
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x100562f8
push 0x4f
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x100562f8
push 0xe
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x100562f8
push 8
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x100562f8
push 7
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x100562f8
push 0x41
call ebx
mov ecx, eax
mov eax, 0x85ec20
call eax
test al, al
jne 0x100562f8
call esi
sub eax, dword [0x1029af48]
cmp eax, 0x5dc
jb 0x100562f8
cmp byte [0x1029af4d], 1
jne 0x100562c8
mov byte [0x1029af4d], 0
mov dword [0xe8cb3c], 0
mov byte [0x1087c378], 0
mov dword [0x1087c350], 0
jmp 0x100562f8
mov dword [ebp - 0x13], 0
lea ecx, [ebp - 0x14]
mov edx, 5
mov dword [0x1087c360], 0
mov byte [0x1029af4d], 1
mov dword [ebp - 0x14], 0xe8f305c1
mov byte [ebp - 0x10], 0x1d
call fcn.100aba10
call esi
sub esp, 0x10
mov dword [0x1087c370], 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 [0x100e6e30]
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 0x10056353
movaps xmm2, xmm3
jmp 0x1005635b
movss xmm2, dword [0xe7c3d8]
mulss xmm2, dword [0x100e7504]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x10056371
movaps xmm4, xmm3
jmp 0x10056379
movss xmm4, dword [0xe7c3d8]
movss xmm1, dword [0xe7c3d8]
mov eax, 0x637c60
mulss xmm4, dword [0x100e7468]
movaps xmm0, xmm1
push 0
mulss xmm0, dword [0x100e73dc]
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 [0x100e7750]
movss dword [esp + 0xc], xmm0
movd xmm0, dword [0x107dce38]
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 [0x100e6e30]
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 0x10056466
movaps xmm0, xmm1
jmp 0x1005646e
movss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x100e752c]
ucomiss xmm3, xmm2
divss xmm0, xmm1
lahf
movss dword [ebp - 8], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100e7750]
movss dword [ebp - 0xc], xmm0
test ah, 0x44
jnp 0x1005649f
movss dword [ebp - 4], xmm1
jmp 0x100564ac
movss xmm0, dword [0xe7c3d8]
movss dword [ebp - 4], xmm0
push 0x152
mov ecx, 0x101a8848
call fcn.1003fea0
movss xmm1, dword [ebp - 4]
mulss xmm1, dword [0x100e7458]
push eax
movd xmm0, dword [0x107dce38]
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 0x10297260
call fcn.1006a050
add esp, 0x1c
pop esi
pop ebx
mov esp, ebp
pop ebp
ret