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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
mov ebx, 0x562208
cmp dword [0x536414], 0
je 0x4e81bb
cmp dword [0x536438], 0
je 0x4e81bb
movzx eax, word [ebp + 8]
mov dword [0x562210], eax
mov edx, dword [ebp + 8]
shr edx, 0x10
and dx, 0xffff
movzx ecx, dx
mov dword [0x562214], ecx
mov eax, dword [0x537418]
mov dword [ebx], eax
jmp 0x4e801a
push esi
lea esi, [eax + 0x81c]
mov edi, 0x562218
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop esi
inc dword [0x562220]
add dword [0x562224], 2
mov eax, dword [ebx]
cmp dword [eax + 0x82c], 0
je 0x4e8010
push dword [0x562214]
push dword [0x562210]
push 0x562218
call sub.USER32.dll_PtInRect
test eax, eax
je 0x4e8010
cmp esi, 1
jne 0x4e7e76
push 0
mov ecx, dword [ebx]
push dword [ecx]
call sub.USER32.dll_GetSystemMenu
mov edi, eax
mov dword [0x56220c], edi
test edi, edi
jne 0x4e7e23
push 0
call fcn.00415bea
jmp 0x4e8024
push 0x562210
push dword [0x536438]
call sub.USER32.dll_ClientToScreen
mov dword [0x536444], 1
push 0
mov eax, dword [ebx]
push dword [eax]
push 0
push dword [0x562214]
push dword [0x562210]
push 0
push dword [0x56220c]
call sub.USER32.dll_TrackPopupMenu
test eax, eax
jne 0x4e7e69
push 0
call fcn.00415bea
xor edx, edx
mov dword [0x536444], edx
jmp 0x4e8024
cmp dword [0x53742c], 0
je 0x4e7f1b
push 0x10
call sub.USER32.dll_GetKeyState
test ax, ax
jge 0x4e7ea3
push 0
push 0
push 0x10
mov ecx, dword [ebx]
push dword [ecx]
call sub.USER32.dll_PostMessageA
jmp 0x4e8024
push 0x11
call sub.USER32.dll_GetKeyState
test ax, ax
jge 0x4e7ee1
mov eax, dword [ebx]
push dword [eax]
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x4e8024
mov edx, dword [ebx]
push dword [edx]
call sub.USER32.dll_IsWindowVisible
test eax, eax
je 0x4e8024
push 1
mov ecx, dword [ebx]
push dword [ecx]
call fcn.004e7ba8
jmp 0x4e8024
mov eax, dword [ebx]
mov edx, dword [eax]
cmp edx, dword [0x53742c]
jne 0x4e7f79
mov ecx, dword [ebx]
push dword [ecx]
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x4e7f79
mov eax, dword [ebx]
push dword [eax]
call sub.USER32.dll_IsWindowVisible
test eax, eax
je 0x4e7f79
push 1
mov edx, dword [ebx]
push dword [edx]
call fcn.004e7ba8
jmp 0x4e8024
push 0x10
call sub.USER32.dll_GetKeyState
test ax, ax
jge 0x4e7f3b
push 0
push 0
push 0x10
mov ecx, dword [ebx]
push dword [ecx]
call sub.USER32.dll_PostMessageA
jmp 0x4e8024
push 0x11
call sub.USER32.dll_GetKeyState
test ax, ax
jge 0x4e7f79
mov eax, dword [ebx]
push dword [eax]
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x4e8024
mov edx, dword [ebx]
push dword [edx]
call sub.USER32.dll_IsWindowVisible
test eax, eax
je 0x4e8024
push 1
mov ecx, dword [ebx]
push dword [ecx]
call fcn.004e7ba8
jmp 0x4e8024
mov eax, dword [ebx]
push dword [eax]
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x4e7f93
mov edx, dword [ebx]
push dword [edx]
call sub.USER32.dll_IsWindowVisible
test eax, eax
jne 0x4e7fda
push 4
mov ecx, dword [ebx]
push dword [ecx]
call sub.USER32.dll_ShowWindow
cmp dword [0x532a30], 0
je 0x4e7fbd
push 0
push 0x7a
push 0x111
push dword [0x537420]
call sub.USER32.dll_PostMessageA
jmp 0x4e7fda
cmp dword [0x532a34], 0
je 0x4e7fda
push 0
push 0x7b
push 0x111
push dword [0x537420]
call sub.USER32.dll_PostMessageA
mov eax, dword [ebx]
push dword [eax]
call sub.USER32.dll_BringWindowToTop
mov edx, dword [ebx]
push dword [edx]
call sub.USER32.dll_SetActiveWindow
mov ecx, dword [ebx]
push dword [ecx]
call sub.USER32.dll_SetForegroundWindow
mov eax, dword [ebx]
push dword [eax]
call sub.USER32.dll_UpdateWindow
mov edx, dword [ebx]
push dword [edx]
call fcn.004e7a87
push dword [ebx]
call fcn.004e6fbd
jmp 0x4e8024
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x9a8]
mov dword [ebx], eax
mov eax, dword [ebx]
test eax, eax
jne 0x4e7dad
cmp dword [ebx], 0
jne 0x4e81bb
test esi, esi
jne 0x4e81b0
push dword [0x537424]
call sub.USER32.dll_UpdateWindow
push dword [0x537420]
call sub.USER32.dll_UpdateWindow
call fcn.004e6c8c
xor edx, edx
mov dword [0x536448], edx
mov dword [0x536440], 1
push 1
push 0x562210
push dword [0x537420]
push dword [0x536438]
call sub.USER32.dll_MapWindowPoints
jmp 0x4e8186
call sub.USER32.dll_GetActiveWindow
cmp eax, dword [0x537420]
je 0x4e80c0
mov eax, dword [0x536448]
test eax, eax
jle 0x4e80b4
push eax
movzx edx, word [0x562210]
movzx ecx, word [0x562214]
shl ecx, 0x10
or edx, ecx
push edx
call fcn.004e5414
jmp 0x4e8186
xor eax, eax
mov dword [0x536440], eax
jmp 0x4e8186
push 0x209
push 0x100
push dword [0x537420]
lea edx, [ebp - 0x1c]
push edx
call sub.USER32.dll_GetMessageA
test eax, eax
je 0x4e8186
cmp dword [ebp - 0x18], 0x200
jne 0x4e8122
inc dword [0x536448]
cmp dword [0x536448], 1
jne 0x4e8116
push 0
movzx ecx, word [0x562210]
movzx eax, word [0x562214]
shl eax, 0x10
or ecx, eax
push ecx
call fcn.004e5414
jmp 0x4e8186
push 0
push dword [ebp - 0x10]
call fcn.004e5414
jmp 0x4e8186
cmp dword [ebp - 0x18], 0x202
jne 0x4e8149
mov eax, dword [0x536448]
test eax, eax
jle 0x4e813f
push eax
push dword [ebp - 0x10]
call fcn.004e5414
jmp 0x4e8186
xor edx, edx
mov dword [0x536440], edx
jmp 0x4e8186
mov eax, dword [ebp - 0x18]
cmp eax, 0x100
jb 0x4e8186
cmp eax, 0x108
ja 0x4e8186
mov eax, dword [0x536448]
test eax, eax
jle 0x4e817f
push eax
movzx edx, word [0x562210]
movzx ecx, word [0x562214]
shl ecx, 0x10
or edx, ecx
push edx
call fcn.004e5414
jmp 0x4e8186
xor eax, eax
mov dword [0x536440], eax
cmp dword [0x536440], 0
jne 0x4e807f
push dword [0x537424]
call sub.USER32.dll_UpdateWindow
push dword [0x537420]
call sub.USER32.dll_UpdateWindow
call fcn.004e6c8c
jmp 0x4e81bb
dec esi
jne 0x4e81bb
push dword [ebp + 8]
call fcn.004a4e2d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8