Function at 0x10095e70
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [0x1014e914]
push edi
mov edi, ecx
cmp dword [esi], 0
je 0x10095ebc
mov eax, dword [esi + 4]
cmp eax, 2
je 0x10095e9d
cmp eax, 3
je 0x10095e9d
cmp eax, 4
je 0x10095e9d
cmp eax, 5
jne 0x10095eb4
push str.MenuStyle
push dword [esi]
call fcn.100dc721
add esp, 8
test eax, eax
je 0x1009607f
add esi, 0x60
cmp dword [esi], 0
jne 0x10095e86
xor esi, esi
mov dword [ebp - 4], esi
mov ebx, dword [sym.imp.USER32.dll_CheckDlgButton]
xor eax, eax
test esi, esi
sete al
push eax
push 0x42f
push dword [edi + 4]
call ebx
xor eax, eax
cmp esi, 1
sete al
push eax
push 0x430
push dword [edi + 4]
call ebx
xor eax, eax
cmp esi, 2
sete al
push eax
push 0x431
push dword [edi + 4]
call ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x43e
push dword [edi + 4]
call ebx
xor ecx, ecx
mov edx, 5
test esi, esi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
cmove ecx, edx
push ecx
push eax
call esi
push 0x43f
push dword [edi + 4]
call ebx
xor ecx, ecx
mov edx, 5
cmp dword [ebp - 4], 1
cmove ecx, edx
push ecx
push eax
call esi
push 0x440
push dword [edi + 4]
call ebx
xor ecx, ecx
mov edx, 5
cmp dword [ebp - 4], 2
cmove ecx, edx
push ecx
push eax
call esi
mov ecx, str.MenuStyle
call fcn.100aaa20
xor ebx, ebx
test al, al
push 0x42f
push dword [edi + 4]
sete bl
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push ebx
push eax
call esi
push 0x430
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push eax
call esi
push 0x431
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push eax
mov ebx, esi
call ebx
mov esi, dword [0x1014e914]
cmp dword [esi], 0
je 0x10095fdc
cmp dword [esi + 4], 1
jne 0x10095fd4
push str.EnableStartButton
push dword [esi]
call fcn.100dc721
add esp, 8
test eax, eax
je 0x100960a0
add esi, 0x60
cmp dword [esi], 0
jne 0x10095fb7
xor esi, esi
mov dword [ebp - 4], esi
call fcn.100115e0
push esi
push 0x435
push dword [edi + 4]
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0x435
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, str.EnableStartButton
mov esi, eax
call fcn.100aaa20
xor ecx, ecx
test al, al
sete cl
push ecx
push esi
call ebx
mov esi, dword [ebp - 8]
xor eax, eax
test esi, esi
sete al
push eax
push 0x438
push dword [edi + 4]
call dword [sym.imp.USER32.dll_CheckDlgButton]
xor eax, eax
cmp esi, 1
sete al
push eax
push 0x437
push dword [edi + 4]
call dword [sym.imp.USER32.dll_CheckDlgButton]
xor eax, eax
cmp esi, 2
sete al
push eax
push 0x439
push dword [edi + 4]
call dword [sym.imp.USER32.dll_CheckDlgButton]
cmp dword [ebp - 4], 0
je 0x100960e5
mov ecx, str.StartButtonType
call fcn.100aaa20
test al, al
jne 0x100960e5
mov esi, 1
jmp 0x100960e7
push 0x10158d3c
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
mov esi, dword [esi + 0x40]
push 0x10158d3c
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
jmp 0x10095ec1
push 0x10158d3c
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
cmp word [esi + 0x38], 3
jne 0x100960d0
cmp dword [esi + 0x40], 1
jne 0x100960d0
mov esi, 1
push 0x10158d3c
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
jmp 0x10095fe1
xor esi, esi
push 0x10158d3c
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
jmp 0x10095fe1
xor esi, esi
push 0x438
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push eax
call ebx
push 0x437
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push eax
call ebx
push 0x439
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push eax
call ebx
push esi
push dword [edi + 0x54]
call ebx
push esi
push dword [edi + 0x58]
call ebx
push esi
push dword [edi + 0x5c]
call ebx
cmp dword [ebp - 4], 0
je 0x10096150
cmp dword [ebp - 8], 2
jne 0x10096150
mov ecx, str.StartButtonPath
call fcn.100aaa20
test al, al
jne 0x10096150
mov esi, 1
jmp 0x10096152
xor esi, esi
push 0x424
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push eax
call ebx
mov ebx, dword [ebp + 8]
mov ecx, edi
push ebx
call fcn.10095b10
mov cl, bl
call fcn.10099300
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4