Function at 0x404890
Capabilities:
Hide graphical window
Terminate process

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x70]
push ebx
push ecx
sub esp, 0xc8
mov ebx, dword [ecx]
mov edi, dword [ecx + 0xc]
call dword [sym.imp.comctl32.dll_InitCommonControls]
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], esi
mov dword [esp + 4], 0x44d
mov dword [esp], ebx
call dword [sym.imp.user32.dll_LoadStringW]
mov dword [ebp - 0x48], 0x30
sub esp, 0x10
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], sym._MainProc_16
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], ebx
mov dword [esp + 4], 1
mov dword [esp], ebx
call dword [sym.imp.user32.dll_LoadIconW]
sub esp, 8
mov dword [ebp - 0x30], eax
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
call dword [sym.imp.user32.dll_LoadCursorW]
sub esp, 8
mov dword [ebp - 0x2c], eax
mov dword [esp], 4
call dword [sym.imp.gdi32.dll_GetStockObject]
mov ecx, dword [sym.imp.user32.dll_GetSystemMetrics]
mov dword [ebp - 0x24], 1
sub esp, 4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x20], esi
mov dword [esp], 0x32
call ecx
mov ecx, dword [ebp - 0xa0]
sub esp, 4
mov dword [ebp - 0x9c], eax
mov dword [esp], 0x31
call ecx
mov edx, dword [ebp - 0x9c]
sub esp, 4
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0x8000
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov dword [esp], ebx
call dword [sym.imp.user32.dll_LoadImageW]
mov dword [ebp - 0x1c], eax
sub esp, 0x18
lea eax, [ebp - 0x48]
mov dword [esp], eax
call dword [sym.imp.user32.dll_RegisterClassExW]
sub esp, 4
test ax, ax
je 0x404b04
mov dword [esp + 8], esi
mov dword [esp + 4], esi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x80000000
mov dword [esp + 0x18], 0x80000000
mov dword [esp + 0x14], 0x80000000
mov dword [esp + 0x10], 0x80000000
mov dword [esp + 0xc], 0xca0000
mov dword [esp], 0
call dword [sym.imp.user32.dll_CreateWindowExW]
sub esp, 0x30
mov esi, eax
test eax, eax
je 0x404b04
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.user32.dll_ShowWindow]
sub esp, 8
mov dword [esp], esi
call dword [sym.imp.user32.dll_UpdateWindow]
sub esp, 4
mov dword [esp], ebx
lea ebx, [ebp - 0x8c]
mov dword [esp + 4], 0x4b1
call dword [sym.imp.user32.dll_LoadAcceleratorsW]
sub esp, 8
mov edi, eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3e8
mov dword [esp + 4], 0x3e8
mov dword [esp], esi
call dword [sym.imp.user32.dll_SetTimer]
sub esp, 0x10
jmp 0x404a9c
mov dword [esp], ebx
call dword [sym.imp.user32.dll_DispatchMessageW]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [sym.imp.user32.dll_GetMessageW]
sub esp, 0x10
test eax, eax
je 0x404af0
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call dword [sym.imp.user32.dll_TranslateAcceleratorW]
sub esp, 0xc
test eax, eax
jne 0x404a90
mov dword [esp], ebx
call dword [sym.imp.user32.dll_TranslateMessage]
sub esp, 4
jmp 0x404a90
mov eax, dword [ebp - 0x84]
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_ExitProcess]