Function at 0x10098470
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, dword [0x102412a0]
test edi, edi
je 0x100987b7
mov ecx, edi
call fcn.1006ad90
test al, al
jne 0x100987b7
cmp byte [0x103040e0], al
je 0x100987b7
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10243ad0]
push ebx
push esi
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10306a8c]
cmp eax, dword [esi + 4]
jle 0x100984f2
push 0x10306a8c
call fcn.10189be4
add esp, 4
cmp dword [0x10306a8c], 0xffffffff
jne 0x100984f2
push 0x10306a8c
mov dword [0x10306a84], 0
mov dword [0x10306a80], 0x1030402c
call fcn.10189b93
add esp, 4
cmp byte [0x10243e29], 0
jne 0x10098511
cmp byte [0x10243e2b], 0
jne 0x10098511
cmp byte [0x10243e28], 0
jne 0x10098511
xor bl, bl
jmp 0x10098513
mov bl, 1
mov eax, dword [0x10306a80]
mov eax, dword [eax]
test eax, eax
jne 0x10098525
mov dword [0x10306a84], eax
jmp 0x1009853b
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x10306a84], eax
jne 0x10098548
cmp byte [0x102fd89e], 0
jne 0x10098548
xor cl, cl
jmp 0x1009854a
mov cl, 1
cmp dword [0x10303eb0], 2
je 0x10098563
mov eax, dword [0x10243e2c]
cmp eax, dword [0x10303e20]
setl al
jmp 0x1009856d
cmp dword [0x10243e2c], 0
sete al
test bl, bl
jne 0x10098579
test al, al
je 0x10098579
test cl, cl
jne 0x10098586
cmp byte [0x10243e2a], 0
jne 0x10098586
xor al, al
jmp 0x10098588
mov al, 1
mov byte [0x10243e2a], al
mov eax, dword [0x10306a90]
cmp eax, dword [esi + 4]
jle 0x100985d1
push 0x10306a90
call fcn.10189be4
add esp, 4
cmp dword [0x10306a90], 0xffffffff
jne 0x100985d1
push 0x10306a90
mov dword [0x10306aa8], 0
mov dword [0x10306aa4], 0x10303cdc
call fcn.10189b93
add esp, 4
cmp byte [0x10243e2a], 0
jne 0x10098618
cmp byte [0x10243e2b], 0
jne 0x10098618
cmp byte [0x10243e28], 0
jne 0x10098618
mov eax, dword [0x10306aa4]
mov ebx, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov eax, dword [eax]
test eax, eax
jne 0x10098604
mov dword [0x10306aa8], eax
jmp 0x1009861e
push eax
call ebx
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x10306aa8], eax
jne 0x10098630
jmp 0x1009861e
mov ebx, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp byte [0x10243e29], 0
je 0x1009863d
cmp dword [0x10303eb0], 2
je 0x1009863d
cmp dword [0x10243e2c], 0
je 0x1009863d
mov al, 1
jmp 0x1009863f
xor al, al
mov byte [0x10243e29], al
mov eax, dword [0x10306aa0]
cmp eax, dword [esi + 4]
jle 0x10098688
push 0x10306aa0
call fcn.10189be4
add esp, 4
cmp dword [0x10306aa0], 0xffffffff
jne 0x10098688
push 0x10306aa0
mov dword [0x10306a9c], 0
mov dword [0x10306a98], 0x10303c4c
call fcn.10189b93
add esp, 4
cmp byte [0x10243e29], 0
jne 0x10098779
cmp byte [0x10243e2a], 0
jne 0x10098779
cmp byte [0x10243e28], 0
jne 0x10098779
cmp dword [0x102fda38], 0
je 0x100986c5
cmp byte [0x10303ed4], 0
jne 0x10098779
cmp byte [0x102fd880], 0
jne 0x10098779
mov esi, dword [ebp + 8]
test esi, esi
je 0x10098779
cmp dword [0x102fd8a0], 0
je 0x10098779
mov eax, dword [0x10303d6c]
sub eax, 0
je 0x10098724
sub eax, 2
je 0x100986fe
sub eax, 1
jmp 0x10098746
mov eax, dword [0x10306a98]
mov eax, dword [eax]
test eax, eax
jne 0x10098710
mov dword [0x10306a9c], eax
jmp 0x10098748
push eax
call ebx
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x10306a9c], eax
jne 0x10098779
jmp 0x10098748
mov eax, dword [0x10306a98]
mov eax, dword [eax]
test eax, eax
jne 0x10098736
mov dword [0x10306a9c], eax
jmp 0x10098779
push eax
call ebx
shr eax, 0xf
and al, 1
movzx eax, al
mov dword [0x10306a9c], eax
je 0x10098779
cmp byte [0x102fd894], 0
jne 0x10098760
cmp dword [0x102fd998], 3
jne 0x10098779
test byte [esi + 0x24], 1
je 0x10098779
cmp byte [0x10304050], 0
je 0x10098772
mov ecx, edi
call fcn.1006b0c0
jmp 0x10098774
mov al, 1
mov byte [0x10243e2b], al
mov al, byte [0x10304098]
mov byte [0x10243e28], al
pop esi
pop ebx
test al, al
je 0x10098799
mov word [0x10243e29], 0
mov byte [0x10243e2b], 0
mov al, byte [0x10243e2b]
mov byte [0x102fd880], al
mov al, byte [0x10243e29]
mov byte [0x102fda34], al
mov al, byte [0x10243e2a]
mov byte [0x102fd89d], al
pop edi
pop ebp
ret 4