Function at 0x401000
Capabilities:
Get graphical window text
Get keyboard layout
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push 0
mov edx, dword [sym.imp.kernel32.dll_GetModuleHandleA]
call edx
sub esp, 4
mov dword [0x40201f], eax
jmp 0x401177
mov dword [esp], 0x402037
mov dword [esp + 4], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
jmp 0x401667
mov edx, dword [sym.imp.user32.dll_DispatchMessageA]
call edx
sub esp, 4
jmp 0x40101d
leave
mov eax, dword [0x40203f]
mov dword [esp], eax
je 0x40169b
je 0x4010ea
mov dword [esp + 0x1c], 0x64
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov eax, dword [0x40201f]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
jmp 0x401094
mov edx, dword [sym.imp.user32.dll_CreateWindowExA]
call edx
sub esp, 0x30
test eax, eax
je 0x40104e
jmp 0x40101d
mov dword [0x402023], eax
mov dword [esp], 0
mov dword [esp + 4], 0x7f00
call dword [sym.imp.user32.dll_LoadCursorA]
sub esp, 8
jmp 0x4010c7
mov dword [0x402027], eax
mov eax, 0x40200f
mov dword [esp], eax
call dword [sym.imp.user32.dll_RegisterClassA]
sub esp, 4
test eax, eax
je 0x40104e
jmp 0x40173c
call dword [sym.imp.user32.dll_CreatePopupMenu]
call dword [sym.imp.user32.dll_InsertMenuA]
call dword [sym.imp.user32.dll_DeleteMenu]
call dword [sym.imp.GDI32.dll_CreatePalette]
push 0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
call dword [sym.imp.kernel32.dll_GetLastError]
call dword [sym.imp.GDI32.dll_UpdateColors]
call dword [sym.imp.kernel32.dll_VirtualProtect]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
push 0
call dword [sym.imp.GDI32.dll_SetBkMode]
call dword [sym.imp.GDI32.dll_GetBkMode]
push 0
call dword [sym.imp.GDI32.dll_ExtTextOutW]
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
push 0
call dword [sym.imp.kernel32.dll_ExitProcess]
push 0x7f02
push 0
mov edx, dword [sym.imp.user32.dll_LoadIconA]
call edx
sub esp, 8
jmp 0x4010a8
call dword [sym.imp.user32.dll_GetMessageA]
sub esp, 0x10
cmp eax, 1
jb 0x40104e
jne 0x40101d
mov dword [esp], 0x402037
call dword [sym.imp.user32.dll_TranslateMessage]
sub esp, 4
mov dword [esp], 0x402037
jmp 0x401041
call dword [sym.imp.user32.dll_InvalidateRect]
call dword [sym.imp.user32.dll_SetWindowPos]
call dword [sym.imp.user32.dll_EndPaint]
push 0
call dword [sym.imp.user32.dll_GetWindowTextA]
call dword [sym.imp.user32.dll_GetWindowTextLengthA]
call dword [sym.imp.user32.dll_GetClientRect]
call dword [sym.imp.user32.dll_BeginPaint]
push 0
call dword [sym.imp.user32.dll_SetWindowTextA]
call dword [sym.imp.user32.dll_MsgWaitForMultipleObjects]
call dword [sym.imp.user32.dll_IsWindow]
call dword [sym.imp.user32.dll_CreateCaret]
push 0
call dword [sym.imp.user32.dll_TranslateMessage]
call dword [sym.imp.user32.dll_EnableMenuItem]
push 0
call dword [sym.imp.user32.dll_GetCursorPos]
call dword [sym.imp.user32.dll_TrackPopupMenu]
push 0
call dword [sym.imp.user32.dll_GetScrollInfo]
call dword [sym.imp.user32.dll_ScreenToClient]
push 0
call dword [sym.imp.user32.dll_GetKeyboardLayout]
call dword [sym.imp.user32.dll_SetKeyboardState]
call dword [sym.imp.user32.dll_ToUnicodeEx]
call dword [sym.imp.user32.dll_ToAsciiEx]
push 0
call dword [sym.imp.user32.dll_SetScrollInfo]
call dword [sym.imp.user32.dll_GetMessageTime]
call dword [sym.imp.kernel32.dll_AreFileApisANSI]
push 0
ret
mov dword [esp], 0
mov dword [esp + 4], 0x402000
mov dword [esp + 8], 0x40200a
mov dword [esp + 0xc], 0x80000
mov dword [esp + 0x10], pe_nt_image_headers32
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x18], 0x100
jmp 0x401063