Function at 0x402340
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x64]
push 8
push edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebp, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x64], ebp
cmp eax, 0x113
ja 0x4025fd
je 0x402610
cmp eax, 0x14
ja 0x402535
je 0x4024ea
sub eax, 2
je 0x4024f9
sub eax, 0xd
jne 0x402622
lea eax, [esp + 0x20]
push eax
push edi
call dword [sym.imp.USER32.dll_BeginPaint]
mov eax, dword [0x447520]
test eax, eax
je 0x4024de
mov ecx, dword [esp + 0x20]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
mov eax, dword [0x447524]
test eax, eax
je 0x402408
mov ebx, dword [sym.imp.GDI32.dll_UnrealizeObject]
push eax
call ebx
mov edx, dword [0x447524]
mov ebp, dword [sym.imp.GDI32.dll_SelectPalette]
mov eax, dword [esp + 0x20]
push 0
push edx
push eax
call ebp
mov ecx, dword [esp + 0x20]
push ecx
call dword [sym.imp.GDI32.dll_RealizePalette]
mov edx, dword [0x447524]
push edx
call ebx
mov eax, dword [0x447524]
push 0
push eax
push esi
call ebp
push esi
call dword [sym.imp.GDI32.dll_RealizePalette]
mov ebp, dword [esp + 0x64]
mov ecx, dword [0x447520]
mov ebx, dword [sym.imp.GDI32.dll_SelectObject]
push ecx
push esi
call ebx
mov edx, dword [0x44752c]
mov eax, dword [0x447528]
mov ecx, dword [esp + 0x20]
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 0x4024d7
mov edx, dword [esp + 0x20]
push 0
push edx
call dword [sym.imp.GDI32.dll_SetTextColor]
push 1
mov eax, dword [esp + 0x24]
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 0x40247d
mov ecx, dword [esp + 0x20]
push eax
push ecx
call ebx
mov eax, dword [esp + 0x20]
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], 0xf
mov dword [esp + 0x28], 0x50
mov dword [esp + 0x2c], 0x10e
mov dword [esp + 0x30], 0x71
call ebx
lea ecx, [esp + 0x10]
push 0x11
mov edx, dword [esp + 0x24]
push ecx
push 0xffffffffffffffff
add eax, 0x50
push ebp
push edx
mov dword [esp + 0x28], 0x50
mov dword [esp + 0x30], eax
call ebx
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
lea eax, [esp + 0x20]
push eax
push edi
call dword [sym.imp.USER32.dll_EndPaint]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret 0x10
mov eax, dword [0x447520]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
xor edi, edi
cmp eax, edi
je 0x402513
push eax
call esi
mov dword [0x447520], edi
mov eax, dword [0x447524]
cmp eax, edi
je 0x402622
push eax
call esi
mov dword [0x447524], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x50
ret 0x10
cmp eax, 0x110
jne 0x402622
mov ebx, dword [esp + 0x70]
push ebx
push 8
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 1
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
mov al, byte [ebx]
test al, al
je 0x402567
push ebx
push esi
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x447520
push 0x29b
call fcn.004012f0
mov eax, dword [0x447520]
test eax, eax
je 0x4025d5
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 4
push 8
call esi
mov ecx, dword [0x44752c]
lea edx, [ecx + eax*2]
push edx
push 7
call esi
mov ecx, dword [0x447528]
lea edx, [ecx + eax*2]
push edx
push 1
call esi
sub eax, dword [0x44752c]
cdq
sub eax, edx
sar eax, 1
push eax
push 0
call esi
sub eax, dword [0x447528]
cdq
sub eax, edx
sar eax, 1
push eax
push 0
push edi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov al, byte [ebx]
push 0
neg al
sbb eax, eax
and eax, 0x578
add eax, 0x578
push eax
push 5
push edi
call dword [sym.imp.USER32.dll_SetTimer]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x50
ret 0x10
sub eax, 0x136
je 0x402644
sub eax, 2
je 0x40262e
sub eax, 0xca
jne 0x402622
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, 0x50
ret 0x10
mov esi, dword [esp + 0x6c]
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, 0x50
ret 0x10