Function at 0x431f7c
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [0x45f108]
mov ecx, dword [0x45f104]
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push ebp
push esi
or esi, 0xffffffff
cmp eax, 0x106
push edi
jg 0x432004
cmp eax, 0xfe
jl 0x432004
cmp ecx, 0xc
jg 0x432004
cmp ecx, 3
jl 0x432004
xor edi, edi
cmp dword [0x45f120], esi
jne 0x431fda
push edi
push 0x9c80
push 0x111
push dword [0x461320]
call ebx
push edi
push esi
push esi
push esi
call fcn.0040f390
mov dword [0x45f0fc], edi
jmp 0x431ff4
test byte [0x45f138], 1
je 0x431ff7
xor eax, eax
inc eax
push eax
push esi
push esi
push esi
mov dword [0x45f0fc], eax
call fcn.0040f390
add esp, 0x10
cmp dword [0x45f120], edi
je 0x432020
jmp 0x4321c8
xor edi, edi
cmp dword [0x45f0fc], edi
je 0x432020
push edi
push esi
push esi
push esi
mov dword [0x45f0fc], edi
call fcn.0040f390
add esp, 0x10
mov eax, dword [0x45f108]
mov ebp, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp eax, 0xfd
jg 0x4320ad
cmp eax, 0xf4
jl 0x4320ad
mov eax, dword [0x45f104]
cmp eax, 0xc
jg 0x4320ad
cmp eax, 3
jl 0x4320ad
cmp dword [0x45f120], esi
jne 0x432083
push 0x10
call ebp
and ax, 0x8000
push 6
push dword [0x461320]
neg ax
sbb eax, eax
neg eax
mov dword [0x4605cc], eax
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
push esi
push edi
push esi
call fcn.0040f390
mov dword [0x45f0f4], edi
jmp 0x43209d
test byte [0x45f138], 1
je 0x4320a0
xor eax, eax
push esi
inc eax
push esi
push eax
push esi
mov dword [0x45f0f4], eax
call fcn.0040f390
add esp, 0x10
cmp dword [0x45f120], edi
je 0x4320c7
jmp 0x4321c8
cmp dword [0x45f0f4], edi
je 0x4320c7
push esi
push esi
push edi
push esi
mov dword [0x45f0f4], edi
call fcn.0040f390
add esp, 0x10
mov eax, dword [0x45f108]
cmp eax, 0x110
jg 0x43214c
cmp eax, 0x108
jl 0x43214c
mov eax, dword [0x45f104]
cmp eax, 0xc
jg 0x43214c
cmp eax, 3
jl 0x43214c
cmp dword [0x45f120], esi
jne 0x432125
push esi
push edi
push esi
push esi
mov dword [0x45f0f8], edi
call fcn.0040f390
add esp, 0x10
push 0x10
call ebp
test ah, ah
push edi
jns 0x432120
push 0x9d42
push 0x111
push dword [0x461320]
call ebx
jmp 0x432142
push edi
push 0x10
jmp 0x432116
test byte [0x45f138], 1
je 0x432142
xor eax, eax
push esi
inc eax
push eax
push esi
push esi
mov dword [0x45f0f8], eax
call fcn.0040f390
add esp, 0x10
cmp dword [0x45f120], edi
je 0x432166
jmp 0x4321c8
cmp dword [0x45f0f8], edi
je 0x432166
push esi
push edi
push esi
push esi
mov dword [0x45f0f8], edi
call fcn.0040f390
add esp, 0x10
mov eax, dword [0x45f108]
cmp eax, 0x11
jg 0x4321cd
cmp eax, 5
jl 0x4321cd
mov eax, dword [0x45f104]
cmp eax, 0xd
jg 0x4321cd
cmp eax, 3
jl 0x4321cd
test byte [0x45f138], 1
je 0x4321c0
cmp dword [0x45f0f0], edi
jne 0x4321c0
push edi
push 0x9b
push 0x29a
push dword [0x461320]
call dword [sym.imp.USER32.dll_SetTimer]
xor eax, eax
push esi
inc eax
push esi
push esi
push eax
mov dword [0x45f0f0], eax
call fcn.0040f390
add esp, 0x10
cmp dword [0x45f120], edi
je 0x4321f8
xor eax, eax
inc eax
jmp 0x4321fa
cmp dword [0x45f0f0], edi
je 0x4321f8
push 0x29a
push dword [0x461320]
call dword [sym.imp.USER32.dll_KillTimer]
push esi
push esi
push esi
push edi
mov dword [0x45f0f0], edi
call fcn.0040f390
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret