Function at 0x1009e510
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, dword [0x1024d1e0]
test edi, edi
je 0x1009e857
mov ecx, edi
call fcn.10071cb0
test al, al
jne 0x1009e857
cmp byte [0x103177e0], al
je 0x1009e857
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1024f340]
push ebx
push esi
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10318944]
cmp eax, dword [esi + 4]
jle 0x1009e592
push 0x10318944
call fcn.101928b8
add esp, 4
cmp dword [0x10318944], 0xffffffff
jne 0x1009e592
push 0x10318944
mov dword [0x1031893c], 0
mov dword [0x10318938], 0x10317750
call fcn.10192867
add esp, 4
cmp byte [0x1024f699], 0
jne 0x1009e5b1
cmp byte [0x1024f69b], 0
jne 0x1009e5b1
cmp byte [0x1024f698], 0
jne 0x1009e5b1
xor bl, bl
jmp 0x1009e5b3
mov bl, 1
mov eax, dword [0x10318938]
mov eax, dword [eax]
test eax, eax
jne 0x1009e5c5
mov dword [0x1031893c], eax
jmp 0x1009e5db
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x1031893c], eax
jne 0x1009e5e8
cmp byte [0x10310908], 0
jne 0x1009e5e8
xor cl, cl
jmp 0x1009e5ea
mov cl, 1
cmp dword [0x103175f8], 2
je 0x1009e603
mov eax, dword [0x1024f69c]
cmp eax, dword [0x10317568]
setl al
jmp 0x1009e60d
cmp dword [0x1024f69c], 0
sete al
test bl, bl
jne 0x1009e619
test al, al
je 0x1009e619
test cl, cl
jne 0x1009e626
cmp byte [0x1024f69a], 0
jne 0x1009e626
xor al, al
jmp 0x1009e628
mov al, 1
mov byte [0x1024f69a], al
mov eax, dword [0x10318948]
cmp eax, dword [esi + 4]
jle 0x1009e671
push 0x10318948
call fcn.101928b8
add esp, 4
cmp dword [0x10318948], 0xffffffff
jne 0x1009e671
push 0x10318948
mov dword [0x1031895c], 0
mov dword [0x10318958], 0x10317424
call fcn.10192867
add esp, 4
cmp byte [0x1024f69a], 0
jne 0x1009e6b8
cmp byte [0x1024f69b], 0
jne 0x1009e6b8
cmp byte [0x1024f698], 0
jne 0x1009e6b8
mov eax, dword [0x10318958]
mov ebx, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov eax, dword [eax]
test eax, eax
jne 0x1009e6a4
mov dword [0x1031895c], eax
jmp 0x1009e6be
push eax
call ebx
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x1031895c], eax
jne 0x1009e6d0
jmp 0x1009e6be
mov ebx, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp byte [0x1024f699], 0
je 0x1009e6dd
cmp dword [0x103175f8], 2
je 0x1009e6dd
cmp dword [0x1024f69c], 0
je 0x1009e6dd
mov al, 1
jmp 0x1009e6df
xor al, al
mov byte [0x1024f699], al
mov eax, dword [0x10318954]
cmp eax, dword [esi + 4]
jle 0x1009e728
push 0x10318954
call fcn.101928b8
add esp, 4
cmp dword [0x10318954], 0xffffffff
jne 0x1009e728
push 0x10318954
mov dword [0x10318950], 0
mov dword [0x1031894c], 0x103173b8
call fcn.10192867
add esp, 4
cmp byte [0x1024f699], 0
jne 0x1009e819
cmp byte [0x1024f69a], 0
jne 0x1009e819
cmp byte [0x1024f698], 0
jne 0x1009e819
cmp dword [0x1031090c], 0
je 0x1009e765
cmp byte [0x1031761c], 0
jne 0x1009e819
cmp byte [0x10310750], 0
jne 0x1009e819
mov esi, dword [ebp + 8]
test esi, esi
je 0x1009e819
cmp dword [0x10310764], 0
je 0x1009e819
mov eax, dword [0x103174b4]
sub eax, 0
je 0x1009e7c4
sub eax, 2
je 0x1009e79e
sub eax, 1
jmp 0x1009e7e6
mov eax, dword [0x1031894c]
mov eax, dword [eax]
test eax, eax
jne 0x1009e7b0
mov dword [0x10318950], eax
jmp 0x1009e7e8
push eax
call ebx
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x10318950], eax
jne 0x1009e819
jmp 0x1009e7e8
mov eax, dword [0x1031894c]
mov eax, dword [eax]
test eax, eax
jne 0x1009e7d6
mov dword [0x10318950], eax
jmp 0x1009e819
push eax
call ebx
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x10318950], eax
je 0x1009e819
cmp byte [0x10310760], 0
jne 0x1009e800
cmp dword [0x10310864], 3
jne 0x1009e819
test byte [esi + 0x24], 1
je 0x1009e819
cmp byte [0x10317774], 0
je 0x1009e812
mov ecx, edi
call fcn.10071fe0
jmp 0x1009e814
mov al, 1
mov byte [0x1024f69b], al
mov al, byte [0x103177bc]
mov byte [0x1024f698], al
pop esi
pop ebx
test al, al
je 0x1009e839
mov word [0x1024f699], 0
mov byte [0x1024f69b], 0
mov al, byte [0x1024f69b]
mov byte [0x10310750], al
mov al, byte [0x1024f699]
mov byte [0x10310910], al
mov al, byte [0x1024f69a]
mov byte [0x10310909], al
pop edi
pop ebp
ret 4