Function at 0x407879
Capabilities:
Hide graphical window
Log keystrokes via application hook

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
nop
mov eax, 0
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, 0x608
ja 0x4078e5
jmp 0x4078aa
mov eax, dword [ebp - 4]
mov ecx, eax
inc eax
mov dword [ebp - 4], eax
jmp 0x40788b
mov eax, 0x40a8e0
mov ecx, dword [ebp - 4]
add eax, ecx
mov ecx, dword [ebp - 4]
shl ecx, 1
mov edx, section..data
add edx, ecx
movzx ecx, byte [edx]
mov byte [eax], cl
mov eax, 0x40aee8
mov ecx, dword [ebp - 4]
add eax, ecx
mov ecx, dword [ebp - 4]
shl ecx, 1
inc ecx
mov edx, section..data
add edx, ecx
movzx ecx, byte [edx]
mov byte [eax], cl
jmp 0x40789f
mov eax, 3
mov dword [ebp - 0x4c], eax
mov eax, 0x407b1d
mov dword [ebp - 0x48], eax
mov eax, 0
mov dword [ebp - 0x44], eax
mov eax, 0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
mov eax, 0x40aee8
push eax
mov eax, 0x40a8e0
push eax
mov eax, 0x18
push eax
mov eax, 1
push eax
mov eax, 0x20
push eax
mov eax, 0x20
push eax
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_CreateIcon
mov dword [ebp - 0x38], eax
mov eax, 0x7f89
push eax
mov eax, 0
push eax
call sub.user32.dll_LoadCursorA
mov dword [ebp - 0x34], eax
mov eax, 0
push eax
call sub.gdi32.dll_GetStockObject
mov dword [ebp - 0x30], eax
mov eax, 0
mov dword [ebp - 0x2c], eax
mov eax, str.KeyboardHookClass
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x4c]
push eax
call sub.user32.dll_RegisterClassA
test eax, eax
je 0x407983
jmp 0x4079aa
mov eax, 0x10
push eax
mov eax, str.KeyboardHookClass
push eax
mov eax, str.This_program_requires_Windows_NT_
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
mov eax, 1
jmp 0x407b19
mov eax, 0
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, 0x402182
push eax
mov eax, 0xd
push eax
call sub.user32.dll_SetWindowsHookExA
mov dword [0x40b4fc], eax
mov eax, dword [0x40b4fc]
cmp eax, 0
jne 0x407a01
mov eax, 0x10
push eax
mov eax, 0x40a0d1
push eax
mov eax, str.Failed_to_install_keyboard_hook__Please_contact_to_programmer.
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
mov eax, 1
jmp 0x407b19
mov eax, 0
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0x44
push eax
mov eax, 0x12c
push eax
mov eax, 0
push eax
mov eax, 0x2fa
push eax
mov eax, 0xca0008
push eax
mov eax, str.Shahid_Mughdho_Keyboard
push eax
mov eax, str.KeyboardHookClass
push eax
mov eax, 0
push eax
call sub.user32.dll_CreateWindowExA
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_UpdateWindow
mov eax, 0x40a0ef
push eax
mov eax, 0x10
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0x190
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0x10
push eax
call sub.gdi32.dll_CreateFontA
mov dword [ebp - 0x50], eax
mov eax, 1
push eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, 0x30
push eax
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_SendMessageA
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0
push eax
lea eax, [ebp - 0x24]
push eax
call sub.user32.dll_GetMessageA
test eax, eax
je 0x407b11
lea eax, [ebp - 0x24]
push eax
call sub.user32.dll_TranslateMessage
lea eax, [ebp - 0x24]
push eax
call sub.user32.dll_DispatchMessageA
jmp 0x407ada
mov eax, dword [ebp - 0x1c]
jmp 0x407b19
leave
ret 0x10