Function at 0x405290
Capabilities:
Hide graphical window

Disassembly:
push esi
push ebx
sub esp, 0x34
mov esi, dword [esp + 0x40]
mov dword [esp], 0
mov dword [0x45b0d4], esi
call dword [sym.imp.USER32.dll_GetDC]
sub esp, 4
test eax, eax
je 0x4055e8
mov ebx, eax
mov dword [esp + 4], 0xc
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
sub esp, 8
mov byte [0x45248c], al
mov dword [esp + 4], ebx
mov ebx, 0x2a3000
mov dword [esp], 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, 0x2a3000
sub esp, 8
cmp byte [0x45248c], 0x1f
ja 0x4055ef
mov dword [esp], eax
mov dword [0x452488], eax
call sub.msvcrt.dll_malloc
mov dword [0x452494], eax
mov dword [0x452490], eax
test eax, eax
je 0x405336
mov dword [esp + 4], ebx
mov dword [esp + 8], 1
mov dword [esp], 0x1a38c
call fcn.0042bd00
mov ebx, eax
test eax, eax
je 0x405390
mov eax, dword [0x45b0dc]
mov dword [0x45ae44], 0x42f360
mov dword [0x45ae40], 0x42f360
mov dword [esp + 8], eax
mov eax, dword [0x45b0d4]
mov dword [0x45ae48], 0x10
mov dword [esp + 0x10], 0x45ae40
mov dword [esp + 0xc], 0x402210
mov dword [esp + 4], 0x89
mov dword [esp], eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
sub esp, 0x14
add esp, 0x34
xor eax, eax
pop ebx
pop esi
ret
mov eax, dword [0x452494]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x2d0
mov dword [esp + 0x10], eax
movzx eax, byte [0x45248c]
mov dword [esp], 0x500
mov dword [esp + 0xc], eax
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov dword [0x45a314], eax
mov eax, dword [0x45b0d4]
sub esp, 0x14
mov dword [esp + 4], 0x86
mov dword [esp], eax
call dword [sym.imp.USER32.dll_LoadBitmapW]
sub esp, 8
mov dword [0x45a30c], eax
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
mov dword [0x45a308], eax
sub esp, 4
xor eax, eax
cmp word [0x45ac84], 0
je 0x405412
cmp word [0x45ad60], 0
jne 0x405600
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x80000000
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0xcf0000
mov dword [esp + 8], 0x4525e0
mov dword [esp + 4], 0x452500
mov dword [esp], 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x45b0dc], eax
sub esp, 0x30
test eax, eax
je 0x405386
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov esi, dword [sym.imp.USER32.dll_AppendMenuW]
sub esp, 8
mov ebx, eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x800
mov dword [esp], eax
call esi
mov eax, dword [0x452484]
sub esp, 0x10
add eax, 0x806
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
mov eax, dword [0x45b0dc]
sub esp, 0x10
mov dword [esp + 4], 3
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x45b0dc]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edx, dword [0x4524dc]
sub esp, 4
test edx, edx
jne 0x405640
mov eax, dword [0x4583e0]
test eax, eax
je 0x405570
cmp eax, 0xffff
jg 0x405570
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
mov dword [esp], 0x4583ec
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
sub esp, 4
call fcn.0041a550
test eax, eax
je 0x405680
mov eax, dword [0x4583e0]
test eax, eax
je 0x405610
cmp eax, 0xffff
jg 0x405610
mov dword [esp], 0xf
call fcn.0040fc50
jmp 0x4055a4
mov eax, dword [0x45b0dc]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3db
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
mov dword [esp + 4], 7
mov dword [esp], eax
call ebx
mov eax, dword [0x4583e0]
sub esp, 0x10
test eax, eax
jne 0x40552b
mov eax, dword [0x45b0dc]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xea60
mov dword [esp + 4], 1
mov dword [esp], eax
call ebx
sub esp, 0x10
mov dword [esp], 0x80000003
call dword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
mov eax, 1
sub esp, 4
add esp, 0x34
pop ebx
pop esi
ret
mov byte [0x45248c], 0x20
mov ebx, 0x384000
mov eax, 0x384000
jmp 0x4052fd
mov eax, dword [0x45ac90]
mov ebx, dword [0x45ac8c]
jmp 0x405412
movzx eax, byte [0x4583e8]
mov dword [esp + 8], 1
mov dword [esp], 0xd
mov dword [esp + 4], eax
call fcn.0041a000
mov dword [esp], 0xd
call fcn.0040fc50
jmp 0x4055a4
mov eax, dword [0x45b0dc]
mov dword [esp + 0xc], 0
mov dword [0x4524dc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x207
mov dword [esp], eax
call dword [sym.imp.USER32.dll_PostMessageW]
sub esp, 0x10
jmp 0x405515
mov dword [esp], 0xc
call fcn.0040fc50
mov dword [0x4583e0], 0
jmp 0x4055a4