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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xec4
mov eax, dword [0x82f084]
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.004a8080
test al, al
je 0x4a8704
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.00612610
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.004a5740
mov edx, dword [esp + 0xc8]
add esp, 0xc
cmp edx, 0x10
jb 0x4a8693
mov ecx, dword [esp + 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4a8689
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8cda
push edx
push ecx
call fcn.0067d8e3
add esp, 8
lea ecx, [esp + 0x310]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a86a0
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [esp + 0x314]
push eax
lea eax, [esp + 0x700]
push eax
call fcn.0069b325
add esp, 0xc
lea eax, [esp + 0x6f8]
push 0
push 0x776e04
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esp + 0xd8]
call fcn.0042fd70
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xec0]
xor ecx, esp
call fcn.0067d651
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 0x4a8723
mov word [esp + 0x108], ax
push 0x75c10c
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 0x4a8760
sub ecx, edx
lea eax, [esp + 0x108]
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0xb0]
call fcn.0042fe00
push str.KERNEL32.dll
lea edx, [esp + 0xac]
lea ecx, [esp + 0xf4]
call fcn.00439f60
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 0x4a87d8
push str.SetDefaultDllDirectories
push esi
call edi
mov dword [0x855a54], eax
jmp 0x4a87dd
mov eax, dword [0x855a54]
test eax, eax
je 0x4a87e8
push 0x800
call eax
test esi, esi
je 0x4a885e
push str.AttachConsole
push esi
call edi
test eax, eax
je 0x4a885e
push 0xffffffffffffffff
call eax
test eax, eax
je 0x4a885e
push 0x4000
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.DLL_GetStdHandle]
push eax
call fcn.0069be50
add esp, 8
cmp eax, 0xffffffff
jne 0x4a8823
call dword [sym.imp.KERNEL32.DLL_FreeConsole]
jmp 0x4a885e
push 0x77d9b4
push eax
call fcn.0069ba11
mov esi, eax
add esp, 8
test esi, esi
je 0x4a8845
push 1
call fcn.00698138
mov ecx, dword [esi]
add esp, 4
mov dword [eax], ecx
push 0
push 4
push 0
push 1
call fcn.00698138
add esp, 4
push eax
call fcn.00698607
add esp, 0x10
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 0xb
xor eax, eax
mov dword [esp + 0xd4], 0
push 0x77d9b8
lea ecx, [esp + 0xc8]
mov dword [esp + 0xdc], 7
mov word [esp + 0xc8], ax
call fcn.0042fe00
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a88a0
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [esp + 0xc8]
call fcn.0042ff20
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 [0x855a40]
test eax, eax
jne 0x4a8924
push 0x1d0
call fcn.0067d662
add esp, 4
mov esi, eax
push 0x1d0
push 0
push esi
call fcn.00690450
add esp, 0xc
mov ecx, esi
call fcn.0043b3d0
mov dword [0x855a40], eax
push ebx
push dword [esp + 0xa8]
mov ecx, eax
call fcn.0043cba0
test al, al
jne 0x4a8bc7
push str.Inside_main._Pre_Initialize_failed._Exiting_application.
push 0x75c10c
push 0x75c10c
push str.Main
push str.WAMB
push 0x32
call fcn.0043b2b0
add esp, 0x18
mov dword [esp + 0x24], 0
xor eax, eax
mov dword [esp + 0x28], 7
lea ecx, [esp + 0x14]
mov word [esp + 0x14], ax
push 0x10
push str.lbs_init_failure
call fcn.0042fe00
mov eax, dword [0x855a48]
test eax, eax
jne 0x4a89b9
push 0xe0
call fcn.0067d662
add esp, 4
mov esi, eax
push 0xe0
push 0
push esi
call fcn.00690450
add esp, 0xc
mov ecx, esi
call fcn.00458830
mov dword [0x855a48], eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.0045aa20
lea ecx, [esp + 0x14]
call fcn.0042fd70
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.0042fe00
push 3
xor eax, eax
mov dword [esp + 0x88], 0
push 0x76c9f8
lea ecx, [esp + 0x7c]
mov dword [esp + 0x90], 7
mov word [esp + 0x7c], ax
call fcn.0042fe00
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.0042fe00
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.0042fe00
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.0042fe00
push 0x40
mov dword [esp + 0x14], 0
call fcn.0067d662
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.0045bbf0
mov ecx, eax
call fcn.0045e7f0
mov eax, dword [esp + 0xc]
push dword [eax + 4]
lea eax, [esp + 0x10]
push eax
mov ecx, eax
call fcn.00442110
push 0x40
push dword [esp + 0x10]
call fcn.0067d8e3
add esp, 8
lea ecx, [esp + 0x2c]
call fcn.0042fd70
lea ecx, [esp + 0x44]
call fcn.0042fd70
lea ecx, [esp + 0x5c]
call fcn.0042fd70
lea ecx, [esp + 0x74]
call fcn.0042fd70
lea ecx, [esp + 0x8c]
call fcn.0042fd70
mov esi, dword [0x855a40]
test esi, esi
je 0x4a8b7b
mov ecx, esi
mov byte [esi], 1
call fcn.0043bc20
push 0x1d0
push esi
call fcn.0067d8e3
add esp, 8
mov dword [0x855a40], 0
lea ecx, [esp + 0xc0]
call fcn.0042fd70
lea ecx, [esp + 0xf0]
call fcn.0042fd70
lea ecx, [esp + 0xa8]
call fcn.0042fd70
lea ecx, [esp + 0xd8]
call fcn.0042fd70
mov eax, 0x2bd
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xec0]
xor ecx, esp
call fcn.0067d651
mov esp, ebp
pop ebp
ret 0x10
call fcn.0043b360
mov esi, eax
xor edi, edi
lea ecx, [esi + 0x13c]
call fcn.004a5ab0
test al, al
jne 0x4a8c41
lea ecx, [esi + 0x13c]
call fcn.004a5760
test al, al
jne 0x4a8c41
mov eax, dword [0x855a40]
test eax, eax
jne 0x4a8c21
push 0x1d0
call fcn.0067d662
add esp, 4
mov esi, eax
push 0x1d0
push edi
push esi
call fcn.00690450
add esp, 0xc
mov ecx, esi
call fcn.0043b3d0
mov dword [0x855a40], eax
cmp byte [eax + 0xb1], 0
je 0x4a8c31
call fcn.00430470
jmp 0x4a8c41
mov ecx, dword [esp + 0xa4]
mov edx, ebx
call fcn.004a5d30
mov edi, eax
push edi
push str.Inside_main._Application_ended_with__d
push 0x75c10c
push 0x75c10c
push str.Main
push str.WAMB
push 0x1e
call fcn.0043b2b0
mov esi, dword [0x855a40]
add esp, 0x1c
test esi, esi
je 0x4a8c91
mov ecx, esi
mov byte [esi], 1
call fcn.0043bc20
push 0x1d0
push esi
call fcn.0067d8e3
add esp, 8
mov dword [0x855a40], 0
lea ecx, [esp + 0xc0]
call fcn.0042fd70
lea ecx, [esp + 0xf0]
call fcn.0042fd70
lea ecx, [esp + 0xa8]
call fcn.0042fd70
lea ecx, [esp + 0xd8]
call fcn.0042fd70
mov ecx, dword [esp + 0xecc]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0067d651
mov esp, ebp
pop ebp
ret 0x10
call fcn.00692c65
int3