Function at 0x10004154
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0
mov ebx, 0x350
call fcn.100072b0
add esp, 4
mov dword [ebp - 4], esp
push 0x71
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x1000419d
push 0x4d
push 0x401abd1
push 6
call fcn.100067de
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x100041bd
and dword [0x1005bd76], 1
xor dword [0x1005bd76], 1
call fcn.100044bc
mov dword [ebp - 4], esp
push 0x72
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x100041eb
push 0xdd
push 0x401abd1
push 6
call fcn.100067de
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x1000420b
and dword [0x1005bd7a], 1
xor dword [0x1005bd7a], 1
call fcn.10004c79
mov dword [ebp - 4], esp
push 0x26
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x10004239
push 0x17f
push 0x401abd1
push 6
call fcn.100067de
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10008100
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x1000435f
add dword [0x1005bd66], 5
cmp dword [0x1005bd66], 0x64
jle 0x1000428f
mov dword [0x1005bd66], 0x32
push 0x80000301
push 0
push dword [0x1005bd66]
push 1
mov ebx, 0x9e4
call fcn.10008120
add esp, 0x10
push eax
push dword [0x1005bd62]
push dword [0x1005bd5e]
call fcn.10004d64
push 0x80000301
push 0
push dword [0x1005bd66]
push 1
mov ebx, 0x168
call fcn.10007400
add esp, 0x10
mov dword [ebp - 4], eax
push dword [ebp - 4]
push 0x1005b99e
mov ecx, 2
call fcn.1000137d
add esp, 8
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x1000430a
push ebx
call fcn.100067cc
add esp, 4
push 0x80000301
push 0
push dword [0x1005bd1a]
push 0
push 0
push 0
push 0x80000301
push 0
push 0
push 0x80000004
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x1000433c
mov eax, 0x10018251
push eax
push 4
mov ebx, 0x300
call fcn.10007070
add esp, 0x34
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x1000435f
push ebx
call fcn.100067cc
add esp, 4
mov dword [ebp - 4], esp
push 0x28
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x1000438d
push 0x317
push 0x401abd1
push 6
call fcn.100067de
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.10008100
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x100044b3
sub dword [0x1005bd66], 5
cmp dword [0x1005bd66], 0x32
jge 0x100043e3
mov dword [0x1005bd66], 0x64
push 0x80000301
push 0
push dword [0x1005bd66]
push 1
mov ebx, 0x9e4
call fcn.10008120
add esp, 0x10
push eax
push dword [0x1005bd62]
push dword [0x1005bd5e]
call fcn.10004d64
push 0x80000301
push 0
push dword [0x1005bd66]
push 1
mov ebx, 0x168
call fcn.10007400
add esp, 0x10
mov dword [ebp - 4], eax
push dword [ebp - 4]
push 0x1005b99e
mov ecx, 2
call fcn.1000137d
add esp, 8
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x1000445e
push ebx
call fcn.100067cc
add esp, 4
push 0x80000301
push 0
push dword [0x1005bd1a]
push 0
push 0
push 0
push 0x80000301
push 0
push 0
push 0x80000004
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x10004490
mov eax, 0x10018251
push eax
push 4
mov ebx, 0x300
call fcn.10007070
add esp, 0x34
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x100044b3
push ebx
call fcn.100067cc
add esp, 4
jmp 0x1000415d