Function at 0x405840
Capabilities:
Accept command line arguments
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x54811a
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1a4c
call fcn.0051b3e0
mov eax, dword [0x5a10e0]
xor eax, esp
mov dword [esp + 0x1a48], eax
push ebx
push esi
push edi
mov eax, dword [0x5a10e0]
xor eax, esp
push eax
lea eax, [esp + 0x1a60]
mov dword fs:[0], eax
lea eax, [esp + 0x3c]
mov edi, ecx
push eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x40], 8
mov dword [esp + 0x44], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, edi
call fcn.00422ad5
call fcn.00415aa0
mov esi, eax
call fcn.00415be0
call fcn.00425110
test eax, eax
jne 0x4058f2
push str.Failed_to_initialize_OLE._Exiting
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 4
call fcn.00415aa0
call fcn.00415b70
mov dword [edi + 0xc8], 1
jmp 0x4064b5
xor ebx, ebx
push ebx
call fcn.004243d6
add esp, 4
push str.KERNEL32
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [edi + 0xbc], eax
cmp eax, ebx
je 0x4059ba
push str.AttachConsole
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x4059ba
push 0xffffffffffffffff
call eax
test eax, eax
je 0x4059ba
push 0x4000
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call fcn.00517144
add esp, 8
cmp eax, 0xffffffff
jne 0x405965
call dword [sym.imp.KERNEL32.dll_FreeConsole]
mov dword [esp + 0x24], ebx
jmp 0x4059ba
push 0x577480
push eax
call fcn.005172cf
mov esi, eax
mov ecx, 8
lea edi, [esp + 0x6c]
add esp, 8
mov dword [esp + 0x14], eax
rep movsd dword es:[edi], dword [esi]
call fcn.00516a23
push ebx
lea edi, [eax + 0x20]
push 4
mov ecx, 8
lea esi, [esp + 0x6c]
push ebx
rep movsd dword es:[edi], dword [esi]
call fcn.00516a23
add eax, 0x20
push eax
call fcn.00516c7f
push 0x577484
call fcn.00516bd8
mov edi, dword [esp + 0x30]
add esp, 0x14
push str.Start_Adobe_Setup
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416090
add esp, 4
push str.TimeLog:_Bootstrapper_Start
call fcn.00415aa0
call fcn.00416090
add esp, 4
push str.TimeLog:_Start_initial_checks
call fcn.00415aa0
call fcn.00416090
mov eax, dword [0x5a9460]
xor ebx, ebx
add esp, 4
cmp eax, ebx
jne 0x405a36
push 0x128
call fcn.004166c9
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x1a68], ebx
cmp eax, ebx
je 0x405a24
push eax
call fcn.0040c710
jmp 0x405a26
xor eax, eax
mov dword [esp + 0x1a68], 0xffffffff
mov dword [0x5a9460], eax
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push esi
mov ecx, eax
call fcn.0040df60
mov esi, eax
mov eax, dword [0x5a9460]
cmp eax, ebx
jne 0x405a8b
push 0x128
call fcn.004166c9
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x1a68], 1
cmp eax, ebx
je 0x405a79
push eax
call fcn.0040c710
jmp 0x405a7b
xor eax, eax
mov dword [esp + 0x1a68], 0xffffffff
mov dword [0x5a9460], eax
mov ecx, dword [eax + 0xac]
cmp ecx, 2
je 0x405a9f
cmp ecx, 1
je 0x405a9f
xor ecx, ecx
jmp 0x405aa4
mov ecx, 1
mov byte [edi + 0xc0], cl
mov al, byte [eax + 0x4c]
mov byte [edi + 0xc1], al
cmp esi, ebx
je 0x405b9a
cmp esi, 0xfffffff6
je 0x405b03
cmp esi, 0xfffffff7
je 0x405ae4
cmp dword [esp + 0x14], ebx
je 0x405ad8
push str.Incomplete_Missing_set_of_command_line_arguments_passed._n
call fcn.00516bd8
add esp, 4
mov dword [edi + 0xec], 0xffffffff
jmp 0x405b20
cmp dword [esp + 0x14], ebx
je 0x405af7
push str.File_does_not_exist._n
call fcn.00516bd8
add esp, 4
mov dword [edi + 0xec], 0xfffffff7
jmp 0x405b20
cmp dword [esp + 0x14], ebx
je 0x405b16
push str.Administrator_privileges_required_to_continue._n
call fcn.00516bd8
add esp, 4
mov dword [edi + 0xec], 0xfffffff6
push esi
push str.End_Adobe_Setup._Exit_code:__d__n
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 8
mov dword [edi + 0xc8], 1
call fcn.0040cb50
cmp dword [eax + 0xac], 2
je 0x405b59
cmp byte [edi + 0xc1], 0
je 0x405b98
call fcn.0040cb50
mov eax, dword [0x5a9460]
test eax, eax
je 0x405b78
push eax
mov ebx, eax
call fcn.0040c8e0
push ebx
call fcn.004166f8
add esp, 4
cmp dword [esp + 0x14], 0
je 0x405b8d
push esi
push str.Exiting_Installer_with_Code:__d_n
call fcn.00516bd8
add esp, 8
call dword [sym.imp.KERNEL32.dll_FreeConsole]
jmp 0x4064b5
xor ebx, ebx
cmp dword [esp + 0x14], ebx
je 0x405bbe
call fcn.0040cb50
cmp byte [eax + 0x4c], bl
jne 0x405bb1
push str.UI_mode_:_Full_GUI._n
jmp 0x405bb6
push str.UI_mode_:_Silent._n
call fcn.00516bd8
add esp, 4
push 0x400
lea ecx, [esp + 0xa58]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [esp + 0xa54]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [esp + 0xa54]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x405bf0
sub eax, edx
sar eax, 1
cmp eax, 0xd7
jbe 0x405c23
push eax
push str.Launch_Path_length_:__d
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416060
add esp, 8
jmp 0x405cb0
push str.payloads
lea eax, [esp + 0xa58]
push 0x400
push eax
mov dword [esp + 0x24], ebx
call fcn.0051725a
sub esp, 0x10
mov ecx, esp
xor edx, edx
lea eax, [esp + 0xa70]
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], ebx
mov dword [esp + 0x54], esp
mov word [ecx], dx
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x405c60
sub eax, esi
sar eax, 1
push eax
lea eax, [esp + 0xa74]
call fcn.00403230
lea eax, [esp + 0x34]
push eax
mov ecx, edi
call fcn.00408150
mov esi, dword [esp + 0x18]
push esi
push str.Maximum_path_depth_for_payloads_folder_:__d
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416060
add esp, 8
cmp esi, 0xff
jle 0x405d65
cmp dword [esp + 0x14], 0
mov esi, 0xfffffff1
mov dword [edi + 0xec], esi
je 0x405ccf
push str.Launch_Path_is_too_long._Please_run_the_installer_from_some_other_location._n
call fcn.00516bd8
add esp, 4
push str.Launch_Path_is_too_long._Please_run_the_installer_from_some_other_location.
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 4
call fcn.0040cb50
mov eax, dword [eax + 0xac]
cmp eax, 2
je 0x405d03
cmp eax, 1
je 0x405d03
mov dword [edi + 0xc8], esi
jmp 0x405d0d
mov dword [edi + 0xc8], 1
call fcn.0040cb50
cmp byte [eax + 0x4c], 0
je 0x405efa
push esi
push str.__End_Adobe_Setup._Exit_code:__d____n_n
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 8
call fcn.0040cb50
mov eax, dword [0x5a9460]
test eax, eax
je 0x405d53
push eax
mov esi, eax
call fcn.0040c8e0
push esi
call fcn.004166f8
add esp, 4
cmp dword [esp + 0x14], 0
je 0x405b8d
push 0xfffffffffffffff1
jmp 0x405b80
call fcn.0040cb50
mov esi, eax
call fcn.0040cc00
mov esi, eax
test esi, esi
je 0x405e23
cmp esi, 0xfffffff5
je 0x405dcf
cmp esi, 0xfffffff7
je 0x405daa
push str.Unable_to_initialize.
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 4
cmp dword [esp + 0x14], 0
je 0x405dfa
push str.Unable_to_initialize._n
jmp 0x405df2
push str.Unable_to_initialize._File_missing.
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 4
cmp dword [esp + 0x14], 0
je 0x405dfa
push str.Unable_to_initialize._File_missing._n
jmp 0x405df2
push str.Unable_to_initialize._Error_parsing_setup.xml_file
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 4
cmp dword [esp + 0x14], 0
je 0x405dfa
push str.Unable_to_initialize._Error_parsing_setup.xml_file._n
call fcn.00516bd8
add esp, 4
call fcn.0040cb50
cmp byte [eax + 0x4c], 0
jne 0x405e4c
call fcn.0040cb50
call fcn.0040cd90
test al, al
je 0x405e1d
mov dword [edi + 0xc8], 1
mov dword [edi + 0xec], esi
call fcn.0040cb50
mov edx, eax
lea eax, [esp + 0x64]
call fcn.00410820
mov ebx, 8
mov dword [esp + 0x1a68], 3
cmp dword [eax + 0x14], ebx
jb 0x405ea2
mov esi, dword [eax]
jmp 0x405ea4
push esi
push str.Exiting_Installer_with_Code:__d_n
call fcn.00516bd8
add esp, 8
push esi
push str.__End_Adobe_Setup._Exit_code:__d____n_n
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 8
call dword [sym.imp.KERNEL32.dll_FreeConsole]
call fcn.0040cb50
mov eax, dword [0x5a9460]
test eax, eax
je 0x405e97
push eax
mov ebx, eax
call fcn.0040c8e0
push ebx
call fcn.004166f8
add esp, 4
mov dword [edi + 0xc8], esi
jmp 0x4064b5
mov esi, eax
call fcn.0040cb50
push str.ar_AE
push esi
call fcn.005176c6
add esp, 8
test eax, eax
je 0x405ed1
push str.he_IL
push esi
call fcn.005176c6
add esp, 8
test eax, eax
je 0x405ed1
xor eax, eax
jmp 0x405ed6
mov eax, 1
mov dword [esp + 0x1a68], 0xffffffff
mov dword [edi + 0xf0], eax
cmp dword [esp + 0x78], ebx
jb 0x405efa
mov ecx, dword [esp + 0x64]
push ecx
call fcn.004166f8
add esp, 4
call fcn.00407c20
mov dword [edi + 0x104], eax
test eax, eax
je 0x405f1f
push str.Reboot_is_pending_from_earlier_installation.
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.004160c0
jmp 0x405f7d
lea ecx, [edi + 0x108]
call fcn.00407ee0
mov dword [edi + 0x104], eax
test eax, eax
je 0x405f4a
push str.Reboot_is_pending_because_of_some_Windows_updates_installation.
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.004160c0
jmp 0x405f7d
cmp dword [edi + 0x108], 0
je 0x405f69
push str.Windows_Update_installer_is_running.
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.004160c0
jmp 0x405f7d
push str.No_reboot_is_pending.
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416060
add esp, 4
call fcn.0040cb50
mov al, byte [eax + 0x4c]
test al, al
jne 0x405fd2
lea edx, [esp + 0x84]
push edx
call fcn.00408c30
lea eax, [esp + 0x84]
mov dword [esp + 0x1a68], 4
mov ecx, eax
mov dword [edi + 0x20], eax
call fcn.00418070
lea ecx, [esp + 0x84]
push ecx
mov dword [esp + 0x1a6c], 0xffffffff
call fcn.004064e0
jmp 0x4063c7
xor edi, edi
xor edx, edx
push edi
mov eax, 0x576984
lea ecx, [esp + 0x68]
mov dword [esp + 0x7c], 7
mov dword [esp + 0x78], edi
mov word [esp + 0x68], dx
call fcn.00403230
mov dword [esp + 0x1a68], 5
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x6c]
push edx
mov byte [esp + 0x1a74], 6
lea ecx, [esp + 0x44]
mov edx, esi
mov dword [esp + 0x24], edi
call fcn.004065b0
mov dword [esp + 0x18], eax
cmp eax, edi
je 0x40617b
call fcn.00406580
cmp dword [esp + 0x14], edi
je 0x4060d5
mov ebx, dword [esp + 0x28]
cmp ebx, dword [esp + 0x2c]
je 0x4060a3
lea esp, [esp]
push 1
mov eax, 0x577cc0
lea ecx, [esp + 0x68]
call fcn.004089c0
cmp dword [ebx + 0x14], 8
jb 0x40607a
mov eax, dword [ebx]
jmp 0x40607c
mov eax, ebx
mov ecx, eax
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x406081
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [esp + 0x68]
call fcn.004089c0
add ebx, 0x1c
cmp ebx, dword [esp + 0x2c]
jne 0x406060
cmp dword [esp + 0x78], 8
mov eax, dword [esp + 0x64]
jae 0x4060b2
lea eax, [esp + 0x64]
push eax
call fcn.00516bd8
mov edi, dword [esp + 0x1c]
add esp, 4
push edi
push str._Exiting_Installer_with_Code:__d_n
call fcn.00516bd8
add esp, 8
call dword [sym.imp.KERNEL32.dll_FreeConsole]
jmp 0x4060d9
mov edi, dword [esp + 0x18]
push edi
push str.__End_Adobe_Setup._Exit_code:__d____n_n
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 8
call fcn.0040cb50
mov eax, dword [0x5a9460]
test eax, eax
je 0x406110
push eax
mov esi, eax
call fcn.0040c8e0
push esi
call fcn.004166f8
add esp, 4
call fcn.0040cb50
mov eax, dword [eax + 0xac]
cmp eax, 2
je 0x406125
cmp eax, 1
jne 0x406135
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xc8], 1
jmp 0x40613f
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0xc8], edi
cmp dword [esp + 0x28], 0
je 0x40615e
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov eax, esi
call fcn.00403b40
push esi
call fcn.004166f8
add esp, 4
cmp dword [esp + 0x78], 8
jb 0x4064b5
mov edx, dword [esp + 0x64]
push edx
call fcn.004166f8
add esp, 4
jmp 0x4064b5
push str.TimeLog:_End_initial_checks
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416090
add esp, 4
call fcn.0040cb50
call fcn.00407660
test eax, eax
je 0x406229
call fcn.00406580
cmp dword [esp + 0x14], 0
je 0x4061d2
push str.Some_error_occurred_during_installation._Installation_cannot_continue._n
call fcn.00516bd8
add esp, 4
push 0xfffffffffffffffc
push str.Exiting_Installer_with_Code:__d_n
call fcn.00516bd8
add esp, 8
call dword [sym.imp.KERNEL32.dll_FreeConsole]
push 0xfffffffffffffffc
push str.End_Adobe_Setup._Exit_code:__d_n
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 8
call fcn.0040cb50
call fcn.0040cbd0
call fcn.0040cb50
call fcn.0040cd90
movzx eax, al
neg eax
sbb eax, eax
and eax, 5
add eax, 0xfffffffc
mov dword [esi + 0xc8], eax
lea esi, [esp + 0x28]
call fcn.00408aa0
lea esi, [esp + 0x64]
call fcn.004015b0
jmp 0x4064b5
mov esi, dword [sym.imp.KERNEL32.dll_FreeConsole]
call esi
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
push ecx
mov dword [esp + 0x18], ebx
call fcn.00404f70
mov edi, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], edi
test eax, eax
je 0x4062c7
push 0xffffffffffffffff
call eax
test eax, eax
je 0x4062c7
push 0x4000
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call fcn.00517144
add esp, 8
cmp eax, 0xffffffff
jne 0x406276
call esi
jmp 0x4062c7
push 0x577480
push eax
call fcn.005172cf
mov esi, eax
mov ecx, 8
lea edi, [esp + 0x4c]
add esp, 8
mov dword [esp + 0x14], eax
rep movsd dword es:[edi], dword [esi]
call fcn.00516a23
push 0
lea edi, [eax + 0x20]
push 4
mov ecx, 8
lea esi, [esp + 0x4c]
push 0
rep movsd dword es:[edi], dword [esi]
call fcn.00516a23
add eax, 0x20
push eax
call fcn.00516c7f
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
add esp, 0x10
test edi, edi
je 0x406367
mov esi, dword [esp + 0x1c]
call fcn.00406580
test ebx, ebx
je 0x406315
cmp edi, 0xfffffff7
jne 0x4062e8
push str.Some_error_occurred_during_installation._This_could_be_due_to_a_missing_file._Installation_cannot_continue._n
jmp 0x4062f9
cmp edi, 0xfffffff0
jne 0x4062f4
push str.Adobe_Genuine_Validation_failed._Installation_cannot_continue._n
jmp 0x4062f9
push str.Some_error_occurred_during_installation._Installation_cannot_continue._n
call fcn.00516bd8
add esp, 4
push edi
push str.Exiting_Installer_with_Code:__d_n
call fcn.00516bd8
add esp, 8
call dword [sym.imp.KERNEL32.dll_FreeConsole]
push edi
push str.End_Adobe_Setup._Exit_code:__d_n
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 8
call fcn.0040cb50
call fcn.0040cbd0
call fcn.0040cb50
call fcn.0040cd90
test al, al
je 0x406356
mov edx, esi
mov dword [edx + 0xc8], 1
jmp 0x406212
mov eax, dword [esp + 0x18]
mov ecx, esi
mov dword [ecx + 0xc8], eax
jmp 0x406212
test ebx, ebx
je 0x40638d
call fcn.0040cb50
cmp dword [eax + 0xac], 3
jne 0x406380
push str.Uninstallation_successful._n
jmp 0x406385
push str.Installation_successful._n
call fcn.00516bd8
add esp, 4
push 0
push str.__End_Adobe_Setup._Exit_code:__d____n_n
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416090
add esp, 8
lea esi, [esp + 0x28]
call fcn.00408aa0
lea esi, [esp + 0x64]
mov dword [esp + 0x1a68], 0xffffffff
call fcn.004015b0
mov edi, dword [esp + 0x1c]
mov esi, edi
call fcn.00406580
cmp dword [esp + 0x14], 0
je 0x406407
mov edx, dword [edi + 0xc8]
push edx
lea eax, [esp + 0x1258]
push str.Exiting_Installer_with_Code:__d_n
push eax
call fcn.00516945
lea ecx, [esp + 0x1260]
add esp, 0xc
push ecx
call fcn.00516bd8
add esp, 4
call dword [sym.imp.KERNEL32.dll_FreeConsole]
call fcn.0040cb50
mov dl, byte [eax + 0x4c]
mov byte [esp + 0x23], dl
call fcn.0040cb50
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x406424
mov eax, 0x576984
push eax
lea eax, [esp + 0x850]
push 0x104
push eax
call fcn.0051641f
add esp, 0xc
call fcn.0040cb50
call fcn.0040cd90
mov bl, al
call fcn.0040cb50
mov esi, eax
call fcn.0040ca50
cmp dword [edi + 0xe8], 0
je 0x406486
cmp dword [edi + 0xec], 0xfffffffe
je 0x406486
test bl, bl
jne 0x406486
lea ecx, [esp + 0x84c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x406486
lea eax, [esp + 0x84c]
call fcn.00407a90
cmp byte [esp + 0x23], 0
jne 0x4064ab
mov edx, dword [edi + 0xc8]
push edx
push str.__End_Adobe_Setup._Exit_code:__d____n_n
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416090
add esp, 8
call fcn.0040cb50
call fcn.0040cbd0
xor eax, eax
mov ecx, dword [esp + 0x1a60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a48]
xor ecx, esp
call fcn.00515d64
mov esp, ebp
pop ebp
ret