Function at 0x408700
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42b279
mov eax, dword fs:[0]
push eax
sub esp, 0x224
mov eax, dword [0x438080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], 0
push 0xb0
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xc8], 0
push 0
push eax
mov byte [ebp - 4], 2
call fcn.00410dc0
add esp, 8
lea ecx, [ebp - 0xc4]
call fcn.00403550
mov edx, 0x43407c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb4]
call fcn.004041d0
mov edx, 0x4341e4
mov ecx, eax
call fcn.0040bc00
lea edx, [ebp + 8]
mov ecx, eax
call fcn.004040e0
sub esp, 0x18
lea ecx, [ebp - 0xc4]
mov eax, esp
mov dword [ebp - 0xe8], esp
mov bl, 1
push eax
call fcn.00403440
sub esp, 0x18
mov byte [ebp - 4], 4
mov ecx, esp
lea eax, [ebp + 0x20]
mov dword [ebp - 0xcc], ecx
push eax
call fcn.00403930
mov cl, bl
mov byte [ebp - 4], 3
call fcn.004023c0
add esp, 0x30
mov dword [ebp - 0xc8], eax
test eax, eax
js 0x408586
lea ecx, [ebp - 0xc4]
call fcn.00402680
mov ecx, dword [ebp + 0x1c]
cmp ecx, 7
jbe 0x4084d3
mov edx, dword [ebp + 8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4084c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4085b6
push ecx
push edx
call fcn.0040f314
add esp, 8
mov ecx, dword [ebp + 0x34]
xor eax, eax
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 7
mov word [ebp + 8], ax
cmp ecx, 7
jbe 0x408521
mov edx, dword [ebp + 0x20]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408517
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4085b6
push ecx
push edx
call fcn.0040f314
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040f2d1
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0xe4]
call fcn.00401ff0
push eax
push 0x6d
push 0xffffffffffffffff
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 5
call fcn.0040cfe0
push 0x4372a4
lea eax, [ebp - 0x140]
push eax
call fcn.004107bc
call fcn.004140a6
lea ecx, [ebp - 0xe4]
call fcn.00401ff0
push eax
push 0x6d
push 0xffffffffffffffff
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 7
call fcn.0040cfe0
push 0x4372a4
lea eax, [ebp - 0x168]
push eax
call fcn.004107bc
lea ecx, [ebp - 0xe4]
call fcn.00401ff0
push eax
push 0x6b
push 0xffffffffffffffff
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 8
call fcn.0040cfe0
push 0x4372a4
lea eax, [ebp - 0x190]
push eax
call fcn.004107bc
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp + 8]
call fcn.00405f20
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 9
call fcn.00401ff0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0xa
push ecx
push eax
push 0x6c
push ecx
lea ecx, [ebp - 0x1b8]
call fcn.0040d230
push 0x4372a4
lea eax, [ebp - 0x1b8]
push eax
call fcn.004107bc
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp + 8]
call fcn.00405f40
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0xb
push ecx
mov ecx, eax
call fcn.00405f20
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xc
call fcn.00401ff0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0xd
push ecx
push eax
push 0x6a
push ecx
lea ecx, [ebp - 0x1e0]
call fcn.0040d230
push 0x4372a4
lea eax, [ebp - 0x1e0]
push eax
call fcn.004107bc
lea ecx, [ebp - 0x100]
call fcn.00401ff0
push eax
push 0x6d
push 0x6a
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0xe
call fcn.0040cfe0
push 0x4372a4
lea eax, [ebp - 0x208]
push eax
call fcn.004107bc
nop
xchg byte fs:[eax], al
sbb eax, dword [esi - 0x7a14ffc0]
inc eax
add byte [ebx + 0x55004085], bh
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42b2eb
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x438080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], 0
lea ecx, [ebp + 8]
push 0x433f68
mov byte [ebp - 4], 1
call fcn.0040bb50
push eax
lea ecx, [ebp - 0x44]
call fcn.00403930
push 0xb0
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 2
push 0
push eax
call fcn.00410dc0
add esp, 8
lea ecx, [ebp - 0xf4]
call fcn.00403550
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 3
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edx, dword [ebp - 0xf8]
mov esi, eax
push 0x433f74
mov ecx, esi
call fcn.00402840
add esp, 4
test eax, eax
je 0x4087f7
mov edx, str._migrateOldSetup
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, 0x433ed0
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, str._components
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, 0x4341e4
mov ecx, eax
call fcn.0040bc00
mov edx, 0x4341e8
mov ecx, eax
call fcn.0040bc00
jmp 0x408898
mov edx, dword [ebp - 0xf8]
mov ecx, esi
push 0x433f80
call fcn.00402840
add esp, 4
lea ecx, [ebp - 0xe4]
test eax, eax
je 0x40881d
mov edx, str._uninstall
jmp 0x408893
mov edx, str._install
call fcn.004041d0
mov edx, 0x433ed0
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, str._components
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, 0x4341e4
mov ecx, eax
call fcn.0040bc00
mov edx, 0x4341e8
mov ecx, eax
call fcn.0040bc00
mov edx, dword [ebp - 0xf8]
mov ecx, esi
push 0x433f84
call fcn.00402840
add esp, 4
test eax, eax
je 0x408898
mov edx, 0x433ed0
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, str._fromMsi
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, dword [ebp - 0xf8]
mov ecx, esi
push 0x433f88
call fcn.00402840
add esp, 4
test eax, eax
je 0x4088d1
mov edx, 0x433ed0
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, str._silent
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, dword [ebp - 0xf8]
mov ecx, esi
push 0x433f70
call fcn.00402840
add esp, 4
test eax, eax
je 0x40890a
mov edx, 0x433ed0
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, str._allUsers
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, dword [ebp - 0xf8]
mov ecx, esi
push 0x433f78
call fcn.00402840
add esp, 4
test eax, eax
je 0x408987
mov edx, dword [ebp - 0xf8]
mov ecx, esi
push 0x433f78
call fcn.00402840
add esp, 4
test eax, eax
je 0x408987
push 0x3d
push eax
call fcn.0041054f
add esp, 8
test eax, eax
je 0x408987
lea esi, [eax + 2]
test esi, esi
je 0x408987
mov edx, 0x433ed0
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, str._logFile
lea ecx, [ebp - 0xe4]
call fcn.004041d0
mov edx, 0x4341e4
mov ecx, eax
call fcn.0040bc00
mov edx, esi
mov ecx, eax
call fcn.004041d0
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.004071c0
test al, al
je 0x4089d6
mov edx, 0x433ed0
lea ecx, [ebp - 0xe4]
call fcn.004041d0
cmp dword [ebp - 0x18], 0xf
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0xe4]
cmova edx, dword [ebp - 0x2c]
call fcn.0040bc00
sub esp, 0x18
mov byte [ebp - 0xf9], 0
mov eax, esp
mov dword [ebp - 0x104], esp
lea ecx, [ebp - 0xf4]
push eax
call fcn.00403440
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
lea eax, [ebp - 0x44]
mov dword [ebp - 0x100], ecx
push eax
call fcn.00403930
mov cl, byte [ebp - 0xf9]
mov byte [ebp - 4], 4
call fcn.004023c0
mov ecx, dword [ebp - 0x18]
add esp, 0x30
cmp ecx, 0xf
jbe 0x408a52
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x408a48
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b16
push ecx
push edx
call fcn.0040f314
add esp, 8
lea ecx, [ebp - 0xf4]
call fcn.00402680
mov ecx, dword [ebp - 0x30]
cmp ecx, 7
jbe 0x408a97
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408a8d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b16
push ecx
push edx
call fcn.0040f314
add esp, 8
mov ecx, dword [ebp + 0x1c]
cmp ecx, 7
jbe 0x408acd
mov edx, dword [ebp + 8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408ac3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b1b
push ecx
push edx
call fcn.0040f314
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040f2d1
mov esp, ebp
pop ebp
ret
call fcn.004140a6
call fcn.004140a6
int3