Function at 0x10001290
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x10009018]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push esi
push edi
push 0x28
call ebx
test al, 1
je 0x100012b7
inc dword [0x10faa3c4]
push 0x26
call ebx
test al, 1
je 0x100012d2
mov eax, 1
cmp dword [0x10faa3c4], eax
jle 0x100012d2
sub dword [0x10faa3c4], eax
push 0x27
call ebx
test al, 1
je 0x1000131c
mov eax, dword [0x10fa9a70]
inc eax
xor edi, edi
test eax, eax
jle 0x1000131c
mov esi, 0x10fa9a80
jmp 0x100012f0
mov ecx, dword [0x10faa3c4]
cmp ecx, dword [esi - 8]
jne 0x1000130e
mov eax, dword [esi]
mov edx, dword [eax]
cmp edx, dword [esi + 4]
jge 0x10001306
inc dword [eax]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x10fa9a70]
inc edi
inc eax
add esi, 0x18
cmp edi, eax
jl 0x100012f0
push 0x25
call ebx
test al, 1
je 0x1000136a
mov ecx, dword [0x10fa9a70]
inc ecx
xor edi, edi
test ecx, ecx
jle 0x1000136a
mov esi, 0x10fa9a80
jmp 0x10001340
mov edx, dword [0x10faa3c4]
cmp edx, dword [esi - 8]
jne 0x1000135c
mov eax, dword [esi]
cmp dword [eax], 0
jle 0x10001354
dec dword [eax]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x10fa9a70]
inc edi
inc eax
add esi, 0x18
cmp edi, eax
jl 0x10001340
mov edx, dword [0x10fa9a70]
inc edx
test edx, edx
jle 0x1000139f
mov esi, dword [0x10faa3c4]
mov eax, 0x10fa9a8c
mov ecx, edx
mov edi, esi
sub edi, dword [eax - 0x14]
neg edi
sbb edi, edi
and edi, 0xff802800
add edi, 0xffffd700
mov dword [eax], edi
add eax, 0x18
dec ecx
jne 0x10001382
mov edi, dword [sym.imp.USER32.dll_SetRect]
mov ebx, 1
cmp edx, ebx
jle 0x10001460
mov esi, 0x10fa9a90
jmp 0x100013c0
cmp dword [esi + 0x10], 0
jne 0x1000144e
mov ecx, dword [esi + 8]
cmp dword [ecx], 1
mov ecx, dword [esi]
mov eax, ecx
jne 0x10001413
shl eax, 4
sub eax, ecx
push eax
push 0x87
push eax
push 0x87
lea edx, [ebp - 0x24]
push edx
call edi
mov eax, dword [0x10009654]
mov ecx, dword [eax]
push 0xffffff33
push 0x100
lea edx, [ebp - 0x24]
push edx
push 0xffffffffffffffff
push 0x10007248
push 0
push eax
mov eax, dword [ecx + 0x38]
call eax
jmp 0x1000144e
shl eax, 4
sub eax, ecx
push eax
push 0x87
push eax
push 0x87
lea ecx, [ebp - 0x14]
push ecx
call edi
mov eax, dword [0x10009654]
mov edx, dword [eax]
mov edx, dword [edx + 0x38]
push 0xffff0000
push 0x100
lea ecx, [ebp - 0x14]
push ecx
push 0xffffffffffffffff
push 0x10007250
push 0
push eax
call edx
mov eax, dword [0x10fa9a70]
inc ebx
inc eax
add esi, 0x18
cmp ebx, eax
jl 0x100013c0
mov eax, dword [0x10fa9a70]
mov ebx, 1
lea ecx, [eax + 1]
cmp ecx, ebx
jle 0x10001593
mov esi, 0x10fa9aa0
lea ebx, [ebx]
cmp dword [esi - 4], 1
jle 0x100014e7
cmp dword [esi], 1
jne 0x100014e3
mov edx, dword [esi - 8]
mov eax, dword [edx]
push eax
push 0x10007258
mov edx, 0x10009550
call fcn.100053a0
mov ecx, dword [esi - 0x10]
mov eax, ecx
add esp, 8
shl eax, 4
sub eax, ecx
push eax
push 0x87
push eax
push 0x87
lea ecx, [ebp - 0x14]
push ecx
call edi
mov eax, dword [0x10009654]
mov edx, dword [eax]
mov edx, dword [edx + 0x38]
push 0xffffff33
push 0x100
lea ecx, [ebp - 0x14]
push ecx
push 0xffffffffffffffff
push 0x10009550
push 0
push eax
call edx
cmp dword [esi - 4], 1
jl 0x1000157f
cmp dword [esi], 3
jne 0x1000157f
mov eax, dword [esi - 8]
mov eax, dword [eax]
sub eax, 0
je 0x1000153f
dec eax
jne 0x1000157f
mov ecx, dword [esi - 0x10]
mov eax, ecx
shl eax, 4
sub eax, ecx
push eax
push 0x7d
push eax
push 0x7d
lea ecx, [ebp - 0x24]
push ecx
call edi
mov eax, dword [0x10009654]
mov edx, dword [eax]
mov edx, dword [edx + 0x38]
push 0xffffff33
push 0x100
lea ecx, [ebp - 0x24]
push ecx
push 0xffffffffffffffff
push 0x10007264
push 0
push eax
call edx
jmp 0x1000157f
mov ecx, dword [esi - 0x10]
mov eax, ecx
shl eax, 4
sub eax, ecx
push eax
push 0x87
push eax
push 0x87
lea eax, [ebp - 0x34]
push eax
call edi
mov eax, dword [0x10009654]
mov ecx, dword [eax]
push 0xffffff33
push 0x100
lea edx, [ebp - 0x34]
push edx
push 0xffffffffffffffff
push 0x1000725c
push 0
push eax
mov eax, dword [ecx + 0x38]
call eax
mov eax, dword [0x10fa9a70]
inc ebx
lea ecx, [eax + 1]
add esi, 0x18
cmp ebx, ecx
jl 0x10001480
cmp dword [0x10faa3c4], 1
jge 0x100015a6
mov dword [0x10faa3c4], 1
mov dword [0x10fa9a70], 0
cmp dword [0x10faa3c4], eax
jle 0x100015c2
mov dword [0x10faa3c4], 1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10005bba
mov esp, ebp
pop ebp
ret