Function at 0x4011a0
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x500
push ebp
push esi
mov esi, dword [esp + 0x50c]
mov ebp, ecx
test esi, esi
jne 0x4011b9
mov byte [ebp + 0x18], 0
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x401446
mov al, byte [ebp + 0x18]
test al, al
jne 0x401446
mov ecx, dword [str.03.08.26]
push edi
push 0x40
lea edx, [esp + 0x90]
push ecx
push edx
call fcn.0043312c
mov eax, dword [0x44a174]
mov ecx, dword [0x44a178]
mov dl, byte [0x44a17c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov ecx, 0xd
xor eax, eax
lea edi, [esp + 0x21]
mov byte [esp + 0x20], dl
add esp, 0xc
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edi, [esp + 0x8c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x40
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x10]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + ecx + 0x10], al
lea eax, [esp + 0x50]
push eax
push str.BuildLevel
push 0
call fcn.00413c6a
lea ecx, [esp + 0x4c]
push str.Pre_Alpha
push ecx
call fcn.00434f20
add esp, 8
test eax, eax
jne 0x401291
lea edx, [esp + 0xc]
mov edi, 0x44a158
jmp 0x4012f2
lea eax, [esp + 0x4c]
push str.Alpha
push eax
call fcn.00434f20
add esp, 8
test eax, eax
jne 0x4012b2
lea edx, [esp + 0xc]
mov edi, 0x44a14c
jmp 0x4012f2
lea eax, [esp + 0x4c]
push str.Beta
push eax
call fcn.00434f20
add esp, 8
test eax, eax
jne 0x4012d3
lea edx, [esp + 0xc]
mov edi, 0x44a140
jmp 0x4012f2
lea eax, [esp + 0x4c]
push str.Production
push eax
call fcn.00434f20
add esp, 8
test eax, eax
jne 0x401317
lea edx, [esp + 0xc]
mov edi, 0x44a130
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x10c]
push 0x400
push eax
push str.Customisation
push 0
call fcn.00413c6a
lea esi, [esp + 0x10c]
mov eax, str.Egan
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401360
test cl, cl
je 0x40135c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401360
add eax, 2
add esi, 2
test cl, cl
jne 0x40133c
xor eax, eax
jmp 0x401365
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4013db
lea esi, [esp + 0x10c]
mov eax, str.EganPPT
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401399
test cl, cl
je 0x401395
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401399
add eax, 2
add esi, 2
test cl, cl
jne 0x401375
xor eax, eax
jmp 0x40139e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4013db
lea esi, [esp + 0x10c]
mov eax, str.EganPPT2
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4013d2
test cl, cl
je 0x4013ce
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4013d2
add eax, 2
add esi, 2
test cl, cl
jne 0x4013ae
xor eax, eax
jmp 0x4013d7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401401
mov edi, 0x4540b0
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp + 4]
lea ecx, [esp + 0xc]
push ecx
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [ebp + 0x10]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp + 0x10]
mov esi, dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push 0
push ecx
call esi
mov edx, dword [ebp + 0xc]
push 1
push 0
push edx
call esi
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x510]
pop edi
cmp esi, 0x64
jle 0x401466
push 0x3e8
mov byte [ebp + 0x18], 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp + 0x10]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp + 0xc]
push 0
push esi
push 0x402
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
push esi
lea edx, [esp + 0xcc]
push str._d__
push edx
call fcn.004330da
mov ecx, dword [ebp + 8]
add esp, 0xc
lea eax, [esp + 0xc8]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
pop esi
pop ebp
add esp, 0x500
ret 4