Function at 0x401c50
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x15c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x170]
push 8
push edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebp, eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x20], ebp
cmp eax, 0xf
ja 0x401e4f
je 0x401cca
sub eax, 2
jne case.0x401f9b.279
mov eax, dword [0x445ca0]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
xor edi, edi
cmp eax, edi
je 0x401ca5
push eax
call esi
mov dword [0x445ca0], edi
mov eax, dword [0x445ca4]
cmp eax, edi
je case.0x401f9b.279
push eax
call esi
mov dword [0x445ca4], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x15c
ret 0x10
lea eax, [esp + 0x24]
push eax
push edi
call dword [sym.imp.USER32.dll_BeginPaint]
mov eax, dword [0x445ca0]
test eax, eax
je 0x401e31
mov ecx, dword [esp + 0x24]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
mov eax, dword [0x445ca4]
test eax, eax
je 0x401d42
mov ebx, dword [sym.imp.GDI32.dll_UnrealizeObject]
push eax
call ebx
mov edx, dword [0x445ca4]
mov ebp, dword [sym.imp.GDI32.dll_SelectPalette]
mov eax, dword [esp + 0x24]
push 0
push edx
push eax
call ebp
mov ecx, dword [esp + 0x24]
push ecx
call dword [sym.imp.GDI32.dll_RealizePalette]
mov edx, dword [0x445ca4]
push edx
call ebx
mov eax, dword [0x445ca4]
push 0
push eax
push esi
call ebp
push esi
call dword [sym.imp.GDI32.dll_RealizePalette]
mov ebp, dword [esp + 0x20]
mov ecx, dword [0x445ca0]
mov ebx, dword [sym.imp.GDI32.dll_SelectObject]
push ecx
push esi
call ebx
mov edx, dword [0x445cac]
mov eax, dword [0x445ca8]
mov ecx, dword [esp + 0x24]
push 0xcc0020
push 0
push 0
push esi
push edx
push eax
push 0
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
cmp byte [ebp], 0
je 0x401e2a
mov eax, dword [0x445508]
test eax, eax
jne 0x401e2a
mov edx, dword [esp + 0x24]
push 0
push edx
call dword [sym.imp.GDI32.dll_SetTextColor]
push 1
mov eax, dword [esp + 0x28]
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
push 0
push 0
push 0x31
push 1
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
test eax, eax
je 0x401dc4
mov ecx, dword [esp + 0x24]
push eax
push ecx
call ebx
mov eax, dword [esp + 0x24]
mov ebx, dword [sym.imp.USER32.dll_DrawTextA]
lea edx, [esp + 0x10]
push 0x411
push edx
push 0xffffffffffffffff
push ebp
push eax
mov dword [esp + 0x24], 0xe
mov dword [esp + 0x28], 0x45
mov dword [esp + 0x2c], 0x108
mov dword [esp + 0x30], 0x71
call ebx
mov ecx, eax
mov eax, 0x36
sub eax, ecx
push 0x11
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
sar eax, 1
add eax, 0x45
add ecx, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x14]
push ecx
push 0xffffffffffffffff
push ebp
push edx
call ebx
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
lea eax, [esp + 0x24]
push eax
push edi
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x15c
ret 0x10
cmp eax, 0x110
ja 0x401f87
je 0x401e77
cmp eax, 0x14
jne case.0x401f9b.279
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x15c
ret 0x10
mov esi, dword [esp + 0x17c]
push esi
push 8
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
lea ecx, [esp + 0x64]
push 0x105
push ecx
call fcn.0042a9c0
lea edx, [esp + 0x64]
push 1
push edx
call fcn.0042a360
lea eax, [esp + 0x64]
push str.closing.bmp
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x64]
push 0x445ca0
push ecx
call fcn.004026f0
push 1
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, eax
mov al, byte [esi]
test al, al
je 0x401edb
push esi
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x445ca0]
test eax, eax
jne 0x401eff
push 0x445ca0
push 0x29b
call fcn.00402800
mov dword [0x445508], 0
jmp 0x401f09
mov dword [0x445508], 1
mov eax, dword [0x445ca0]
test eax, eax
je 0x401f68
push 0
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 4
push 8
call esi
mov edx, dword [0x445cac]
lea eax, [edx + eax*2]
push eax
push 7
call esi
mov ecx, dword [0x445ca8]
lea edx, [ecx + eax*2]
push edx
push 1
call esi
sub eax, dword [0x445cac]
cdq
sub eax, edx
sar eax, 1
push eax
push 0
call esi
sub eax, dword [0x445ca8]
cdq
sub eax, edx
sar eax, 1
push eax
push 0
push edi
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0
push 0xbb8
push 5
push edi
call dword [sym.imp.USER32.dll_SetTimer]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x15c
ret 0x10
add eax, 0xfffffeed
cmp eax, 0xef
ja case.0x401f9b.279
xor ecx, ecx
mov cl, byte [eax + 0x402008]
jmp dword [ecx*4 + 0x401ff4]
mov esi, dword [esp + 0x178]
push 1
push esi
call dword [sym.imp.GDI32.dll_SetBkMode]
push 0
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
push 1
call dword [sym.imp.GDI32.dll_GetStockObject]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x15c
ret 0x10
push 5
push edi
call dword [sym.imp.USER32.dll_KillTimer]
push 1
push edi
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x15c
ret 0x10