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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x10664020], 0
je 0x10025ff6
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push edi
call ebx
sub eax, dword [0x10664004]
cmp eax, 0x3e8
jbe 0x10025c16
xor ebx, ebx
mov edi, 0x10663f04
mov eax, dword [edi - 4]
cmp eax, dword [edi]
je 0x10025b32
nop dword [eax]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jle 0x10025b2b
dec ecx
mov dword [eax + 0xc], ecx
add eax, 0x10
cmp eax, dword [edi]
jne 0x10025b20
cmp dword [edi - 0x34], 0xffffffff
je 0x10025bf9
mov eax, dword [edi - 0x10]
test eax, eax
jle 0x10025b4c
dec eax
mov dword [edi - 0x10], eax
jmp 0x10025bf9
cmp ebx, 4
jge 0x10025baa
lea esi, [edi + 0x2c]
mov eax, dword [esi - 0x24]
lea ecx, [esi - 0x5c]
mov dword [esi - 0x60], eax
mov edx, 0x20
mov al, byte [ecx + 0x3c]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
sub edx, 1
jne 0x10025b62
mov eax, dword [esi]
lea ecx, [esi + 0xc]
mov dword [esi - 0x3c], eax
mov eax, dword [esi + 4]
mov dword [esi - 0x38], eax
mov eax, dword [esi + 8]
mov dword [esi - 0x34], eax
lea eax, [esi - 0x30]
cmp eax, ecx
je 0x10025b9f
mov ecx, dword [ecx]
mov eax, dword [esi + 0x10]
sub eax, ecx
sar eax, 4
push eax
push ecx
lea ecx, [esi - 0x30]
call fcn.10027320
add esi, 0x3c
cmp esi, 0x10664020
jl 0x10025b54
mov eax, dword [0x10663ff0]
mov dword [0x10663fc0], 0xffffffff
mov dword [0x10663fe4], 0
mov dword [0x10663fe8], 0xffffffff
cmp eax, dword [0x10663ff4]
je 0x10025bda
mov dword [0x10663ff4], eax
xorps xmm0, xmm0
movups xmmword [0x10663fc4], xmm0
movups xmmword [0x10663fd4], xmm0
cmp dword [0x10664028], ebx
jle 0x10025bf9
dec dword [0x10664028]
add edi, 0x3c
inc ebx
cmp edi, 0x10664030
jl 0x10025b16
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov dword [0x10664004], eax
xor eax, eax
cmp dword [0x10663ed0], 0xffffffff
setne al
cmp dword [0x10663f0c], 0xffffffff
lea ecx, [eax + 1]
cmove ecx, eax
cmp dword [0x10663f48], 0xffffffff
lea eax, [ecx + 1]
cmove eax, ecx
cmp dword [0x10663f84], 0xffffffff
lea ecx, [eax + 1]
cmove ecx, eax
cmp dword [0x10663fc0], 0xffffffff
lea eax, [ecx + 1]
cmove eax, ecx
test eax, eax
jne 0x10025c70
pop edi
pop esi
mov dword [0x1066401c], eax
mov dword [0x10664020], eax
mov dword [0x10664028], eax
pop ebx
mov esp, ebp
pop ebp
ret
push 0x41
mov esi, 0x7fc95b
call esi
mov edi, 0x7fb628
mov ecx, eax
call edi
test al, al
jne 0x10025ff3
push 0x39
call esi
mov ecx, eax
call edi
test al, al
jne 0x10025ff3
push 0x48
call esi
mov ecx, eax
call edi
test al, al
jne 0x10025ff3
cmp dword [0x10663ffc], 1
mov esi, dword [sym.imp.OPENGL32.dll_glColor4f]
jne 0x10025d04
call ebx
sub eax, dword [0x10664000]
cmp eax, 0x2bc
jae 0x10025cee
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f53d07d
mov dword [esp + 4], 0x3f53d07d
mov dword [esp], 0x3f53d07d
call esi
jmp 0x10025d04
call ebx
sub eax, dword [0x10664000]
cmp eax, 0x578
jbe 0x10025d04
call ebx
mov dword [0x10664000], eax
cmp dword [0x10664018], 0
xorps xmm3, xmm3
movss xmm5, dword [0x100bcae0]
movss xmm6, dword [0x100bcc7c]
jne 0x10025e38
movss xmm1, dword [0x11b3794]
xor eax, eax
movss xmm0, dword [0x100bc6ac]
comiss xmm0, xmm1
setae al
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jnp 0x10025d51
movaps xmm2, xmm1
jmp 0x10025d59
movss xmm2, dword [0x11b3798]
ucomiss xmm4, xmm3
mulss xmm2, xmm5
movaps xmm0, xmm1
lahf
mulss xmm0, xmm6
divss xmm2, xmm1
test ah, 0x44
jnp 0x10025d76
movaps xmm3, xmm1
jmp 0x10025d7e
movss xmm3, dword [0x11b3798]
mulss xmm3, dword [0x100bca58]
push 0xe
cvttss2si eax, xmm2
subss xmm0, xmm3
push eax
push 2
divss xmm0, xmm1
cvttss2si eax, xmm0
push eax
mov eax, 0x799756
call eax
add esp, 0x10
cmp al, 1
jne 0x10025e25
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f666666
mov dword [esp + 4], 0x3f666666
mov dword [esp], 0x3f666666
call esi
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10025e25
call ebx
sub eax, dword [0x10663ec8]
cmp eax, 0x12c
jbe 0x10025e25
xor eax, eax
cmp dword [0x1066401c], eax
sete al
mov dword [0x1066401c], eax
call ebx
sub esp, 0x10
mov dword [0x10663ec8], eax
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
call esi
movss xmm6, dword [0x100bcc7c]
xorps xmm3, xmm3
movss xmm5, dword [0x100bcae0]
movss xmm0, dword [0x100bc6ac]
xor eax, eax
movss xmm4, dword [0x11b3794]
comiss xmm0, xmm4
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x10025e65
movaps xmm2, xmm4
jmp 0x10025e6d
movss xmm2, dword [0x11b3798]
ucomiss xmm0, xmm3
mulss xmm2, xmm5
lahf
test ah, 0x44
jnp 0x10025e7f
movaps xmm3, xmm4
jmp 0x10025e87
movss xmm3, dword [0x11b3798]
movss xmm1, dword [0x11b3798]
mov eax, 0x631289
movaps xmm0, xmm1
mulss xmm3, dword [0x100bca4c]
push ecx
mulss xmm0, dword [0x100bc9f0]
mov dword [esp], 0
push 1
push 1
divss xmm0, xmm1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x18], 0x3f5eb852
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
divss xmm2, xmm4
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm6
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x3f800000
subss xmm0, xmm3
divss xmm0, xmm4
movss dword [esp], xmm0
push 0x787f
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 xmm1, dword [0x11b3794]
xor eax, eax
movss xmm0, dword [0x100bc6ac]
xorps xmm2, xmm2
comiss xmm0, xmm1
movss dword [ebp - 0x10], xmm1
setae al
movd xmm3, eax
cvtdq2ps xmm3, xmm3
ucomiss xmm3, xmm2
lahf
test ah, 0x44
jnp 0x10025f66
movaps xmm0, xmm1
jmp 0x10025f6e
movss xmm0, dword [0x11b3798]
mulss xmm0, dword [0x100bcb00]
ucomiss xmm3, xmm2
divss xmm0, xmm1
lahf
movss dword [ebp - 8], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100bcc7c]
movss dword [ebp - 0xc], xmm0
test ah, 0x44
jp 0x10025fa0
movss xmm1, dword [0x11b3798]
push 0x105
mov ecx, 0x10173658
movss dword [ebp - 4], xmm1
call fcn.10036b80
movss xmm1, dword [ebp - 4]
mulss xmm1, dword [0x100bca58]
push eax
movss xmm0, dword [ebp - 0xc]
cvttss2si eax, dword [ebp - 8]
push 0
push 3
subss xmm0, xmm1
push eax
push 4
divss xmm0, dword [ebp - 0x10]
cvttss2si eax, xmm0
push eax
push 0xff19bdff
push 0x1023cd58
call fcn.100607a0
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret