Function at 0x401160
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x500
push ebp
push esi
mov esi, dword [esp + 0x50c]
mov ebp, ecx
test esi, esi
jne 0x401179
mov byte [ebp + 0x18], 0
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x401392
mov al, byte [ebp + 0x18]
test al, al
jne 0x401392
mov ecx, dword [str.03.05.18]
push edi
push 0x40
lea edx, [esp + 0x90]
push ecx
push edx
call fcn.00419c4e
mov eax, dword [0x42a10c]
mov ecx, dword [0x42a110]
mov dl, byte [0x42a114]
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.00410fa4
lea ecx, [esp + 0x4c]
push str.Pre_Alpha
push ecx
call fcn.0041b590
add esp, 8
test eax, eax
jne 0x401251
lea edx, [esp + 0xc]
mov edi, 0x42a0f0
jmp 0x4012b2
lea eax, [esp + 0x4c]
push str.Alpha
push eax
call fcn.0041b590
add esp, 8
test eax, eax
jne 0x401272
lea edx, [esp + 0xc]
mov edi, 0x42a0e4
jmp 0x4012b2
lea eax, [esp + 0x4c]
push str.Beta
push eax
call fcn.0041b590
add esp, 8
test eax, eax
jne 0x401293
lea edx, [esp + 0xc]
mov edi, 0x42a0d8
jmp 0x4012b2
lea eax, [esp + 0x4c]
push str.Production
push eax
call fcn.0041b590
add esp, 8
test eax, eax
jne 0x4012d7
lea edx, [esp + 0xc]
mov edi, 0x42a0c8
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.00410fa4
lea esi, [esp + 0x10c]
mov eax, str.Egan
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401320
test cl, cl
je 0x40131c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401320
add eax, 2
add esi, 2
test cl, cl
jne 0x4012fc
xor eax, eax
jmp 0x401325
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40134d
mov edi, 0x432408
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xc]
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 0x4013b2
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.00419bfc
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