Function at 0x402470
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov eax, dword [0x418f5c]
xor eax, ebp
mov dword [ebp - 0x2c], eax
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x78], eax
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x78]
sub eax, dword [0x4189b0]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 8]
sub eax, dword [0x4189b4]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 4], eax
push 0
mov eax, dword [0x41a834]
push eax
push 0
push 0
mov ecx, dword [0x4189b4]
push ecx
mov edx, dword [0x4189b0]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x74]
push ecx
push 0xcf0000
push 0x418b28
push 0x418994
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x64]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
test eax, eax
je 0x402530
mov edx, dword [ebp - 0x50]
mov dword [0x4189c0], edx
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x54]
mov dword [0x4189c4], eax
mov ecx, dword [ebp - 0x90]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
lea edx, [ebp - 0x88]
push edx
mov eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0xc], ecx
mov edx, dword [0x4189c0]
imul edx, edx, 3
mov dword [ebp - 0x74], edx
mov eax, dword [0x4189c4]
shl eax, 1
mov dword [ebp - 4], eax
push 0
mov ecx, dword [0x41a834]
push ecx
push 0
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [0x4189c4]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [0x4189c0]
imul eax, eax, 6
mov ecx, dword [ebp - 0xc]
sub ecx, eax
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x74]
push eax
push 0x50000000
push 0x41a97c
push 0x418b38
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0x8c], eax
push str.Installation_Directory:
mov ecx, dword [ebp - 0x8c]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov edx, dword [0x4189c4]
mov eax, dword [ebp - 4]
lea ecx, [eax + edx*2]
mov dword [ebp - 4], ecx
push 0
mov edx, dword [0x41a834]
push edx
push 0
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [0x4189c4]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
push eax
mov ecx, dword [0x4189c0]
imul ecx, ecx, 6
mov edx, dword [ebp - 0xc]
sub edx, ecx
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x74]
push ecx
push 0x50800080
push 0x41a97d
push 0x418b58
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x41a96c], eax
push str.c:dislin
mov edx, dword [0x41a96c]
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x4189c4]
imul eax, eax, 3
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [0x4189c0]
imul ecx, ecx, 6
mov dword [ebp - 0x74], ecx
mov eax, dword [0x4189c4]
imul eax, eax, 7
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x6c], eax
mov edx, dword [0x4189c0]
imul edx, edx, 0xc
mov dword [ebp - 0x70], edx
push 0
mov eax, dword [0x41a834]
push eax
push 0
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x74]
push edx
push 0x50000000
push 0x418b6c
push 0x418b70
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x41a850], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x70]
mov ecx, dword [0x4189c0]
imul ecx, ecx, 6
sub eax, ecx
mov dword [ebp - 0x74], eax
push 0
mov edx, dword [0x41a834]
push edx
push 0
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x74]
push ecx
push 0x50000000
push str.Cancel
push str.button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x41a83c], eax
push 5
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0
push 0
lea ecx, [ebp - 0x28]
push ecx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x402740
lea edx, [ebp - 0x28]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x402716
cmp dword [0x41a970], 1
jne 0x402750
or eax, 0xffffffff
jmp 0x402752
xor eax, eax
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.00404c6e
mov esp, ebp
pop ebp
ret