Function at 0x4018d5
Capabilities:
Accept command line arguments

Disassembly:
push 0x514
mov eax, 0x5315c4
call fcn.0050669a
lea eax, [ebp - 0x4e4]
call fcn.0048a28c
xor ebx, ebx
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x485], 0x2f
mov byte [ebp - 0x489], bl
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
lea ecx, [ebp - 0x4e8]
push ecx
mov dword [ebp - 0x4e8], ebx
call fcn.0048a525
mov ecx, dword [ebp - 0x4e8]
cmp ecx, 1
mov dword [ebp - 0x4e0], eax
mov eax, dword [eax]
mov dword [ebp - 0x4e4], ecx
mov byte [ebp - 0x48c], 1
mov dword [ebp - 0x4d8], eax
jle 0x401946
mov byte [ebp - 0x478], 1
push str.UNINSTALL
lea esi, [ebp - 0x4e4]
mov dword [ebp - 4], ebx
call fcn.00417d34
push str.EXECUTEUNINSTALL
call fcn.00417d34
push str.REGISTERSATB
call fcn.00417d34
push str.PARTNER
call fcn.00417c88
push str.PASSWORD
call fcn.00417c88
push str.XPIPATH
call fcn.00417c88
push str.APPDIR
call fcn.00417c88
push str.UNINSTALLPAGE
call fcn.00417c88
push 0x541a80
call fcn.00417c88
push str.CHANGEPROFILE
call fcn.00417c88
push str.RESETSAPS
call fcn.00417d34
push str.FROMELEVATION
call fcn.00417d34
push str.PROMPT
call fcn.00417d34
push str.OFFLINE
call fcn.00417d34
push str.RESETSAPS
call fcn.00417d34
push str.RESETDSP
call fcn.00417d34
mov ecx, esi
call fcn.0048a6c8
push str.UNINSTALL
mov eax, esi
push eax
call fcn.00417ea8
mov byte [edi + 0x23], al
push str.PASSWORD
lea eax, [ebp - 0x2c]
push eax
mov eax, esi
push eax
call fcn.00417de0
push 0x54323c
mov byte [ebp - 4], 1
call fcn.0040ba24
test eax, eax
push ebx
setne al
push 1
lea esi, [ebp - 0x2c]
mov byte [edi], al
mov byte [ebp - 4], bl
call fcn.0040dac5
push str.PASSWORD
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417de0
push 0xffffffffffffffff
lea ecx, [edi + 4]
push ebx
mov byte [ebp - 4], 2
call fcn.0040bd91
push ebx
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.0040dac5
push str.EXECUTEUNINSTALL
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417ea8
mov byte [edi + 0x24], al
push str.NOUNINSTALLPAGE
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417ea8
mov byte [edi + 0x26], al
push str.CHANGEPROFILE
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417de0
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x48]
mov byte [ebp - 4], 3
call fcn.0040bd91
push ebx
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.0040dac5
push str.CHANGEPROFILE
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417de0
push 0x54323c
mov byte [ebp - 4], 4
call fcn.0040ba24
test eax, eax
push ebx
setne al
push 1
lea esi, [ebp - 0x2c]
mov byte [edi + 0x22], al
mov byte [ebp - 4], bl
call fcn.0040dac5
push str.REGISTERSATB
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417de0
push 0x54323c
mov byte [ebp - 4], 5
call fcn.0040ba24
test eax, eax
push ebx
setne al
push 1
lea esi, [ebp - 0x2c]
mov byte [edi + 0x25], al
mov byte [ebp - 4], bl
call fcn.0040dac5
push str.PARTNER
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417de0
push 0xffffffffffffffff
lea ecx, [edi + 0x2c]
push ebx
mov byte [ebp - 4], 6
call fcn.0040bd91
push ebx
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.0040dac5
push str.PARTNER
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417de0
push 0x54323c
mov byte [ebp - 4], 7
call fcn.0040ba24
test eax, eax
push ebx
setne al
push 1
lea esi, [ebp - 0x2c]
mov byte [edi + 0x21], al
mov byte [ebp - 4], bl
call fcn.0040dac5
cmp byte [edi + 0x21], bl
jne 0x401be8
lea ebx, [ebp - 0x2c]
call fcn.00401859
push 0xffffffffffffffff
lea ebx, [edi + 0x2c]
push 0
mov ecx, ebx
mov byte [ebp - 4], 8
call fcn.0040bd91
push 0
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.0040dac5
push 0x54323c
mov eax, ebx
call fcn.0040ba24
test eax, eax
setne al
mov byte [edi + 0x21], al
xor ebx, ebx
push str.XPIPATH
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417de0
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x80]
mov byte [ebp - 4], 9
call fcn.0040bd91
push ebx
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.0040dac5
push str.APPDIR
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417de0
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x64]
mov byte [ebp - 4], 0xa
call fcn.0040bd91
push ebx
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.0040dac5
push str.UNINSTALLPAGE
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417de0
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x9c]
mov byte [ebp - 4], 0xb
call fcn.0040bd91
push ebx
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.0040dac5
push 0x541a80
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417de0
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0xb8]
mov byte [ebp - 4], 0xc
call fcn.0040bd91
push ebx
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.0040dac5
push str.RESETSAPS
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417ea8
test al, al
jne 0x401ce7
push str.RESETDSP
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417ea8
test al, al
jne 0x401ce7
xor eax, eax
jmp 0x401cea
xor eax, eax
inc eax
mov byte [edi + 0x27], al
push str.FROMELEVATION
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417ea8
mov byte [edi + 0x28], al
push str.PROMPT
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417ea8
mov byte [edi + 0x29], al
push str.OFFLINE
lea eax, [ebp - 0x4e4]
push eax
call fcn.00417ea8
mov byte [edi + 0x2a], al
mov byte [edi + 0x20], bl
cmp byte [edi], bl
je 0x401dc4
push reloc.OLEAUT32.dll_SysReAllocString
lea eax, [edi + 0x2c]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040e8c0
push 0x54323c
lea esi, [ebp - 0x504]
mov byte [ebp - 4], 0xd
call fcn.0040b812
push str.DistributionSource
lea esi, [ebp - 0x520]
mov byte [ebp - 4], 0xe
call fcn.0040b812
mov eax, esi
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x504]
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.0040f3b5
push ebx
push 1
call fcn.0040dac5
push ebx
push 1
lea esi, [ebp - 0x504]
mov byte [ebp - 4], 0x12
call fcn.0040dac5
lea eax, [ebp - 0x2c]
push eax
lea ecx, [edi + 4]
call fcn.0041594f
pop ecx
push ebx
push 1
lea esi, [ebp - 0x2c]
mov byte [edi + 0x20], al
call fcn.0040dac5
lea ecx, [ebp - 0x70]
call fcn.0040b7c8
lea eax, [ebp - 0x4e4]
call fcn.00417bf6
call fcn.0050671d
ret