Function at 0x490c50
Capabilities:
Accept command line arguments
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xec4
mov eax, dword [0x7e500c]
xor eax, esp
mov dword [esp + 0xec0], eax
push ebx
mov ebx, dword [ebp + 0x10]
lea ecx, [esp + 0xd0]
push esi
xor eax, eax
mov dword [esp + 0xe4], 0
push edi
mov dword [esp + 0xec], 7
mov word [esp + 0xd8], ax
call fcn.00490740
test al, al
je 0x490dc4
cmp dword [esp + 0xec], 8
lea ecx, [esp + 0xd8]
push 0
cmovae ecx, dword [esp + 0xdc]
lea edx, [esp + 0xac]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0xf
mov byte [esp + 0xac], 0
call fcn.005ceb70
add esp, 4
lea eax, [esp + 0xa8]
cmp dword [esp + 0xbc], 0x10
cmovae eax, dword [esp + 0xa8]
push eax
lea eax, [esp + 0x314]
push str.The_Adobe_installer_is_incompatible_with_another_file___s__in_the_same_folder_as_the_installer._Please_move_the_installer_to_a_different_location_and_try_again.
push eax
call fcn.0048e2c0
mov edx, dword [esp + 0xc8]
add esp, 0xc
cmp edx, 0x10
jb 0x490d53
mov ecx, dword [esp + 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x490d49
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x491350
push edx
push ecx
call fcn.0065106e
add esp, 8
lea ecx, [esp + 0x310]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x490d60
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [esp + 0x314]
push eax
lea eax, [esp + 0x700]
push eax
call fcn.00674f6e
add esp, 0xc
lea eax, [esp + 0x6f8]
push 0
push 0x731578
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esp + 0xd8]
call fcn.00427170
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xec0]
xor ecx, esp
call fcn.00650ddc
mov esp, ebp
pop ebp
ret 0x10
push 0x104
lea eax, [esp + 0x10c]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryW]
test eax, eax
jne 0x490de3
mov word [esp + 0x108], ax
push 0x71a27c
call dword [sym.imp.KERNEL32.DLL_SetDllDirectoryW]
xor eax, eax
mov dword [esp + 0xb8], 0
lea ecx, [esp + 0x108]
mov dword [esp + 0xbc], 7
mov word [esp + 0xa8], ax
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x490e20
sub ecx, edx
lea eax, [esp + 0x108]
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0xb0]
call fcn.004271d0
push str.KERNEL32.dll
lea edx, [esp + 0xac]
lea ecx, [esp + 0xf4]
call fcn.00431250
add esp, 4
lea eax, [esp + 0xf0]
cmp dword [esp + 0x104], 8
cmovae eax, dword [esp + 0xf0]
push eax
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
mov edi, dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov esi, eax
test esi, esi
je 0x490e98
push str.SetDefaultDllDirectories
push esi
call edi
mov dword [0x807684], eax
jmp 0x490e9d
mov eax, dword [0x807684]
test eax, eax
je 0x490ea8
push 0x800
call eax
test esi, esi
je 0x490f1e
push str.AttachConsole
push esi
call edi
test eax, eax
je 0x490f1e
push 0xffffffffffffffff
call eax
test eax, eax
je 0x490f1e
push 0x4000
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.DLL_GetStdHandle]
push eax
call fcn.00675a99
add esp, 8
cmp eax, 0xffffffff
jne 0x490ee3
call dword [sym.imp.KERNEL32.DLL_FreeConsole]
jmp 0x490f1e
push 0x737480
push eax
call fcn.0067565a
mov esi, eax
add esp, 8
test esi, esi
je 0x490f05
push 1
call fcn.006709f7
mov ecx, dword [esi]
add esp, 4
mov dword [eax], ecx
push 0
push 4
push 0
push 1
call fcn.006709f7
add esp, 4
push eax
call fcn.00672274
add esp, 0x10
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 0xb
xor eax, eax
mov dword [esp + 0xd4], 0
push str.Set_up.exe
lea ecx, [esp + 0xc8]
mov dword [esp + 0xdc], 7
mov word [esp + 0xc8], ax
call fcn.004271d0
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x490f60
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [esp + 0xc8]
call fcn.004272f0
cmp dword [esp + 0xd4], 8
lea ecx, [esp + 0xa4]
lea eax, [esp + 0xc0]
mov dword [esp + 0xa4], 0
cmovae eax, dword [esp + 0xc0]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
mov eax, dword [0x807670]
test eax, eax
jne 0x490fe4
push 0x1b8
call fcn.00650ded
add esp, 4
mov esi, eax
push 0x1b8
push 0
push esi
call fcn.00663090
add esp, 0xc
mov ecx, esi
call fcn.00432680
mov dword [0x807670], eax
push ebx
push dword [esp + 0xa8]
mov ecx, eax
call fcn.00433b80
test al, al
jne 0x491261
push 0x10
xor eax, eax
mov dword [esp + 0x28], 0
push str.lbs_init_failure
lea ecx, [esp + 0x1c]
mov dword [esp + 0x30], 7
mov word [esp + 0x1c], ax
call fcn.004271d0
mov eax, dword [0x807678]
test eax, eax
jne 0x491056
push 0xe0
call fcn.00650ded
add esp, 4
mov esi, eax
push 0xe0
push 0
push esi
call fcn.00663090
add esp, 0xc
mov ecx, esi
call fcn.0044cf20
mov dword [0x807678], eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.0044f100
lea ecx, [esp + 0x14]
call fcn.00427170
push 0x14
xor eax, eax
mov dword [esp + 0xa0], 0
push str.preinitialize_failed
lea ecx, [esp + 0x94]
mov dword [esp + 0xa8], 7
mov word [esp + 0x94], ax
call fcn.004271d0
push 3
xor eax, eax
mov dword [esp + 0x88], 0
push 0x7292d8
lea ecx, [esp + 0x7c]
mov dword [esp + 0x90], 7
mov word [esp + 0x7c], ax
call fcn.004271d0
push 6
xor eax, eax
mov dword [esp + 0x70], 0
push str.binary
lea ecx, [esp + 0x64]
mov dword [esp + 0x78], 7
mov word [esp + 0x64], ax
call fcn.004271d0
push 0xa
xor eax, eax
mov dword [esp + 0x58], 0
push str.Boot_Strap
lea ecx, [esp + 0x4c]
mov dword [esp + 0x60], 7
mov word [esp + 0x4c], ax
call fcn.004271d0
push 0x10
xor eax, eax
mov dword [esp + 0x40], 0
push str.lbs_init_failure
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], 7
mov word [esp + 0x34], ax
call fcn.004271d0
push 0x40
mov dword [esp + 0x14], 0
call fcn.00650ded
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
push 0
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x80]
push eax
push 0x2bd
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004502d0
mov ecx, eax
call fcn.00452d10
mov eax, dword [esp + 0xc]
push dword [eax + 4]
lea eax, [esp + 0x10]
push eax
mov ecx, eax
call fcn.004393c0
push 0x40
push dword [esp + 0x10]
call fcn.0065106e
add esp, 8
lea ecx, [esp + 0x2c]
call fcn.00427170
lea ecx, [esp + 0x44]
call fcn.00427170
lea ecx, [esp + 0x5c]
call fcn.00427170
lea ecx, [esp + 0x74]
call fcn.00427170
lea ecx, [esp + 0x8c]
call fcn.00427170
mov esi, dword [0x807670]
test esi, esi
je 0x491218
mov ecx, esi
mov byte [esi], 1
call fcn.00432dd0
push 0x1b8
push esi
call fcn.0065106e
add esp, 8
mov dword [0x807670], 0
lea ecx, [esp + 0xc0]
call fcn.00427170
lea ecx, [esp + 0xf0]
call fcn.00427170
lea ecx, [esp + 0xa8]
call fcn.00427170
lea ecx, [esp + 0xd8]
call fcn.00427170
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xec0]
xor ecx, esp
call fcn.00650ddc
mov esp, ebp
pop ebp
ret 0x10
call fcn.00432610
mov esi, eax
xor edi, edi
lea ecx, [esi + 0x138]
call fcn.0048e630
test al, al
jne 0x4912db
lea ecx, [esi + 0x138]
call fcn.0048e2e0
test al, al
jne 0x4912db
mov eax, dword [0x807670]
test eax, eax
jne 0x4912bb
push 0x1b8
call fcn.00650ded
add esp, 4
mov esi, eax
push 0x1b8
push edi
push esi
call fcn.00663090
add esp, 0xc
mov ecx, esi
call fcn.00432680
mov dword [0x807670], eax
cmp byte [eax + 0xb1], 0
je 0x4912cb
call fcn.00427840
jmp 0x4912db
mov ecx, dword [esp + 0xa4]
mov edx, ebx
call fcn.0048e8a0
mov edi, eax
mov esi, dword [0x807670]
test esi, esi
je 0x491307
mov ecx, esi
mov byte [esi], 1
call fcn.00432dd0
push 0x1b8
push esi
call fcn.0065106e
add esp, 8
mov dword [0x807670], 0
lea ecx, [esp + 0xc0]
call fcn.00427170
lea ecx, [esp + 0xf0]
call fcn.00427170
lea ecx, [esp + 0xa8]
call fcn.00427170
lea ecx, [esp + 0xd8]
call fcn.00427170
mov ecx, dword [esp + 0xecc]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00650ddc
mov esp, ebp
pop ebp
ret 0x10
call fcn.0066bea5
int3