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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43306e
mov eax, dword fs:[0]
push eax
sub esp, 0x1ac
mov eax, dword [0x440080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x40], eax
push 1
push 0x40
push 1
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x108]
call fcn.00406d00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108]
call fcn.0040e5b0
movzx ecx, al
test ecx, ecx
je 0x401ca2
lea ecx, [ebp - 0x28]
call fcn.004077e0
mov byte [ebp - 4], 2
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.004063c0
add esp, 8
push 0x434323
lea ecx, [ebp - 0x28]
push ecx
call fcn.00403050
add esp, 8
movzx edx, al
test edx, edx
je 0x401bc4
push 5
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x43479c
push 0x441360
call fcn.00402d50
add esp, 8
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x4412f8
call fcn.00408db0
mov eax, dword [ebp - 0x38]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x38], eax
push 0x4347c4
push 0x441360
call fcn.00402d50
add esp, 8
lea ecx, [ebp - 0x34]
push ecx
mov ecx, 0x4412f8
call fcn.00408db0
mov eax, dword [ebp - 0x34]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x34], eax
push 0x4347ec
push 0x441360
call fcn.00402d50
add esp, 8
mov edx, 1
test edx, edx
je 0x401aab
push 0x58
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp eax, 0xffff8000
jne 0x401a48
mov dword [ebp - 0x30], 0x3a
push 0x434808
push 0x441360
call fcn.00402d50
add esp, 8
jmp 0x401aab
push 6
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
cmp ecx, 0xffff8000
jne 0x401a78
mov dword [ebp - 0x30], 6
push str.VK_XBUTTON2
push 0x441360
call fcn.00402d50
add esp, 8
jmp 0x401aab
push 5
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
cmp edx, 0xffff8000
jne 0x401aa6
mov dword [ebp - 0x30], 5
push str.VK_XBUTTON1
push 0x441360
call fcn.00402d50
add esp, 8
jmp 0x401aab
jmp 0x401a0e
push 0x406180
mov ecx, 0x441360
call fcn.00408fa0
push 0x434824
push 0x441360
call fcn.00402d50
add esp, 8
lea eax, [ebp - 0x3c]
push eax
mov ecx, 0x4412f8
call fcn.00408db0
lea ecx, [ebp - 0x108]
call fcn.0040c120
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
push 0x40
push 2
lea ecx, [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x1b8]
call fcn.00407060
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1b8]
call fcn.0040e5d0
movzx edx, al
test edx, edx
je 0x401b8b
push 0x406180
mov eax, dword [ebp - 0x3c]
push eax
push 0x406180
mov ecx, dword [ebp - 0x30]
push ecx
push 0x406180
mov edx, dword [ebp - 0x34]
push edx
push 0x406180
mov eax, dword [ebp - 0x38]
push eax
lea ecx, [ebp - 0x1b8]
call fcn.00408de0
mov ecx, eax
call fcn.00408fa0
mov ecx, eax
call fcn.00408de0
mov ecx, eax
call fcn.00408fa0
mov ecx, eax
call fcn.00408de0
mov ecx, eax
call fcn.00408fa0
mov ecx, eax
call fcn.00408de0
mov ecx, eax
call fcn.00408fa0
lea ecx, [ebp - 0x1b8]
call fcn.0040c160
nop
lea ecx, [ebp + 0xc]
push ecx
lea edx, [ebp - 0x3c]
push edx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004021b0
add esp, 0x1c
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1b8]
call fcn.00409480
nop
jmp 0x401c95
mov dword [ebp - 0x2c], 0
jmp 0x401bd6
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 4
jge 0x401c66
cmp dword [ebp - 0x2c], 0
jne 0x401bfc
lea ecx, [ebp - 0x28]
call fcn.0040bf30
push eax
call fcn.00416dee
add esp, 4
mov dword [ebp - 0x50], eax
jmp 0x401c4e
cmp dword [ebp - 0x2c], 1
jne 0x401c18
lea ecx, [ebp - 0x28]
call fcn.0040bf30
push eax
call fcn.00416dee
add esp, 4
mov dword [ebp - 0x4c], eax
jmp 0x401c4e
cmp dword [ebp - 0x2c], 2
jne 0x401c34
lea ecx, [ebp - 0x28]
call fcn.0040bf30
push eax
call fcn.00416dee
add esp, 4
mov dword [ebp - 0x48], eax
jmp 0x401c4e
cmp dword [ebp - 0x2c], 3
jne 0x401c4e
lea ecx, [ebp - 0x28]
call fcn.0040bf30
push eax
call fcn.00416dee
add esp, 4
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x108]
push ecx
call fcn.004063c0
add esp, 8
jmp 0x401bcd
lea ecx, [ebp - 0x108]
call fcn.0040c120
lea edx, [ebp + 0xc]
push edx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x40]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004021b0
add esp, 0x1c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.004087e0
nop
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x108]
call fcn.004093f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004087e0
nop
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041145c
mov esp, ebp
pop ebp
ret