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

Disassembly:
cmp dword [0x10089460], 0
je 0x10010083
mov ecx, dword [0x10089230]
sub ecx, dword [0x1008a84c]
add ecx, dword [0x1008a97c]
mov eax, dword [0x1008aa10]
mov ecx, dword [ecx + eax]
call fcn.100082e0
test eax, eax
jle 0x10010083
mov eax, dword [0x1008ab60]
cmp dword [eax], 1
jne 0x10010083
mov eax, dword [0x10089500]
cmp dword [eax], 0
je 0x10010083
mov cl, byte [0x10089307]
mov al, byte [0x10089314]
test cl, cl
je 0x1000fe71
test al, al
jne 0x1000fe71
mov eax, dword [0x100890c8]
mov byte [0x10089314], 1
movss xmm0, dword [eax + 0x11c]
movss dword [0x10089204], xmm0
jmp 0x1000fe75
cmp al, 1
jne 0x1000fe7c
mov byte [0x1008935f], 1
test cl, cl
jne 0x1000fe8c
mov byte [0x10089314], cl
mov byte [0x1008935f], cl
mov eax, dword [0x10089460]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
cmp eax, 1
jne 0x1000ff6b
push 0x20
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x1000fefd
cmp byte [0x1008b468], 0
je 0x1000fed5
cmp dword [0x1008b46c], 0
je 0x1000ff04
call esi
mov ecx, dword [0x1008b46c]
add ecx, 0xa
cmp ecx, eax
ja 0x1000ff04
mov byte [0x1008b468], 1
call esi
movss xmm0, dword [0x10089204]
addss xmm0, dword [0x1008368c]
mov dword [0x1008b46c], eax
movss dword [0x10089204], xmm0
jmp 0x1000ff04
mov byte [0x1008b468], 0
push 0xa2
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x10010028
cmp byte [0x1008b878], 0
je 0x1000ff40
cmp dword [0x1008b87c], 0
je 0x1001002f
call esi
mov ecx, dword [0x1008b87c]
add ecx, 0xa
cmp ecx, eax
ja 0x1001002f
mov byte [0x1008b878], 1
call esi
movss xmm0, dword [0x10089204]
subss xmm0, dword [0x1008368c]
mov dword [0x1008b87c], eax
movss dword [0x10089204], xmm0
jmp 0x1001002f
cmp eax, 2
jne 0x1001002f
push 0x20
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x1000ffc9
cmp byte [0x1008b468], 0
je 0x1000ffa1
cmp dword [0x1008b46c], 0
je 0x1000ffd0
call esi
mov ecx, dword [0x1008b46c]
add ecx, 0xa
cmp ecx, eax
ja 0x1000ffd0
mov byte [0x1008b468], 1
call esi
movss xmm0, dword [0x10089204]
addss xmm0, dword [0x10083688]
mov dword [0x1008b46c], eax
movss dword [0x10089204], xmm0
jmp 0x1000ffd0
mov byte [0x1008b468], 0
push 0xa2
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x10010028
cmp byte [0x1008b878], 0
je 0x10010000
cmp dword [0x1008b87c], 0
je 0x1001002f
call esi
mov ecx, dword [0x1008b87c]
add ecx, 0xa
cmp ecx, eax
ja 0x1001002f
mov byte [0x1008b878], 1
call esi
movss xmm0, dword [0x10089204]
subss xmm0, dword [0x10083688]
mov dword [0x1008b87c], eax
movss dword [0x10089204], xmm0
jmp 0x1001002f
mov byte [0x1008b878], 0
push 0x45
call edi
cwde
shr eax, 0x10
test eax, eax
je 0x1001007a
cmp byte [0x1008b590], 0
je 0x1001005c
cmp dword [0x1008b594], 0
je 0x10010081
call esi
mov ecx, dword [0x1008b594]
add ecx, 0x64
cmp ecx, eax
ja 0x10010081
mov byte [0x1008b590], 1
call esi
cmp byte [0x10089307], 0
mov dword [0x1008b594], eax
sete byte [0x10089307]
jmp 0x10010081
mov byte [0x1008b590], 0
pop edi
pop esi
mov eax, dword [0x1008ab60]
mov eax, dword [eax]
cmp eax, 5
je 0x100100b8
cmp eax, 4
je 0x100100b8
mov ecx, dword [0x10089230]
sub ecx, dword [0x1008a84c]
add ecx, dword [0x1008a97c]
mov eax, dword [0x1008aa10]
mov ecx, dword [ecx + eax]
call fcn.100082e0
cmp eax, 1
jge 0x100100bf
mov byte [0x10089307], 0
ret