Function at 0x4017d0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52809a
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x571674]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0040cc10
mov eax, dword [esi + 0x20]
xor ebx, ebx
push ebx
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
call fcn.00412ece
mov ebp, eax
cmp ebp, ebx
je 0x4018bb
call fcn.0041122a
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40183e
push 0x80004005
call fcn.004033f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x18], edi
push 0x65
mov dword [esp + 0x8c], ebx
call fcn.00413767
cmp eax, ebx
je 0x401870
push 0x65
push eax
lea ecx, [esp + 0x20]
call fcn.00403290
mov edi, dword [esp + 0x18]
cmp dword [edi - 0xc], ebx
je 0x401894
mov ecx, dword [ebp + 4]
push ebx
push ebx
push 0x800
push ecx
call dword [sym.imp.USER32.dll_AppendMenuA]
mov edx, dword [ebp + 4]
push edi
push 0x10
push ebx
push edx
call dword [sym.imp.USER32.dll_AppendMenuA]
add edi, 0xfffffff0
mov dword [esp + 0x88], 0xffffffff
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4018bb
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
push 1
push 0x80
push ecx
call edi
mov eax, dword [esi + 0xc8]
mov edx, dword [esi + 0x20]
push eax
push ebx
push 0x80
push edx
call edi
push 4
call fcn.0040373c
add esp, 4
cmp eax, ebx
je 0x4018fe
lea ecx, [esp + 0x2c]
mov dword [eax], ecx
jmp 0x401900
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x88], 2
push 1
mov ebp, 0xf
push 0x550d50
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], bl
call fcn.004023f0
mov byte [esp + 0x88], 3
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edi, eax
mov ecx, edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
lea ebp, [ecx + 1]
mov al, byte [ecx]
inc ecx
cmp al, bl
jne 0x401960
sub ecx, ebp
push ecx
push edi
lea ecx, [esp + 0x4c]
call fcn.004023f0
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov byte [esp + 0x94], 4
call fcn.00401500
mov ebp, 0x10
add esp, 0xc
mov byte [esp + 0x88], 3
cmp dword [esp + 0x5c], ebp
jb 0x4019b3
mov edx, dword [esp + 0x48]
push edx
call fcn.0040376b
add esp, 4
mov edi, 0xf
mov byte [esp + 0x88], 2
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
cmp dword [esp + 0x78], ebp
jb 0x4019df
mov eax, dword [esp + 0x64]
push eax
call fcn.0040376b
add esp, 4
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x38]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
cmp ecx, 1
jae 0x401a47
push ebx
push ebx
push 0x550d54
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x8c], 0xffffffff
call fcn.00401fb0
xor eax, eax
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x20]
lea eax, [esp + 0x1c]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esi + 0x74]
mov edx, dword [edx + 0x54]
push ebx
push 0x2766
push esi
lea eax, [esp + 0x28]
push eax
push 0x50000000
lea edi, [esi + 0x74]
push ebx
push ebx
mov ecx, edi
call edx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push 1
sub ecx, eax
push ecx
mov ecx, dword [esp + 0x24]
sub edx, ecx
push edx
push eax
push ecx
mov ecx, edi
call fcn.0040bdab
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x401abf
call fcn.0050230a
mov esi, dword [esp + 0x38]
cmp dword [esi + 0x18], ebp
jb 0x401ac9
mov esi, dword [esi + 4]
jmp 0x401acc
add esi, 4
push ebx
push ebx
push ebx
push ebx
push esi
push 0x572ea8
push ebx
push ebx
push 1
push 0x68
push edi
call fcn.0040be75
add esp, 0x2c
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x8c], 0xffffffff
call fcn.00401fb0
mov eax, 1
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret