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

Disassembly:
cmp dword [0x10095b44], 0
je 0x10017f53
mov ecx, dword [0x10095904]
sub ecx, dword [0x10097950]
add ecx, dword [0x10097a7c]
mov eax, dword [0x10097b18]
mov ecx, dword [ecx + eax]
call fcn.10008970
test eax, eax
jle 0x10017f53
mov eax, dword [0x10097c68]
cmp dword [eax], 1
jne 0x10017f53
mov eax, dword [0x10095be8]
cmp dword [eax], 0
je 0x10017f53
mov cl, byte [0x100959e3]
mov al, byte [0x10095a7c]
test cl, cl
je 0x10017d41
test al, al
jne 0x10017d41
mov eax, dword [0x10095788]
mov byte [0x10095a7c], 1
movss xmm0, dword [eax + 0x11c]
movss dword [0x100958d4], xmm0
jmp 0x10017d45
cmp al, 1
jne 0x10017d4c
mov byte [0x10095b34], 1
test cl, cl
jne 0x10017d5c
mov byte [0x10095a7c], cl
mov byte [0x10095b34], cl
mov eax, dword [0x10095b44]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
cmp eax, 1
jne 0x10017e3b
push 0x20
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x10017dcd
cmp byte [0x10098578], 0
je 0x10017da5
cmp dword [0x1009857c], 0
je 0x10017dd4
call esi
mov ecx, dword [0x1009857c]
add ecx, 0xa
cmp ecx, eax
ja 0x10017dd4
mov byte [0x10098578], 1
call esi
movss xmm0, dword [0x100958d4]
addss xmm0, dword [0x1008ecf8]
mov dword [0x1009857c], eax
movss dword [0x100958d4], xmm0
jmp 0x10017dd4
mov byte [0x10098578], 0
push 0xa2
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x10017ef8
cmp byte [0x10098988], 0
je 0x10017e10
cmp dword [0x1009898c], 0
je 0x10017eff
call esi
mov ecx, dword [0x1009898c]
add ecx, 0xa
cmp ecx, eax
ja 0x10017eff
mov byte [0x10098988], 1
call esi
movss xmm0, dword [0x100958d4]
subss xmm0, dword [0x1008ecf8]
mov dword [0x1009898c], eax
movss dword [0x100958d4], xmm0
jmp 0x10017eff
cmp eax, 2
jne 0x10017eff
push 0x20
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x10017e99
cmp byte [0x10098578], 0
je 0x10017e71
cmp dword [0x1009857c], 0
je 0x10017ea0
call esi
mov ecx, dword [0x1009857c]
add ecx, 0xa
cmp ecx, eax
ja 0x10017ea0
mov byte [0x10098578], 1
call esi
movss xmm0, dword [0x100958d4]
addss xmm0, dword [0x1008ecf4]
mov dword [0x1009857c], eax
movss dword [0x100958d4], xmm0
jmp 0x10017ea0
mov byte [0x10098578], 0
push 0xa2
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x10017ef8
cmp byte [0x10098988], 0
je 0x10017ed0
cmp dword [0x1009898c], 0
je 0x10017eff
call esi
mov ecx, dword [0x1009898c]
add ecx, 0xa
cmp ecx, eax
ja 0x10017eff
mov byte [0x10098988], 1
call esi
movss xmm0, dword [0x100958d4]
subss xmm0, dword [0x1008ecf4]
mov dword [0x1009898c], eax
movss dword [0x100958d4], xmm0
jmp 0x10017eff
mov byte [0x10098988], 0
push 0x45
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x10017f4a
cmp byte [0x100986a0], 0
je 0x10017f2c
cmp dword [0x100986a4], 0
je 0x10017f51
call esi
mov ecx, dword [0x100986a4]
add ecx, 0x64
cmp ecx, eax
ja 0x10017f51
mov byte [0x100986a0], 1
call esi
cmp byte [0x100959e3], 0
mov dword [0x100986a4], eax
sete byte [0x100959e3]
jmp 0x10017f51
mov byte [0x100986a0], 0
pop edi
pop esi
mov eax, dword [0x10097c68]
mov eax, dword [eax]
cmp eax, 5
je 0x10017f88
cmp eax, 4
je 0x10017f88
mov ecx, dword [0x10095904]
sub ecx, dword [0x10097950]
add ecx, dword [0x10097a7c]
mov eax, dword [0x10097b18]
mov ecx, dword [ecx + eax]
call fcn.10008970
cmp eax, 1
jge 0x10017f8f
mov byte [0x100959e3], 0
ret