Function at 0x40fa10
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x455efb
mov eax, dword fs:[0]
push eax
sub esp, 0x294
mov eax, dword [0x477070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x298], 0
push 0
mov dword [ebp - 4], 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x48]
mov esi, eax
test esi, esi
jne 0x40ffee
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
mov ecx, edi
call fcn.0040ed50
lea ecx, [edi + 4]
mov ebx, eax
push 0x469858
call fcn.004174a0
push eax
lea eax, [ebp - 0x228]
push 0x104
push eax
call fcn.0043efc6
lea eax, [edi + 0x298]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x40fae6
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x228]
push eax
call fcn.00433a70
push str.____Log_start
push 0x4656cc
push 0x477a14
call fcn.00433950
add esp, 0xc
cmp byte [edi + 0x235], 0
jne 0x40fbce
cmp dword [edi + 0x24c], 8
lea eax, [edi + 0x238]
jb 0x40fb35
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x298]
call fcn.004294b0
test eax, eax
je 0x40fbb7
cmp eax, 0x652
je 0x40fb82
push eax
push str.__Fatal_error_while_trying_to_obtain_single_instance_mutex___X_
push 0x4656cc
push 0x477a14
call fcn.00433950
push str.____Log_End
push 0x4656cc
push 0x477a14
call fcn.00433950
add esp, 0x1c
mov esi, 0x643
jmp 0x40ffee
push str.__Unable_to_obtain_single_instance_mutex_ownership
push 0x4656cc
push 0x477a14
call fcn.00433950
add esp, 0xc
push str.____Log_End
push 0x4656cc
push 0x477a14
call fcn.00433950
mov esi, 0x652
jmp 0x40ffeb
push str.Single_instance_mutex_has_been_obtained
push 0x4656cc
push 0x477a14
call fcn.00433950
add esp, 0xc
call fcn.004296d0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x58]
mov edx, dword [edi]
mov ecx, edi
movzx eax, word [edi + 0x348]
push eax
call dword [edx + 0x54]
mov esi, eax
test esi, esi
je 0x40fc20
push esi
push str.Language_load_error___d_
push 0x466060
push 0x477a14
call fcn.00433950
add esp, 0x10
push 0
push str.Setup
push str.Error_loading_language_resource
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x40ffee
test ebx, ebx
je 0x40fce7
push 0xa
push 8
lea eax, [ebp - 0x20]
push eax
push ebx
call fcn.004401cd
add esp, 0x10
lea eax, [ebp - 0x20]
lea ecx, [edi + 4]
push eax
push str.IIF_EXITCODE
call fcn.004175d0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
push ebx
push str.Command_line_error__d
push 0x466060
push 0x477a14
call fcn.00433950
add esp, 0x10
mov ecx, edi
call fcn.0040ccb0
test al, al
jne 0x40fc8f
mov dx, word [edi + 0x228]
push 0x1f9f
push ecx
push 0
push 2
xor ecx, ecx
call fcn.0041d500
add esp, 0x10
lea ebx, [edi + 4]
mov ecx, 0x4793b0
call fcn.00419660
mov ecx, dword [ebx + 4]
mov eax, 0x2aaaaaab
sub ecx, dword [ebx]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.Dumping_properties___d_total_
push 0x4656cc
push 0x477a14
call fcn.00433950
mov esi, dword [ebx]
add esp, 0x10
cmp esi, dword [edi + 8]
je 0x40fe38
cmp dword [esi + 0x2c], 8
jb 0x40fe04
mov ecx, dword [esi + 0x18]
jmp 0x40fe07
mov ecx, edi
call fcn.0040ccb0
test al, al
jne 0x40fd17
cmp byte [edi + 0x234], al
je 0x40fd17
push str._b__force_reboot__is_only_valid_in_silent_mode__switch_will_be_ignored
push 0x4662f8
push 0x477a14
mov byte [edi + 0x234], al
call fcn.00433950
add esp, 0xc
lea ebx, [edi + 4]
push str.IIF_FRESH
mov ecx, ebx
call fcn.00417500
test al, al
je 0x40fd62
mov ecx, edi
call fcn.0040cb60
cmp eax, 0xd
je 0x40fd42
mov ecx, edi
call fcn.0040cb60
cmp eax, 0xc
jne 0x40fd62
push str._repair_and__uninstall_switches_are_not_valid_with_fresh_install__they_will_be_ignored
push 0x4662f8
push 0x477a14
call fcn.00433950
add esp, 0xc
mov ecx, edi
push 0
call fcn.00410210
mov ecx, edi
call fcn.0040cb60
cmp eax, 0xd
ja case.0x40fd72.10
jmp dword [eax*4 + 0x410018]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x44]
jmp case.0x40fd72.10
mov ecx, edi
call fcn.0040c950
jmp case.0x40fd72.10
lea ecx, [edi + 0x1c]
call fcn.00409390
push str.Activating_setup_wizard
push 0x4656cc
push 0x477a14
call fcn.00433950
mov eax, dword [edi]
add esp, 0xc
mov ecx, edi
call dword [eax + 0x68]
jmp case.0x40fd72.10
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x34]
jmp case.0x40fd72.10
mov ecx, edi
call fcn.0040ca80
jmp case.0x40fd72.10
mov ecx, edi
call fcn.0040c220
jmp case.0x40fd72.10
mov ecx, edi
call fcn.0040b390
jmp case.0x40fd72.10
mov ecx, edi
call fcn.0040ba00
jmp case.0x40fd72.10
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x64]
jmp case.0x40fd72.10
lea ecx, [esi + 0x18]
cmp dword [esi + 0x14], 8
jb 0x40fe11
mov eax, dword [esi]
jmp 0x40fe13
mov eax, esi
push ecx
push eax
push str.___s_s
push 0x4656cc
push 0x477a14
call fcn.00433950
add esi, 0x30
add esp, 0x14
cmp esi, dword [edi + 8]
jne 0x40fcd5
push str.Dumping_feature_states
push 0x4656cc
push 0x477a14
call fcn.00433950
mov esi, dword [edi + 0x324]
add esp, 0xc
cmp esi, dword [edi + 0x328]
je 0x40fec9
mov dword [ebp - 0x29c], 0x46a300
cmp dword [esi + 0x4c], 8
jb 0x40fe72
mov edx, dword [esi + 0x38]
jmp 0x40fe75
lea edx, [esi + 0x38]
cmp dword [esi + 0x1c], 8
jb 0x40fe80
mov ecx, dword [esi + 8]
jmp 0x40fe83
lea ecx, [esi + 8]
cmp byte [esi + 0x69], 0
mov eax, 0x46a2f4
cmove eax, dword [ebp - 0x29c]
cmp byte [esi + 0x68], 0
push eax
mov eax, 0x46a2f4
cmove eax, dword [ebp - 0x29c]
push eax
push edx
push ecx
push str.__Feature:__s__Package:__s__Current:__s__New:__s
push 0x4656cc
push 0x477a14
call fcn.00433950
add esi, 0x6c
add esp, 0x1c
cmp esi, dword [edi + 0x328]
jne 0x40fe67
push str.IIF_EXITCODE
mov ecx, ebx
call fcn.004174a0
push eax
call fcn.004405d0
add esp, 4
mov ecx, edi
mov esi, eax
call fcn.0040ccb0
test al, al
je 0x40ff1a
cmp byte [edi + 0x234], 0
je 0x40ff1a
cmp esi, 0xbc2
jne 0x40ff03
mov esi, 0x669
jmp 0x40ff1a
push str.Force_reboot___b__switch_was_used_but_setup_does_not_require_a_reboot
push 0x4656cc
push 0x477a14
call fcn.00433950
add esp, 0xc
push str.IIF_EXITCODE
mov ecx, ebx
call fcn.004174a0
push eax
call fcn.004405d0
add esp, 4
cmp eax, 0x669
ja 0x40ff43
je 0x40ff51
test eax, eax
je 0x40ff51
cmp eax, 0x642
jmp 0x40ff48
cmp eax, 0xbc2
je 0x40ff51
mov esi, 0x643
jmp 0x40ff8b
test esi, esi
je 0x40ff65
cmp esi, 0x669
je 0x40ff65
cmp esi, 0xbc2
jne 0x40ff8b
mov ecx, edi
call fcn.0040cb60
cmp eax, 9
jl 0x40ff8b
cmp eax, 0xa
jle 0x40ff84
cmp eax, 0xd
jne 0x40ff8b
mov ecx, edi
call fcn.0040bc90
jmp 0x40ff8b
mov ecx, edi
call fcn.00410050
push esi
push str.Exit_code__command_line_:__d
push 0x4656cc
push 0x477a14
call fcn.00433950
add esp, 0x10
cmp esi, 0x669
jne 0x40ffd7
push str.IIF_NOINSTALL
mov ecx, ebx
call fcn.00417500
test al, al
jne 0x40ffd7
call fcn.0041c0f0
push str.Initiated_reboot
push 0x4656cc
push 0x477a14
call fcn.00433950
add esp, 0xc
push str.____Log_End
push 0x4656cc
push 0x477a14
call fcn.00433950
add esp, 0xc
lea ecx, [ebp - 0x298]
call fcn.00429430
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00436666
mov esp, ebp
pop ebp
ret