Function at 0x41976e
Capabilities:
Terminate process

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push ebx
push ecx
sub esp, 0x30
mov ebx, ecx
call fcn.00423ff0
mov dword [ebp - 0xc], 0
mov byte [ebp - 0xd], 1
mov byte [ebp - 0xe], 0
mov byte [ebp - 0xf], 0
mov dword [esp], str.Starting_installer
call fcn.00411655
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebx]
jge 0x4197e2
mov eax, dword [ebp - 0x14]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], eax
mov dword [esp], str.Param__d:__s
call fcn.00411655
add dword [ebp - 0x14], 1
jmp 0x4197ad
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebx]
jge 0x419c16
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str._msi
mov dword [esp], eax
call sub.msvcrt.dll__stricmp
test eax, eax
sete al
test al, al
je 0x419825
mov byte [0x467042], 1
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a071
mov dword [esp], eax
call sub.msvcrt.dll__stricmp
test eax, eax
je 0x41986f
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str._smartupdate
mov dword [esp], eax
call sub.msvcrt.dll__stricmp
test eax, eax
jne 0x419876
mov eax, 1
jmp 0x41987b
mov eax, 0
test al, al
je 0x419883
mov byte [ebp - 0xf], 1
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a08b
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x4198cd
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a08e
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4198d1
mov byte [ebp - 0xe], 1
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a091
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x41991b
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str._nopam
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x419922
mov byte [0x445ca4], 0
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a09f
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x41996c
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a0a2
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x419973
mov byte [0x46703d], 1
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a0a5
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x4199bd
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str._updateconfig
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4199c4
mov byte [0x46703e], 1
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a0c1
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x419a0e
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str._server
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x419a2d
add dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebx]
jge 0x419a2d
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a0d1
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x419a77
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str._loginType
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x419a98
add dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebx]
jge 0x419a98
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [str.both], eax
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a0e7
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x419ae2
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str._enableCloseSession
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x419b03
add dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebx]
jge 0x419b03
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [0x445ca8], eax
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a10f
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x419b4d
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str._forceStartupLogin
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x419b6e
add dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebx]
jge 0x419b6e
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [0x445cac], eax
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a135
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x419bb8
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str._force
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x419bbc
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], 0x44a143
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x419c06
mov eax, dword [ebp - 0x18]
lea edx, [eax*4]
mov eax, dword [ebx + 4]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str._nogina
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x419c0d
mov byte [0x467041], 1
add dword [ebp - 0x18], 1
jmp 0x4197e9
cmp byte [ebp - 0xe], 0
je 0x419c3d
call fcn.00411583
mov dword [esp + 4], eax
mov dword [esp], str.uninstall.exe
call fcn.0041961c
mov dword [ebp - 0x1c], 0
jmp 0x419e75
movzx eax, byte [ebp - 0xf]
xor eax, 1
test al, al
jne 0x419c51
call fcn.004169b6
test al, al
je 0x419c58
mov eax, 1
jmp 0x419c5d
mov eax, 0
test al, al
je 0x419e75
mov dword [esp], str.Preparing_install
call fcn.00411655
mov eax, dword [ebp - 0xc]
mov dword [esp + 4], eax
mov dword [esp], str.Configured_server__s
call fcn.00411655
cmp byte [ebp - 0xd], 0
je 0x419ce7
call fcn.00418ca3
mov byte [ebp - 0x1d], al
cmp byte [ebp - 0x1d], 0
je 0x419ce7
mov dword [esp], str.Installation_aborted_due_to_pending_changes_to_apply
call fcn.00411655
movzx eax, byte [0x46703d]
xor eax, 1
test al, al
je 0x419cdb
mov dword [esp + 0xc], 0x30
mov dword [esp + 8], str.Soffid_ESSO
mov dword [esp + 4], str.A_prior_installation_needed_to_reboot_the_system._nReboot_prior_to_install
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
mov dword [esp], 0xffffffff
call sub.msvcrt.dll_exit
mov dword [esp], 1
call fcn.00418e89
mov dword [ebp - 0x1c], eax
movzx eax, byte [0x467041]
test al, al
je 0x419d06
call fcn.004194a2
cmp dword [ebp - 0x1c], 0
jne 0x419d85
cmp dword [ebp - 0xc], 0
je 0x419d85
movzx eax, byte [0x467040]
test al, al
je 0x419d39
movzx eax, byte [0x46703e]
xor eax, 1
test al, al
je 0x419d39
mov dword [esp], str.Skipping_server_configuration
call fcn.0041b00c
jmp 0x419d85
mov eax, dword [ebp - 0xc]
mov dword [esp + 4], eax
mov dword [esp], str.Connecting_to__s
call fcn.0041b00c
call fcn.00411583
mov edx, dword [ebp - 0xc]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041a851
xor eax, 1
test al, al
je 0x419d85
movzx eax, byte [0x46703d]
xor eax, 1
test al, al
je 0x419d7e
mov dword [ebp - 0x1c], 1
jmp 0x419d85
mov dword [ebp - 0x1c], 3
call fcn.0041afa7
cmp dword [ebp - 0x1c], 0
je 0x419dd0
movzx eax, byte [0x46703d]
xor eax, 1
test al, al
je 0x419e75
mov dword [esp + 0xc], 0x30
mov dword [esp + 8], str.Soffid_ESSO
mov dword [esp + 4], str.Installation_has_failed._Please__look_at_log_file
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
jmp 0x419e75
movzx eax, byte [0x46703f]
test al, al
je 0x419e2b
movzx eax, byte [0x46703d]
xor eax, 1
test al, al
je 0x419e75
mov dword [esp + 0xc], 0x30
mov dword [esp + 8], str.Soffid_ESSO
mov dword [esp + 4], str.Reboot_is_needed_in_order_to_complete_setup
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
movzx eax, byte [0x467040]
xor eax, 1
test al, al
je 0x419e75
call fcn.004196ec
jmp 0x419e75
movzx eax, byte [0x46703d]
xor eax, 1
test al, al
je 0x419e75
mov dword [esp + 0xc], 0x30
mov dword [esp + 8], str.Soffid_ESSO
mov dword [esp + 4], str.Installation_complete
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
movzx eax, byte [0x467040]
xor eax, 1
test al, al
je 0x419e75
call fcn.004196ec
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_ExitProcess]
call eax
push ebp
mov ebp, esp
sub esp, 8
mov ecx, 0x46704c
call fcn.0043dfb0
leave
ret