Function at 0x412a33
Capabilities:
Log keystrokes via polling

Disassembly:
mov ecx, dword [0x477a38]
cmp ecx, 0xfffffffe
jne 0x412a41
xor eax, eax
ret
mov eax, dword [0x477a78]
mov edx, dword [0x477a70]
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
or ebx, 0xffffffff
cmp eax, 0x106
push esi
jg 0x412ac5
cmp eax, 0xfe
jl 0x412ac5
cmp edx, 0xc
jg 0x412ac5
cmp edx, 3
jl 0x412ac5
xor esi, esi
cmp ecx, ebx
jne 0x412a99
push esi
push 0x9c80
push 0x111
push dword [0x47b6c8]
call ebp
push esi
push ebx
push ebx
call fcn.00445499
mov dword [0x477a4c], esi
jmp 0x412ab2
test byte [0x477a60], 1
je 0x412ab5
xor eax, eax
inc eax
push eax
push ebx
push ebx
mov dword [0x477a4c], eax
call fcn.00445499
add esp, 0xc
cmp dword [0x477a38], esi
je 0x412ae0
xor eax, eax
inc eax
jmp 0x412ccc
xor esi, esi
cmp dword [0x477a4c], esi
je 0x412ae0
push esi
push ebx
push ebx
mov dword [0x477a4c], esi
call fcn.00445499
add esp, 0xc
mov eax, dword [0x477a78]
cmp eax, 0xfd
push edi
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
jg 0x412b6f
cmp eax, 0xf4
jl 0x412b6f
mov eax, dword [0x477a70]
cmp eax, 0xc
jg 0x412b6f
cmp eax, 3
jl 0x412b6f
cmp dword [0x477a38], ebx
jne 0x412b43
push 0x10
call edi
and ax, 0x8000
neg ax
push 6
push dword [0x47b6c8]
sbb eax, eax
neg eax
mov dword [0x477a50], eax
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
push ebx
push esi
call fcn.00445499
mov dword [0x477a44], esi
jmp 0x412b5c
test byte [0x477a60], 1
je 0x412b5f
xor eax, eax
push ebx
inc eax
push ebx
push eax
mov dword [0x477a44], eax
call fcn.00445499
add esp, 0xc
cmp dword [0x477a38], esi
je 0x412b88
xor eax, eax
inc eax
jmp 0x412ccb
cmp dword [0x477a44], esi
je 0x412b88
push ebx
push ebx
push esi
mov dword [0x477a44], esi
call fcn.00445499
add esp, 0xc
mov eax, dword [0x477a78]
cmp eax, 0x110
jg 0x412c1c
cmp eax, 0x108
jl 0x412c1c
mov eax, dword [0x477a70]
cmp eax, 0xc
jg 0x412c1c
cmp eax, 3
jl 0x412c1c
cmp dword [0x477a38], ebx
jne 0x412bf3
push ebx
push esi
push ebx
mov dword [0x477a48], esi
call fcn.00445499
add esp, 0xc
push 0x10
call edi
test ah, ah
jns 0x412be4
push esi
push 0x9d42
push 0x111
push dword [0x47b6c8]
call ebp
jmp 0x412c0f
mov ecx, dword [0x47b744]
push 1
call fcn.004517e1
jmp 0x412c0f
test byte [0x477a60], 1
je 0x412c0f
xor eax, eax
inc eax
push ebx
push eax
push ebx
mov dword [0x477a48], eax
call fcn.00445499
add esp, 0xc
cmp dword [0x477a38], esi
je 0x412c35
jmp 0x412b67
cmp dword [0x477a48], esi
je 0x412c35
push ebx
push esi
push ebx
mov dword [0x477a48], esi
call fcn.00445499
add esp, 0xc
mov eax, dword [0x477a78]
cmp eax, 0x11
jg 0x412c9d
cmp eax, 5
jl 0x412c9d
mov eax, dword [0x477a70]
cmp eax, 0xd
jg 0x412c9d
cmp eax, 3
jl 0x412c9d
test byte [0x477a60], 1
je 0x412c90
cmp dword [0x477a40], esi
jne 0x412c90
push esi
push 0x9b
push 0x29a
push dword [0x47b6c8]
call dword [sym.imp.USER32.dll_SetTimer]
push ebx
xor eax, eax
inc eax
push ebx
push ebx
mov ebx, eax
mov dword [0x477a40], eax
call fcn.00445499
add esp, 0xc
cmp dword [0x477a38], esi
je 0x412cc9
jmp 0x412b67
cmp dword [0x477a40], esi
je 0x412cc9
push 0x29a
push dword [0x47b6c8]
call dword [sym.imp.USER32.dll_KillTimer]
push ebx
push ebx
push ebx
xor ebx, ebx
mov dword [0x477a40], esi
call fcn.00445499
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret