Function at 0x10001320
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 0x10001347
inc dword [0x10faa3c0]
push 0x26
call ebx
test al, 1
je 0x10001362
mov eax, 1
cmp dword [0x10faa3c0], eax
jle 0x10001362
sub dword [0x10faa3c0], eax
push 0x27
call ebx
test al, 1
je 0x100013ac
mov eax, dword [0x10fa9a6c]
inc eax
xor edi, edi
test eax, eax
jle 0x100013ac
mov esi, 0x10fa9a78
jmp 0x10001380
mov ecx, dword [0x10faa3c0]
cmp ecx, dword [esi - 8]
jne 0x1000139e
mov eax, dword [esi]
mov edx, dword [eax]
cmp edx, dword [esi + 4]
jge 0x10001396
inc dword [eax]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x10fa9a6c]
inc edi
inc eax
add esi, 0x18
cmp edi, eax
jl 0x10001380
push 0x25
call ebx
test al, 1
je 0x100013fa
mov ecx, dword [0x10fa9a6c]
inc ecx
xor edi, edi
test ecx, ecx
jle 0x100013fa
mov esi, 0x10fa9a78
jmp 0x100013d0
mov edx, dword [0x10faa3c0]
cmp edx, dword [esi - 8]
jne 0x100013ec
mov eax, dword [esi]
cmp dword [eax], 0
jle 0x100013e4
dec dword [eax]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x10fa9a6c]
inc edi
inc eax
add esi, 0x18
cmp edi, eax
jl 0x100013d0
mov edx, dword [0x10fa9a6c]
inc edx
test edx, edx
jle 0x1000142f
mov esi, dword [0x10faa3c0]
mov eax, 0x10fa9a84
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 0x10001412
mov edi, dword [sym.imp.USER32.dll_SetRect]
mov ebx, 1
cmp edx, ebx
jle 0x100014f0
mov esi, 0x10fa9a88
jmp 0x10001450
cmp dword [esi + 0x10], 0
jne 0x100014de
mov ecx, dword [esi + 8]
cmp dword [ecx], 1
mov ecx, dword [esi]
mov eax, ecx
jne 0x100014a3
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 0x100014de
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 [0x10fa9a6c]
inc ebx
inc eax
add esi, 0x18
cmp ebx, eax
jl 0x10001450
mov eax, dword [0x10fa9a6c]
mov ebx, 1
lea ecx, [eax + 1]
cmp ecx, ebx
jle 0x10001623
mov esi, 0x10fa9a98
lea ebx, [ebx]
cmp dword [esi - 4], 1
jle 0x10001577
cmp dword [esi], 1
jne 0x10001573
mov edx, dword [esi - 8]
mov eax, dword [edx]
push eax
push 0x10007258
mov edx, 0x10009550
call fcn.10004e40
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 0x1000160f
cmp dword [esi], 3
jne 0x1000160f
mov eax, dword [esi - 8]
mov eax, dword [eax]
sub eax, 0
je 0x100015cf
dec eax
jne 0x1000160f
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 0x1000160f
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 [0x10fa9a6c]
inc ebx
lea ecx, [eax + 1]
add esi, 0x18
cmp ebx, ecx
jl 0x10001510
cmp dword [0x10faa3c0], 1
jge 0x10001636
mov dword [0x10faa3c0], 1
mov dword [0x10fa9a6c], 0
cmp dword [0x10faa3c0], eax
jle 0x10001652
mov dword [0x10faa3c0], 1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000565a
mov esp, ebp
pop ebp
ret