Function at 0x420cb0
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x23c
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ecx, dword [0x62f460]
push 0x13a04984
mov dword [esp + 0x18], edi
call fcn.004fbe50
push eax
lea eax, [esp + 0x150]
push eax
call fcn.004c13b0
mov ebp, dword [esp + 0x258]
add esp, 8
lea ecx, [esp + 0x14c]
push ecx
push ebp
call dword [sym.imp.user32.dll_SetWindowTextA]
push ebp
mov ecx, 0x60c120
call fcn.00420520
mov esi, dword [sym.imp.user32.dll_GetDlgItem]
push 0
push 0x401
push ebp
call esi
mov ebx, dword [sym.imp.user32.dll_ShowWindow]
push eax
call ebx
push 0
push 0x3f9
push ebp
call esi
push eax
call ebx
lea ecx, [esp + 0x38]
call fcn.004c19a0
push str.SOFTWARESCi_GamesCDS_IIDevice_Settings_
push 0x80000002
lea ecx, [esp + 0x40]
call fcn.004c1ab0
lea edx, [esp + 0x1c]
push edx
or ebx, 0xffffffff
push str.AdapterIndex
lea ecx, [esp + 0x40]
mov dword [edi + 0x10], ebx
mov dword [edi + 8], ebx
call fcn.004c19b0
cmp eax, 1
jne 0x420d6c
mov eax, dword [esp + 0x1c]
mov dword [edi + 8], eax
lea ecx, [esp + 0x1c]
push ecx
push str.ResolutionIndex
lea ecx, [esp + 0x40]
call fcn.004c19b0
cmp eax, 1
jne 0x420d8b
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x10], edx
mov eax, dword [edi + 8]
test eax, eax
jl 0x420dff
mov ecx, dword [edi + 0x10]
test ecx, ecx
jl 0x420dff
mov ecx, dword [edi + 4]
imul eax, eax, 0x68bc
lea eax, [eax + ecx + 0xf8]
mov dword [edi + 0x14], ebx
mov ecx, dword [eax + 0x45c]
xor edx, edx
test ecx, ecx
jbe 0x420df8
lea ebx, [eax + 0x460]
xor ecx, ecx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x10]
cmp dword [ebx], 1
jne 0x420ddf
mov ebx, dword [edi + 0x10]
shl ebx, 5
add ebx, ecx
mov ebx, dword [ebx + eax + 0x5b8]
mov dword [edi + 0x14], ebx
add dword [esp + 0x10], 0x1410
mov ebx, dword [eax + 0x45c]
inc edx
add ecx, 0x1410
cmp edx, ebx
jb 0x420dc4
mov eax, dword [edi + 0x14]
test eax, eax
jg 0x420e07
mov ecx, edi
push ebp
call fcn.00420740
push 0x3fa
push ebp
call esi
push 0x3fc
push ebp
mov ebx, eax
call esi
push 0x405
push ebp
mov edi, eax
call esi
mov esi, dword [sym.imp.user32.dll_SendMessageA]
push 0
push 0
push 0x14b
mov ebp, eax
push ebx
mov dword [esp + 0x44], ebp
call esi
push 0
push 0
push 0x14b
push edi
call esi
xor edi, edi
push edi
push edi
push 0x14b
push ebp
call esi
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
cmp dword [eax + 0xf0], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x10], edi
jbe 0x420f80
add eax, 0x554
mov dword [esp + 0x20], eax
mov ecx, dword [eax]
xor ebp, ebp
test ecx, ecx
jbe 0x420f55
lea ecx, [eax + 0x144]
mov dword [esp + 0x18], ecx
lea ecx, [ecx]
mov edx, dword [esp + 0x18]
cmp dword [edx - 0x140], 1
jne 0x420f3c
add eax, 0xfffffda4
push eax
push 0
push 0x143
push ebx
call esi
movzx ecx, word [esp + 0x10]
mov edi, eax
movzx eax, bp
shl eax, 0x10
or eax, ecx
push eax
push edi
push 0x151
push ebx
call esi
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
cmp dword [eax + 8], edx
jne 0x420ef6
push 0
push edi
push 0x14e
push ebx
call esi
mov dword [esp + 0x30], ebp
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
test eax, eax
jbe 0x420f38
add ecx, 0x18
mov edx, eax
mov eax, dword [ecx]
cmp eax, 0x10
je 0x420f2a
cmp eax, 0x18
je 0x420f20
cmp eax, 0x20
jne 0x420f32
mov dword [esp + 0x28], 1
jmp 0x420f32
mov dword [esp + 0x24], 1
jmp 0x420f32
mov dword [esp + 0x2c], 1
add ecx, 0x20
dec edx
jne 0x420f05
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax]
inc ebp
add edx, 0x1410
cmp ebp, ecx
mov dword [esp + 0x18], edx
jb 0x420ea0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [edx + 4]
mov edi, dword [edx + 0xf0]
inc ecx
add eax, 0x68bc
cmp ecx, edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
jb 0x420e87
mov ebp, dword [esp + 0x34]
mov ecx, dword [0x62f460]
push 0xb0ed920d
call fcn.004fbe50
mov edx, dword [0x60c1b8]
or edi, 0xffffffff
cmp edx, edi
mov ecx, 0x60c1b8
je 0x420fb6
cmp dword [ecx], 0x10
je 0x420fb3
mov edx, dword [ecx + 8]
add ecx, 8
cmp edx, edi
jne 0x420fa2
jmp 0x420fb6
mov dword [ecx + 4], eax
mov ecx, dword [0x62f460]
push 0x8c468fcc
call fcn.004fbe50
cmp dword [0x60c1b8], edi
mov ecx, 0x60c1b8
je 0x420fe7
cmp dword [ecx], 0x18
je 0x420fe4
mov edx, dword [ecx + 8]
add ecx, 8
cmp edx, edi
jne 0x420fd3
jmp 0x420fe7
mov dword [ecx + 4], eax
mov ecx, dword [0x62f460]
push 0x575c3aaf
call fcn.004fbe50
cmp dword [0x60c1b8], edi
mov ecx, 0x60c1b8
je 0x421018
cmp dword [ecx], 0x20
je 0x421015
mov edx, dword [ecx + 8]
add ecx, 8
cmp edx, edi
jne 0x421004
jmp 0x421018
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
mov ebx, 1
cmp eax, ebx
jne 0x42106c
push 0x10
push 0x60c1b8
call fcn.004c0d80
push eax
lea eax, [esp + 0x58]
push eax
call fcn.004c13b0
add esp, 0x10
push eax
push 0
push 0x143
push ebp
call esi
push 0x10
mov edi, eax
push edi
push 0x151
push ebp
call esi
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x14], 0x10
jne 0x42106c
push 0
push edi
push 0x14e
push ebp
call esi
cmp dword [esp + 0x24], ebx
jne 0x4210b9
push 0x18
push 0x60c1b8
call fcn.004c0d80
push eax
lea edx, [esp + 0x58]
push edx
call fcn.004c13b0
add esp, 0x10
push eax
push 0
push 0x143
push ebp
call esi
push 0x18
mov edi, eax
push edi
push 0x151
push ebp
call esi
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x14], 0x18
jne 0x4210b9
push 0
push edi
push 0x14e
push ebp
call esi
cmp dword [esp + 0x28], ebx
jne 0x421106
push 0x20
push 0x60c1b8
call fcn.004c0d80
push eax
lea ecx, [esp + 0x58]
push ecx
call fcn.004c13b0
add esp, 0x10
push eax
push 0
push 0x143
push ebp
call esi
push 0x20
mov edi, eax
push edi
push 0x151
push ebp
call esi
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x14], 0x20
jne 0x421106
push 0
push edi
push 0x14e
push ebp
call esi
mov eax, dword [esp + 0x30]
cmp eax, 0xffffffff
je 0x421133
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x10]
push 0x258
push 0x320
push edx
mov edx, dword [esp + 0x25c]
push eax
mov eax, dword [ecx + 8]
push eax
push edx
call fcn.00420900
lea ecx, [esp + 0x38]
call fcn.004c1a70
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x23c
ret 4