Function at 0x40154c
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
nop
mov eax, 0xffff
push eax
mov eax, 1
push eax
mov eax, 0
push eax
call sub.gdi32.dll_CreatePen
mov dword [0x40256c], eax
mov eax, 0
push eax
mov eax, 1
push eax
mov eax, 0
push eax
call sub.gdi32.dll_CreatePen
mov dword [0x402570], eax
mov eax, 0
mov dword [ebp - 0x64], eax
mov eax, 0xffff
mov dword [ebp - 0x60], eax
mov eax, 0
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
call sub.gdi32.dll_CreateBrushIndirect
mov dword [0x402574], eax
mov eax, 0
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x64]
push eax
call sub.gdi32.dll_CreateBrushIndirect
mov dword [0x402578], eax
mov eax, 0xff0000
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x64]
push eax
call sub.gdi32.dll_CreateBrushIndirect
mov dword [0x40257c], eax
mov eax, 3
mov dword [ebp - 0x58], eax
mov eax, 0x4012ed
mov dword [ebp - 0x54], eax
mov eax, 0
mov dword [ebp - 0x50], eax
mov eax, 0
mov dword [ebp - 0x4c], eax
mov eax, 0
mov dword [ebp - 0x3c], eax
mov eax, 0
mov dword [ebp - 0x38], eax
mov eax, 0x402030
mov dword [ebp - 0x34], eax
mov eax, 0
push eax
call sub.kernel32.dll_GetModuleHandleA
mov dword [ebp - 0x48], eax
mov eax, 0x64
push eax
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_LoadIconA
mov dword [ebp - 0x44], eax
mov eax, 0x7f00
push eax
mov eax, 0
push eax
call sub.user32.dll_LoadCursorA
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x58]
push eax
call sub.user32.dll_RegisterClassA
test eax, eax
je 0x401667
jmp 0x40168e
mov eax, 0x10
push eax
mov eax, str.Error
push eax
mov eax, str.This_program_requires_Windows_NT_
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
mov eax, 0
jmp 0x4017ed
mov eax, 0x190
push eax
mov eax, 0x280
push eax
mov eax, 0
push eax
mov eax, 0
push eax
lea eax, [ebp - 0x10]
push eax
call sub.user32.dll_SetRect
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0xcf0000
push eax
lea eax, [ebp - 0x10]
push eax
call sub.user32.dll_AdjustWindowRectEx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
sub eax, ecx
mov dword [ebp - 8], eax
mov eax, 0
push eax
call sub.user32.dll_GetSystemMetrics
mov ecx, dword [ebp - 8]
sub eax, ecx
mov ecx, 2
cdq
idiv ecx
mov dword [ebp - 0x10], eax
mov eax, 1
push eax
call sub.user32.dll_GetSystemMetrics
mov ecx, dword [ebp - 4]
sub eax, ecx
mov ecx, 3
cdq
idiv ecx
mov dword [ebp - 0xc], eax
mov eax, 0
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, 0xcf0000
push eax
mov eax, str.Smile_Faces____c__abreojosensamblador.net
push eax
mov eax, 0x402030
push eax
mov eax, 0
push eax
call sub.user32.dll_CreateWindowExA
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 0x14]
push eax
call sub.user32.dll_UpdateWindow
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0
push eax
lea eax, [ebp - 0x30]
push eax
call sub.user32.dll_GetMessageA
test eax, eax
je 0x4017a9
lea eax, [ebp - 0x30]
push eax
call sub.user32.dll_TranslateMessage
lea eax, [ebp - 0x30]
push eax
call sub.user32.dll_DispatchMessageA
jmp 0x401772
mov eax, dword [0x40256c]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [0x402570]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [0x402574]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [0x402578]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [0x40257c]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [ebp - 0x28]
jmp 0x4017ed
leave
ret 0x10