Function at 0x10091120
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, dword [0x10234298]
test edi, edi
je 0x10091467
mov ecx, edi
call fcn.10066980
test al, al
jne 0x10091467
cmp byte [0x102f4590], al
je 0x10091467
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10236a90]
push ebx
push esi
mov esi, dword [eax + ecx*4]
mov eax, dword [0x102f6d04]
cmp eax, dword [esi + 4]
jle 0x100911a2
push 0x102f6d04
call fcn.1017dd04
add esp, 4
cmp dword [0x102f6d04], 0xffffffff
jne 0x100911a2
push 0x102f6d04
mov dword [0x102f6cfc], 0
mov dword [0x102f6cf8], 0x102f44dc
call fcn.1017dcb3
add esp, 4
cmp byte [0x10236de9], 0
jne 0x100911c1
cmp byte [0x10236deb], 0
jne 0x100911c1
cmp byte [0x10236de8], 0
jne 0x100911c1
xor bl, bl
jmp 0x100911c3
mov bl, 1
mov eax, dword [0x102f6cf8]
mov eax, dword [eax]
test eax, eax
jne 0x100911d5
mov dword [0x102f6cfc], eax
jmp 0x100911eb
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x102f6cfc], eax
jne 0x100911f8
cmp byte [0x10236f3b], 0
jne 0x100911f8
xor cl, cl
jmp 0x100911fa
mov cl, 1
cmp dword [0x102f4360], 2
je 0x10091213
mov eax, dword [0x10236dec]
cmp eax, dword [0x102f42d0]
setl al
jmp 0x1009121d
cmp dword [0x10236dec], 0
sete al
test bl, bl
jne 0x10091229
test al, al
je 0x10091229
test cl, cl
jne 0x10091236
cmp byte [0x10236dea], 0
jne 0x10091236
xor al, al
jmp 0x10091238
mov al, 1
mov byte [0x10236dea], al
mov eax, dword [0x102f6d08]
cmp eax, dword [esi + 4]
jle 0x10091281
push 0x102f6d08
call fcn.1017dd04
add esp, 4
cmp dword [0x102f6d08], 0xffffffff
jne 0x10091281
push 0x102f6d08
mov dword [0x102f6d20], 0
mov dword [0x102f6d1c], 0x102f418c
call fcn.1017dcb3
add esp, 4
cmp byte [0x10236dea], 0
jne 0x100912c8
cmp byte [0x10236deb], 0
jne 0x100912c8
cmp byte [0x10236de8], 0
jne 0x100912c8
mov eax, dword [0x102f6d1c]
mov ebx, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov eax, dword [eax]
test eax, eax
jne 0x100912b4
mov dword [0x102f6d20], eax
jmp 0x100912ce
push eax
call ebx
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x102f6d20], eax
jne 0x100912e0
jmp 0x100912ce
mov ebx, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp byte [0x10236de9], 0
je 0x100912ed
cmp dword [0x102f4360], 2
je 0x100912ed
cmp dword [0x10236dec], 0
je 0x100912ed
mov al, 1
jmp 0x100912ef
xor al, al
mov byte [0x10236de9], al
mov eax, dword [0x102f6d18]
cmp eax, dword [esi + 4]
jle 0x10091338
push 0x102f6d18
call fcn.1017dd04
add esp, 4
cmp dword [0x102f6d18], 0xffffffff
jne 0x10091338
push 0x102f6d18
mov dword [0x102f6d14], 0
mov dword [0x102f6d10], 0x102f40fc
call fcn.1017dcb3
add esp, 4
cmp byte [0x10236de9], 0
jne 0x10091429
cmp byte [0x10236dea], 0
jne 0x10091429
cmp byte [0x10236de8], 0
jne 0x10091429
cmp dword [0x102370fc], 0
je 0x10091375
cmp byte [0x102f4384], 0
jne 0x10091429
cmp byte [0x10236f14], 0
jne 0x10091429
mov esi, dword [ebp + 8]
test esi, esi
je 0x10091429
cmp dword [0x10236f3c], 0
je 0x10091429
mov eax, dword [0x102f421c]
sub eax, 0
je 0x100913d4
sub eax, 2
je 0x100913ae
sub eax, 1
jmp 0x100913f6
mov eax, dword [0x102f6d10]
mov eax, dword [eax]
test eax, eax
jne 0x100913c0
mov dword [0x102f6d14], eax
jmp 0x100913f8
push eax
call ebx
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x102f6d14], eax
jne 0x10091429
jmp 0x100913f8
mov eax, dword [0x102f6d10]
mov eax, dword [eax]
test eax, eax
jne 0x100913e6
mov dword [0x102f6d14], eax
jmp 0x10091429
push eax
call ebx
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x102f6d14], eax
je 0x10091429
cmp byte [0x10236f3a], 0
jne 0x10091410
cmp dword [0x10237050], 3
jne 0x10091429
test byte [esi + 0x24], 1
je 0x10091429
cmp byte [0x102f4500], 0
je 0x10091422
mov ecx, edi
call fcn.10066ca0
jmp 0x10091424
mov al, 1
mov byte [0x10236deb], al
mov al, byte [0x102f4548]
mov byte [0x10236de8], al
pop esi
pop ebx
test al, al
je 0x10091449
mov word [0x10236de9], 0
mov byte [0x10236deb], 0
mov al, byte [0x10236deb]
mov byte [0x10236f14], al
mov al, byte [0x10236de9]
mov byte [0x10237100], al
mov al, byte [0x10236dea]
mov byte [0x10236f39], al
pop edi
pop ebp
ret 4