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

Disassembly:
sub esp, 0x5c
push ebp
push esi
mov esi, dword [esp + 0x68]
push esi
call fcn.0058ea30
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4a8a7b
push ebx
push edi
push esi
call dword [sym.imp.USER32.dll_IsZoomed]
neg eax
sbb eax, eax
neg eax
push esi
mov dword [ebp + 0x137c], eax
call fcn.0058ee70
add esp, 4
test eax, eax
jne 0x4a88d6
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 6
push esi
call edi
mov eax, dword [0x6a0f5c]
test eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetKeyState]
je 0x4a88a9
push 0x10
call ebx
test ah, ah
jns 0x4a88b1
mov eax, dword [0x6a0f5c]
test eax, eax
jne 0x4a88b6
push 0x10
call ebx
test ah, ah
jns 0x4a88b6
push 0
push esi
call edi
mov eax, dword [ebp]
push eax
call fcn.00591430
call fcn.00591510
push 0
call fcn.0055f1c0
add esp, 8
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x5c
ret
mov eax, dword [0x61a9ec]
test eax, eax
jne 0x4a8923
mov eax, dword [0x61af40]
test eax, eax
jne 0x4a8923
push 0
call fcn.00423fe0
add esp, 4
push 7
push esi
mov edi, eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp]
push ecx
call fcn.00591430
call fcn.00591510
push 0
call fcn.0055f1c0
push edi
call fcn.00423fe0
add esp, 0xc
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x5c
ret
push 0
call fcn.00423fe0
mov ebx, dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x78]
add esp, 4
test al, 1
je 0x4a89a3
call fcn.00543060
test eax, eax
jne 0x4a89a3
call fcn.004a7b80
mov edx, dword [0x6a0f44]
mov ebp, dword [sym.imp.USER32.dll_GetWindow]
push 5
push edx
call ebp
cmp eax, esi
jne 0x4a89a3
push 2
push eax
call ebp
mov edi, eax
test edi, edi
je 0x4a89a3
lea ecx, [ecx]
push edi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4a8988
push 2
push edi
call ebp
mov edi, eax
test edi, edi
jne 0x4a8970
jmp 0x4a89a3
test edi, edi
je 0x4a89a3
cmp edi, esi
je 0x4a89a3
push 5
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push edi
call ebx
push edi
call dword [sym.imp.USER32.dll_BringWindowToTop]
xor eax, eax
mov ecx, 0xb
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x40]
push eax
mov ebp, 0x2c
push esi
mov dword [esp + 0x48], ebp
call dword [sym.imp.USER32.dll_GetWindowPlacement]
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esp + 0x58]
xor eax, eax
mov ecx, 0xb
lea edi, [esp + 0x14]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x5c]
mov edi, dword [sym.imp.USER32.dll_SetWindowPlacement]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x68]
push ecx
mov ebp, 1
push esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], 0xffffff9c
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], 7
call edi
lea edx, [esp + 0x40]
push edx
push esi
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], 0
call edi
call fcn.00591510
mov eax, dword [0x6a0f44]
push eax
call ebx
push esi
call ebx
push esi
call fcn.00591430
call fcn.004a7b80
push 0
call fcn.0055f1c0
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00423fe0
add esp, 0xc
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x5c
ret