Function at 0x40e703
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
jmp 0x40e94e
mov eax, dword [ebp + 8]
mov dword [0x45bd8f], eax
jmp 0x40ea2d
movsx eax, word [0x45bd74]
test al, 4
jne 0x40e738
call fcn.0044a897
jmp 0x40ea2d
cmp dword [0x45bd93], 0
je 0x40e756
mov eax, dword [0x45bd93]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x40ea2d
call fcn.004278a5
call fcn.0042440d
jmp 0x40ea2d
call fcn.00415ef8
jmp 0x40ea34
cmp dword [ebp + 0x10], 0
jne 0x40e78d
movsx eax, word [0x4555ac]
test eax, eax
jne 0x40e797
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x40ea2d
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x40e7e9
push 0x12
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test ah, 0x10
je 0x40e7e9
push 0x73
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test ah, 0x10
je 0x40e7e9
push 0
push 0
push 0x400
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x40ea2d
mov eax, dword [ebp + 0x10]
and eax, 0xfff0
cmp eax, 0xf060
je 0x40e806
jmp case.0x40e96e.2
push 0
push 0
push 0x400
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x40ea2d
call fcn.00415ef8
test eax, eax
je 0x40e8a0
push 3
push 0x10
push 0x10
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x40e84c
jmp 0x40e82b
push 0x45ada0
call fcn.0044945e
add esp, 4
push 0x45aec0
call fcn.0044945e
add esp, 4
push 0x45afe0
call fcn.00448d93
add esp, 4
cmp dword [ebp + 0xc], 0x10
je 0x40e88c
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x40e891
call fcn.00409c95
mov eax, 1
jmp 0x40ea34
xor eax, eax
jmp 0x40ea34
call fcn.00409c95
jmp 0x40ea2d
call fcn.00409c95
jmp case.0x40e96e.2
movsx eax, word [0x45bd72]
cmp eax, 0x301
jl 0x40e8de
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
push 0xb
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_KillTimer]
cmp dword [0x45bd93], 0
je 0x40e90d
mov eax, dword [0x45bd93]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x45bd93], 0
mov dword [0x45bd8f], 0
call fcn.00413060
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x40ea2d
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
jmp 0x40ea34
cmp dword [ebp - 0x20], 0x10
ja 0x40e991
je 0x40e81e
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 6
ja case.0x40e96e.2
mov eax, dword [ebp - 0x20]
jmp dword [eax*4 + 0x40e975]
cmp dword [ebp - 0x20], 0x15
ja 0x40e9b0
je 0x40e724
cmp dword [ebp - 0x20], 0x11
je 0x40e76a
jmp case.0x40e96e.2
cmp dword [ebp - 0x20], 0x1a
ja 0x40e9cf
je 0x40e75b
cmp dword [ebp - 0x20], 0x16
je 0x40e774
jmp case.0x40e96e.2
cmp dword [ebp - 0x20], 0x400
ja 0x40ea0e
je 0x40e81e
cmp dword [ebp - 0x20], 0x111
je 0x40e79c
cmp dword [ebp - 0x20], 0x112
je 0x40e7ee
cmp dword [ebp - 0x20], 0x113
je 0x40e8ac
jmp case.0x40e96e.2
cmp dword [ebp - 0x20], 0x401
je 0x40ea2d
cmp dword [ebp - 0x20], 0x465
je 0x40e81e
jmp case.0x40e96e.2
xor eax, eax
jmp 0x40ea34
pop edi
pop esi
pop ebx
leave
ret 0x10