Function at 0x401c76
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x1c4
mov eax, dword [ebp + 0xc]
cmp eax, 5
je 0x402472
cmp eax, 5
ja 0x401ca4
cmp eax, 1
je 0x401cbd
cmp eax, 2
je 0x402583
jmp 0x402596
cmp eax, 0x10
je 0x402571
cmp eax, 0x111
je 0x402046
jmp 0x402596
mov dword [ebp - 0x34], 0xc8
mov dword [ebp - 0x30], 0x12c
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_GetMenu]
call eax
sub esp, 4
mov dword [esp + 4], 2
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_GetSubMenu]
call eax
sub esp, 8
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0xc350
mov eax, dword [0x423020]
lea edx, [ebp - 0x28]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x1387
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x80000000
mov dword [esp + 0x18], 0x80000000
mov dword [esp + 0x14], 0x80000000
mov dword [esp + 0x10], 0x80000000
mov dword [esp + 0xc], 0x42300000
mov dword [esp + 8], 0
mov dword [esp + 4], str.mdiclient
mov dword [esp], 0x200
mov eax, dword [sym.imp.USER32.dll_CreateWindowExA]
call eax
sub esp, 0x30
mov dword [0x423024], eax
mov eax, dword [0x423024]
mov dword [esp + 4], 5
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
call eax
sub esp, 8
mov eax, dword [0x423020]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x1385
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x50000100
mov dword [esp + 8], 0
mov dword [esp + 4], str.msctls_statusbar32
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_CreateWindowExA]
call eax
sub esp, 0x30
mov dword [0x423028], eax
lea edx, [ebp - 0x34]
mov eax, dword [0x423028]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 3
mov dword [esp + 4], 0x404
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
mov edx, 0x420208
mov eax, dword [0x423028]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 2
mov dword [esp + 4], 0x401
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
mov eax, dword [0x423020]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x1386
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x50000000
mov dword [esp + 8], 0
mov dword [esp + 4], str.ToolbarWindow32
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_CreateWindowExA]
call eax
sub esp, 0x30
mov dword [0x42302c], eax
mov eax, dword [0x42302c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0x41e
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x38], 0
lea edx, [ebp - 0x3c]
mov eax, dword [0x42302c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x413
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
mov dword [esp + 8], 0xb4
mov dword [esp + 4], 0
lea eax, [ebp - 0x170]
mov dword [esp], eax
call sym._memset
mov dword [ebp - 0x170], 6
mov byte [ebp - 0x168], 4
mov byte [ebp - 0x167], 0
mov dword [ebp - 0x16c], 0x236e
mov dword [ebp - 0x15c], 7
mov byte [ebp - 0x154], 4
mov byte [ebp - 0x153], 0
mov dword [ebp - 0x158], 0x2370
mov dword [ebp - 0x148], 8
mov byte [ebp - 0x13f], 0
mov dword [ebp - 0x144], 0x2371
mov byte [ebp - 0x12b], 1
mov dword [ebp - 0x120], 0
mov byte [ebp - 0x117], 0
mov dword [ebp - 0x11c], 0x2375
mov dword [ebp - 0x10c], 1
mov byte [ebp - 0x103], 0
mov dword [ebp - 0x108], 0x2376
mov dword [ebp - 0xf8], 2
mov byte [ebp - 0xef], 0
mov dword [ebp - 0xf4], 0x2377
mov byte [ebp - 0xdb], 1
mov dword [ebp - 0xd0], 3
mov byte [ebp - 0xc7], 0
mov dword [ebp - 0xcc], 0x2373
lea edx, [ebp - 0x170]
mov eax, dword [0x42302c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 9
mov dword [esp + 4], 0x414
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
mov eax, 0
jmp 0x4025cb
mov eax, dword [ebp + 0x10]
movzx eax, ax
sub eax, 0x236a
cmp eax, 0x10
ja case.0x402061.9073
mov eax, dword [eax*4 + 0x420414]
jmp eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x10
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_PostMessageA]
call eax
sub esp, 0x10
jmp 0x40246d
mov dword [ebp - 0x16c], 0x420245
mov dword [ebp - 0x170], str.537MDI
mov eax, dword [0x423020]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x15c], 0x80000000
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x158], 0x80000000
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x154], 1
lea edx, [ebp - 0x170]
mov eax, dword [0x423024]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x220
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x402142
mov dword [esp + 0xc], 0x30
mov dword [esp + 8], 0x420135
mov dword [esp + 4], 0x420250
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
nop
jmp 0x40246d
mov dword [esp + 8], 0
lea eax, [ebp - 0x170]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.GetFileName_HWND____char__int_
test eax, eax
sete al
test al, al
je 0x402173
jmp 0x402228
lea eax, [ebp - 0x170]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x194], str.537MDI
mov eax, dword [0x423020]
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x180], 0x80000000
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x17c], 0x80000000
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x178], 1
lea edx, [ebp - 0x194]
mov eax, dword [0x423024]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x220
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x402227
mov dword [esp + 0xc], 0x30
mov dword [esp + 8], 0x420135
mov dword [esp + 4], 0x420250
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
nop
jmp 0x4025c6
mov dword [esp + 4], 5
mov dword [esp], 0x420288
mov eax, dword [sym.imp.KERNEL32.dll_WinExec]
call eax
sub esp, 8
jmp 0x40246d
mov eax, dword [0x423024]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x226
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_PostMessageA]
call eax
sub esp, 0x10
jmp 0x40246d
mov eax, dword [0x423024]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x226
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_PostMessageA]
call eax
sub esp, 0x10
jmp 0x40246d
mov eax, dword [0x423024]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x227
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_PostMessageA]
call eax
sub esp, 0x10
jmp 0x40246d
mov eax, dword [0x423024]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x228
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_PostMessageA]
call eax
sub esp, 0x10
jmp 0x40246d
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x420297
mov dword [esp + 4], 0x4202ac
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
jmp 0x40246d
mov dword [esp + 0xc], 0x41
mov dword [esp + 8], 0x420334
mov dword [esp + 4], 0x420348
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
cmp eax, 1
sete al
test al, al
je 0x40239e
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.https:__sean537.github.io_help
mov dword [esp + 4], str.open
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.SHELL32.DLL_ShellExecuteA]
call eax
sub esp, 0x18
jmp 0x40246d
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.https:__sean537.github.io
mov dword [esp + 4], str.open
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.SHELL32.DLL_ShellExecuteA]
call eax
sub esp, 0x18
mov eax, dword [ebp + 0x10]
cmp ax, 0xc34f
jbe 0x402414
mov eax, dword [0x423024]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_DefFrameProcA]
call eax
sub esp, 0x14
jmp 0x40246d
mov eax, dword [0x423024]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x229
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40246d
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x111
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
jmp 0x4025c6
mov eax, dword [0x42302c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x421
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
mov eax, dword [0x423028]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 5
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
call eax
sub esp, 0x10
lea eax, [ebp - 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_GetClientRect]
call eax
sub esp, 8
mov eax, dword [0x423028]
lea edx, [ebp - 0x5c]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
call eax
sub esp, 8
mov eax, dword [0x42302c]
lea edx, [ebp - 0x6c]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_GetWindowRect]
call eax
sub esp, 8
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x68]
sub edx, eax
mov eax, edx
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x58]
sub edx, eax
mov eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
mov ebx, eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x18]
mov eax, dword [0x423024]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_MoveWindow]
call eax
sub esp, 0x18
nop
jmp 0x4025c6
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_DestroyWindow]
call eax
sub esp, 4
jmp 0x4025c6
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_PostQuitMessage]
call eax
sub esp, 4
jmp 0x4025c6
mov eax, dword [0x423024]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_DefFrameProcA]
call eax
sub esp, 0x14
jmp 0x4025cb
mov eax, 0
mov ebx, dword [ebp - 4]
leave
ret 0x10