Function at 0x48916f
Capabilities:
Accept command line arguments
Set current directory

Disassembly:
push 0x38
mov eax, 0x50be30
call fcn.004d0de3
mov ebx, ecx
xor eax, eax
lea ecx, [ebx + 0x1c]
push 3
mov byte [ebp - 0xd], al
call fcn.00494d4c
mov ecx, ebx
mov esi, eax
call fcn.0048b92a
test esi, esi
je 0x489238
push dword [eax]
lea edi, [esi + 4]
mov ecx, edi
mov dword [ebp - 0x20], edi
call fcn.004068f0
test eax, eax
jne 0x4891bc
mov ecx, ebx
call fcn.0048b1e0
jmp 0x4896e1
lea ecx, [ebx + 0x30]
push edi
call fcn.0048cfb8
mov edx, edi
lea ecx, [ebp - 0x18]
call fcn.00474870
mov esi, 0x5735e4
xor edi, edi
push eax
mov ecx, esi
mov dword [ebp - 4], edi
call fcn.0044d0c3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0040ca45
mov ecx, esi
call fcn.004740e0
mov ecx, ebx
call fcn.0048b92a
lea ecx, [ebp - 0x18]
push dword [eax]
call fcn.0040d264
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 1
push eax
lea ecx, [ebx + 0x130]
call fcn.004886e5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0040ca45
push dword [ebp - 0x20]
lea ecx, [ebx + 4]
call fcn.0044d0c3
mov byte [ebp - 0xd], 1
jmp 0x489243
push eax
lea ecx, [ebx + 0x30]
call fcn.0048cfb8
xor edi, edi
lea esi, [ebx + 0x28]
push esi
lea ecx, [ebx + 0xa4]
call fcn.0044d0c3
cmp byte [0x5735e0], 0
je 0x4892f6
lea ecx, [ebp - 0x18]
call fcn.0040c77f
push str.Full_command_line:
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 2
call fcn.0041069b
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x18]
call fcn.00490d37
push eax
mov ecx, 0x5735ac
call fcn.0049abcf
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 3
call fcn.0040ca45
or dword [ebp - 4], 0xffffffff
cmp byte [0x5735e0], 0
je 0x4892f6
lea ecx, [ebp - 0x18]
call fcn.0040c77f
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x18]
mov esi, dword [esi]
push str.Command_line_to_pass_to_MSI:
call fcn.0041069b
push esi
lea ecx, [ebp - 0x18]
call fcn.00490d37
push eax
mov ecx, 0x5735ac
call fcn.0049abcf
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 5
call fcn.0040ca45
or dword [ebp - 4], 0xffffffff
lea esi, [ebx + 0x90]
lea ecx, [ebx + 0x178]
push esi
call fcn.0044d0c3
push 1
lea ecx, [ebx + 0x178]
call fcn.00490aad
mov edx, esi
lea ecx, [ebp - 0x20]
call fcn.00474870
mov dword [ebp - 4], 6
push dword [eax]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.0040ca45
lea esi, [ebx + 0x30]
mov ecx, esi
call fcn.0048d216
mov dword [ebp - 0x20], eax
test eax, eax
je 0x489383
lea ecx, [ebx + 0x104]
push ecx
lea ecx, [ebp + 8]
call fcn.004069f3
lea ecx, [ebp + 8]
mov dword [ebp - 4], 7
push ecx
push dword [ebp - 0x20]
mov ecx, ebx
call fcn.0048b8ef
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0040ca45
xor eax, eax
inc eax
jmp 0x4896e1
mov dword [ebx + 0x264], esi
mov dword [ebp - 4], 8
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x44], 0x5383dc
mov dword [ebp - 0x44], 0x538528
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 9
test byte [ebx + 0x74], 2
je 0x48942b
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
call fcn.00489726
lea eax, [ebp - 0x44]
lea edi, [ebx + 0x1f4]
push eax
mov ecx, edi
call fcn.00484612
mov eax, dword [ebx]
push ecx
mov ecx, ebx
mov dword [ebp - 0x20], esp
mov esi, esp
call dword [eax + 0x24]
push eax
mov ecx, esi
call fcn.004069f3
mov byte [ebp - 4], 0xa
lea ecx, [ebx + 0x30]
mov byte [ebp - 4], 9
call fcn.0048d071
mov ecx, edi
call fcn.00484359
push eax
lea ecx, [ebx + 0x30]
call fcn.0048f49c
lea eax, [ebx + 0x250]
push eax
lea ecx, [ebx + 0x10c]
call fcn.0044d0c3
lea eax, [ebx + 0x23c]
mov ecx, ebx
push eax
call fcn.0048b0e7
xor edi, edi
push 6
lea ecx, [ebx + 0x1c]
call fcn.00494d4c
mov esi, eax
test esi, esi
je 0x48944a
push 1
lea ecx, [ebx + 0x1f4]
call fcn.004841d1
jmp 0x489495
push 7
lea ecx, [ebx + 0x1c]
call fcn.00494d4c
mov esi, eax
test esi, esi
je 0x489469
push 1
lea ecx, [ebx + 0x1f4]
call fcn.004842a5
jmp 0x489495
push 8
lea ecx, [ebx + 0x1c]
call fcn.00494d4c
mov esi, eax
mov dword [ebp - 0x20], esi
test esi, esi
je 0x489495
lea esi, [ebx + 0x1f4]
push edi
mov ecx, esi
call fcn.004841d1
push edi
mov ecx, esi
call fcn.004842a5
mov esi, dword [ebp - 0x20]
cmp byte [ebp + 8], 0
je 0x4894ac
mov dword [ebx + 0xc0], 3
xor esi, esi
jmp 0x4896cc
lea ecx, [ebx + 0x1f4]
call fcn.0048419f
test al, al
mov byte [ebx + 0x1e8], al
mov ecx, ebx
sete byte [0x570b1c]
call fcn.0048976c
push str.Advinst_
lea ecx, [ebp - 0x1c]
call fcn.0040d264
lea eax, [ebp + 8]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebx + 0x30]
call fcn.0048d2f6
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004106c3
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xf
call fcn.0040ca45
push dword [ebp - 0x1c]
call fcn.004955e8
test esi, esi
jne 0x48953c
cmp byte [0x573598], 0
je 0x48953c
mov dl, 1
mov dword [ebx + 0xc0], 3
mov ecx, 0xcc
call fcn.004854d0
mov dword [ebp + 8], 1
jmp 0x489595
mov ecx, ebx
call fcn.0048a5bf
push ecx
push edi
push 0xdc
lea ecx, [ebx + 0x178]
call fcn.00490b31
test byte [ebx + 0x74], 2
mov esi, 0x535d70
je 0x489585
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], esi
mov ecx, ebx
push 0xdc
mov byte [ebp - 4], 0xf
push eax
mov dword [ebp - 0x24], 0x535d58
mov dword [ebp - 0x20], ebx
call fcn.00489c8f
mov ecx, ebx
call fcn.0048982b
test al, al
je 0x48959d
xor eax, eax
mov dword [ebp + 8], eax
mov esi, dword [ebp + 8]
jmp 0x4896c0
test byte [ebx + 0x74], 4
je 0x4895d6
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], esi
mov ecx, ebx
push 0x8a
mov byte [ebp - 4], 0xf
push eax
mov dword [ebp - 0x28], 0x535d60
mov dword [ebp - 0x24], ebx
call fcn.00489c8f
cmp byte [ebp - 0x20], 0
je 0x4895d6
xor esi, esi
inc esi
jmp 0x4896c0
mov ecx, ebx
call fcn.004899ee
cmp byte [ebp - 0xd], 0
jne 0x4895fc
mov ecx, ebx
call fcn.0048b134
test al, al
je 0x4895fc
mov ecx, ebx
call fcn.0048b1e0
mov esi, eax
jmp 0x4896c0
mov ecx, ebx
call fcn.00489a54
lea eax, [ebx + 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004069f3
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
jne 0x489651
lea eax, [ebx + 0x204]
push eax
lea ecx, [ebp - 0x14]
call fcn.0044d0c3
push edi
lea edx, [ebp - 0x14]
lea ecx, [ebp + 8]
call fcn.0049147b
pop ecx
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x24
call fcn.0044d0c3
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x23
call fcn.0040ca45
lea ecx, [ebx + 0x184]
call fcn.0049085e
mov eax, dword [ebx + 0x22c]
mov ecx, ebx
mov dword [ebx + 0xc0], eax
mov al, byte [ebx + 0x230]
mov byte [ebx + 0xc4], al
lea eax, [ebp - 0x14]
push eax
call fcn.00489cd4
mov ecx, ebx
mov esi, eax
call fcn.0048c087
mov byte [ebp - 4], 0x28
lea eax, [ebx + 0x30]
mov dword [ebp - 0x34], 0x535d70
mov ecx, ebx
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x34]
push 0x10a
push eax
mov dword [ebp - 0x34], 0x535d50
call fcn.00489c8f
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xf
call fcn.0040ca45
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 9
call fcn.0040ca45
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0x2b
call fcn.0048ca2c
or dword [ebp - 4], 0xffffffff
mov eax, esi
call fcn.004d0dac
ret 4