Function at 0x405150
Capabilities:
Hide graphical window

Disassembly:
push esi
push ebx
sub esp, 0x34
mov esi, dword [esp + 0x40]
mov dword [esp], 0
mov dword [0x459294], esi
call dword [sym.imp.USER32.dll_GetDC]
sub esp, 4
test eax, eax
je 0x4054b0
mov ebx, eax
mov dword [esp + 4], 0xc
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
sub esp, 8
mov byte [0x45048c], 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 [0x45048c], 0x1f
ja 0x4054b7
mov dword [esp], eax
mov dword [0x450488], eax
call sub.msvcrt.dll_malloc
mov dword [0x450494], eax
mov dword [0x450490], eax
test eax, eax
je 0x4051f6
mov dword [esp + 4], ebx
mov dword [esp + 8], 1
mov dword [esp], 0x1d678
call fcn.004279d0
mov ebx, eax
test eax, eax
je 0x405250
mov eax, dword [0x45929c]
mov dword [0x459004], 0x42b368
mov dword [0x459000], 0x42b368
mov dword [esp + 8], eax
mov eax, dword [0x459294]
mov dword [0x459008], 0x10
mov dword [esp + 0x10], 0x459000
mov dword [esp + 0xc], 0x402210
mov dword [esp + 4], 0x8c
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 [0x450494]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x2d0
mov dword [esp + 0x10], eax
movzx eax, byte [0x45048c]
mov dword [esp], 0x500
mov dword [esp + 0xc], eax
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov dword [0x4584d4], eax
mov eax, dword [0x459294]
sub esp, 0x14
mov dword [esp + 4], 0x70
mov dword [esp], eax
call dword [sym.imp.USER32.dll_LoadBitmapW]
sub esp, 8
mov dword [0x4584cc], eax
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
mov dword [0x4584c8], eax
sub esp, 4
xor eax, eax
cmp word [0x458e44], 0
je 0x4052d2
cmp word [0x458f20], 0
jne 0x4054d0
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], 0x4505e0
mov dword [esp + 4], 0x450500
mov dword [esp], 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x45929c], eax
sub esp, 0x30
test eax, eax
je 0x405246
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 [0x450484]
sub esp, 0x10
add eax, 0x1230
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov dword [esp], ebx
call esi
mov eax, dword [0x45929c]
sub esp, 0x10
mov dword [esp + 4], 3
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x45929c]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edx, dword [0x4504dc]
sub esp, 4
test edx, edx
jne 0x405510
mov eax, dword [0x450494]
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
cmp byte [eax], 0
jne 0x405550
mov eax, dword [0x456340]
test eax, eax
je 0x405440
cmp eax, 0xffff
jg 0x405440
mov dword [esp], 0x45634c
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
sub esp, 4
call fcn.0041a5e0
test eax, eax
je 0x405580
mov eax, dword [0x456340]
test eax, eax
je 0x4054e0
cmp eax, 0xffff
jg 0x4054e0
mov dword [esp], 0xf
call fcn.00412c40
jmp 0x40546e
mov eax, dword [0x45929c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3db
mov dword [esp + 4], 7
mov dword [esp], eax
call ebx
mov eax, dword [0x456340]
sub esp, 0x10
test eax, eax
jne 0x4053f9
mov eax, dword [0x45929c]
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 [0x45048c], 0x20
mov ebx, 0x384000
mov eax, 0x384000
jmp 0x4051bd
mov eax, dword [0x458e50]
mov ebx, dword [0x458e4c]
jmp 0x4052d2
movzx eax, byte [0x456348]
mov dword [esp + 8], 1
mov dword [esp], 0xd
mov dword [esp + 4], eax
call fcn.0041a080
mov dword [esp], 0xd
call fcn.00412c40
jmp 0x40546e
mov eax, dword [0x45929c]
mov dword [esp + 0xc], 0
mov dword [0x4504dc], 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 0x4053d5
mov eax, dword [0x45929c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc6f
mov dword [esp + 4], 9
mov dword [esp], eax
call ebx
sub esp, 0x10
jmp 0x4053e9
mov dword [esp], 0xc
call fcn.00412c40
mov dword [0x456340], 0
jmp 0x40546e