Function at 0x403350
Capabilities:
Hide graphical window
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x2c], ecx
push 1
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
call fcn.00403660
add esp, 8
push 1
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
call fcn.00403700
add esp, 8
push 6
push 0x23
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00403700
add esp, 8
mov dword [ebp - 4], 0
jmp 0x4033a7
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 4
jge 0x403400
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + ecx*4 + 0x30]
push eax
push 1
push 0xf7
mov ecx, dword [ebp - 4]
add ecx, 0x15
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 4]
add ecx, 2
push ecx
mov edx, dword [ebp - 4]
add edx, 0x1f
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00403700
add esp, 8
jmp 0x40339e
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx edx, ax
test edx, edx
jl 0x4035ac
mov dword [ebp - 8], 0
jmp 0x403425
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jge 0x403479
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + ecx*4 + 0x20]
push eax
mov ecx, dword [ebp - 8]
add ecx, 0x15
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + ecx*4 + 0x20]
push eax
mov ecx, dword [ebp - 8]
add ecx, 0x1f
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x40341c
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 0x28], 0
jne 0x4035ac
lea edx, [ebp - 0x18]
push edx
push 0x1e
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edx
lea eax, [ebp - 0x18]
push eax
push 0x17
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
push 0
push 0x17
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0x21
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebp - 0x20], 0
jmp 0x40350b
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp dword [eax*4 + 0x6bd734], 0
je 0x403575
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx*4 + 0x6bd734]
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x24], eax
lea edx, [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 0x15
push 0
push 0
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x18]
push edx
push 0
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x403502
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 0x16
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x18]
push edx
push 0
push 0
push 0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, 0x6c2f28
call fcn.00405180
test eax, eax
jl 0x4035cc
push 0
push 0
mov ecx, 0x6c2f28
call fcn.004017e0
test eax, eax
jne 0x403635
push 0
push 0x21
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
push eax
mov ecx, 0x6c2f28
call fcn.00401480
mov dword [ebp - 0x28], 0
jmp 0x4035f3
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 3
jge 0x403635
push 0
mov edx, dword [ebp - 0x28]
add edx, 0x15
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
mov edx, dword [ebp - 0x28]
add edx, 0x1f
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x4035ea
push 0
mov ecx, dword [ebp - 0x2c]
add ecx, 4
call fcn.00405f80
mov ecx, dword [ebp - 0x2c]
call fcn.004030d0
mov eax, 1
mov esp, ebp
pop ebp
ret 0x10