Function at 0x4012ba
Capabilities:
Accept command line arguments

Disassembly:
push 0x514
mov eax, 0x4a4978
call fcn.00486aca
lea eax, [ebp - 0x4e4]
call fcn.004270d1
xor esi, esi
mov dword [ebp - 0x74], esi
mov byte [ebp - 0x485], 0x2f
mov byte [ebp - 0x489], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
lea ecx, [ebp - 0x4e8]
push ecx
mov dword [ebp - 0x4e8], esi
call fcn.0042736a
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 0x40132c
mov byte [ebp - 0x478], 1
mov dword [ebp - 4], esi
push str.UNINSTALL
lea esi, [ebp - 0x4e4]
call fcn.004086c8
push str.EXECUTEUNINSTALL
call fcn.004086c8
push str.REGISTERSATB
call fcn.004086c8
push str.PARTNER
call fcn.0040861c
push str.PASSWORD
call fcn.0040861c
push str.XPIPATH
call fcn.0040861c
push str.APPDIR
call fcn.0040861c
push str.UNINSTALLPAGE
call fcn.0040861c
push 0x4ad688
call fcn.0040861c
push str.CHANGEPROFILE
call fcn.0040861c
push str.RESETSAPS
call fcn.004086c8
push str.FROMELEVATION
call fcn.004086c8
push str.PROMPT
call fcn.004086c8
push str.OFFLINE
call fcn.004086c8
mov edi, esi
call fcn.0042750d
mov esi, str.UNINSTALL
push esi
mov eax, edi
push eax
call fcn.0040883c
mov byte [ebx + 0x23], al
push esi
mov eax, edi
push eax
call fcn.0040883c
mov byte [ebx + 0x23], al
push str.PASSWORD
lea eax, [ebp - 0x2c]
push eax
mov eax, edi
push eax
call fcn.00408774
mov edi, 0x4aec58
push edi
mov byte [ebp - 4], 1
call fcn.00404e3a
test eax, eax
push 0
setne al
push 1
lea esi, [ebp - 0x2c]
mov byte [ebx], al
mov byte [ebp - 4], 0
call fcn.00404f5a
push str.PASSWORD
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408774
push 0xffffffffffffffff
lea ecx, [ebx + 4]
push 0
mov byte [ebp - 4], 2
call fcn.00404ae1
push 0
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00404f5a
push str.EXECUTEUNINSTALL
lea eax, [ebp - 0x4e4]
push eax
call fcn.0040883c
mov byte [ebx + 0x24], al
push str.NOUNINSTALLPAGE
lea eax, [ebp - 0x4e4]
push eax
call fcn.0040883c
mov byte [ebx + 0x26], al
push str.CHANGEPROFILE
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408774
push 0xffffffffffffffff
push 0
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 3
call fcn.00404ae1
push 0
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00404f5a
push str.CHANGEPROFILE
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408774
push edi
mov byte [ebp - 4], 4
call fcn.00404e3a
test eax, eax
push 0
setne al
push 1
lea esi, [ebp - 0x2c]
mov byte [ebx + 0x22], al
mov byte [ebp - 4], 0
call fcn.00404f5a
push str.REGISTERSATB
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408774
push edi
mov byte [ebp - 4], 5
call fcn.00404e3a
test eax, eax
push 0
setne al
push 1
lea esi, [ebp - 0x2c]
mov byte [ebx + 0x25], al
mov byte [ebp - 4], 0
call fcn.00404f5a
push str.PARTNER
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408774
push 0xffffffffffffffff
lea ecx, [ebx + 0x2c]
push 0
mov byte [ebp - 4], 6
call fcn.00404ae1
push 0
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00404f5a
push str.PARTNER
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408774
push edi
mov byte [ebp - 4], 7
call fcn.00404e3a
test eax, eax
push 0
setne al
push 1
lea esi, [ebp - 0x2c]
mov byte [ebx + 0x21], al
mov byte [ebp - 4], 0
call fcn.00404f5a
cmp byte [ebx + 0x21], 0
jne 0x4015c7
lea ecx, [ebp - 0x2c]
call fcn.0040123e
push 0xffffffffffffffff
push 0
lea ecx, [ebx + 0x2c]
mov byte [ebp - 4], 8
call fcn.00404ae1
push 0
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00404f5a
push edi
lea eax, [ebx + 0x2c]
call fcn.00404e3a
test eax, eax
setne al
mov byte [ebx + 0x21], al
push str.XPIPATH
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408774
push 0xffffffffffffffff
push 0
lea ecx, [ebx + 0x80]
mov byte [ebp - 4], 9
call fcn.00404ae1
push 0
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00404f5a
push str.APPDIR
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408774
push 0xffffffffffffffff
push 0
lea ecx, [ebx + 0x64]
mov byte [ebp - 4], 0xa
call fcn.00404ae1
push 0
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00404f5a
push str.UNINSTALLPAGE
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408774
push 0xffffffffffffffff
push 0
lea ecx, [ebx + 0x9c]
mov byte [ebp - 4], 0xb
call fcn.00404ae1
push 0
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00404f5a
push 0x4ad688
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408774
push 0xffffffffffffffff
push 0
lea ecx, [ebx + 0xb8]
mov byte [ebp - 4], 0xc
call fcn.00404ae1
push 0
push 1
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.00404f5a
push str.RESETSAPS
lea eax, [ebp - 0x4e4]
push eax
call fcn.0040883c
mov byte [ebx + 0x27], al
push str.FROMELEVATION
lea eax, [ebp - 0x4e4]
push eax
call fcn.0040883c
mov byte [ebx + 0x28], al
push str.PROMPT
lea eax, [ebp - 0x4e4]
push eax
call fcn.0040883c
mov byte [ebx + 0x29], al
push str.OFFLINE
lea eax, [ebp - 0x4e4]
push eax
call fcn.0040883c
cmp byte [ebx], 0
mov byte [ebx + 0x2a], al
mov byte [ebx + 0x20], 0
je 0x40178f
push reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebx + 0x2c]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.004054da
push edi
lea esi, [ebp - 0x504]
mov byte [ebp - 4], 0xd
call fcn.00404db2
push str.DistributionSource
lea esi, [ebp - 0x520]
mov byte [ebp - 4], 0xe
call fcn.00404db2
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.004056c9
xor edi, edi
push edi
push 1
call fcn.00404f5a
push edi
push 1
lea esi, [ebp - 0x504]
mov byte [ebp - 4], 0x12
call fcn.00404f5a
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebx + 4]
call fcn.00407810
pop ecx
push edi
push 1
lea esi, [ebp - 0x2c]
mov byte [ebx + 0x20], al
call fcn.00404f5a
lea ecx, [ebp - 0x70]
call fcn.004049f3
lea eax, [ebp - 0x4e4]
call fcn.0040858a
call fcn.00486b4d
ret