Function at 0x408460
Capabilities:
Accept command line arguments
Copy file
Delete directory
Delete file
Get common file path
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10d8
call fcn.0040fb90
mov eax, dword [0x4241dc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x824], ax
lea eax, [ebp - 0x822]
push eax
mov byte [ebp - 0x10a4], 0
xor bl, bl
call fcn.00410210
add esp, 0xc
push 0x41a284
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.SetDefaultDllDirectories
push 0x41a3e4
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4084d0
push 0x800
call eax
lea ecx, [ebp - 0x10d8]
call fcn.00402650
call fcn.004079f0
push 0
call esi
mov dword [ebp - 0x1098], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x10bc]
call fcn.00401070
lea eax, [ebp - 0x10a0]
push eax
lea ecx, [ebp - 0x10bc]
call fcn.00402110
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
push 0x208
mov edi, eax
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00410210
mov esi, 1
add esp, 0xc
cmp dword [ebp - 0x10a0], esi
jle 0x408588
lea ebx, [ebx]
push dword [edi + esi*4]
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0040f574
mov ecx, dword [ebp - 0x10a0]
add esp, 0xc
lea eax, [ecx - 1]
cmp esi, eax
jge 0x408583
push 0x41aa28
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0040f574
mov ecx, dword [ebp - 0x10a0]
add esp, 0xc
inc esi
cmp esi, ecx
jl 0x408540
lea eax, [ebp - 0x20c]
push 0x41aa2c
push eax
call fcn.0040f86e
add esp, 8
test eax, eax
jne 0x408634
lea eax, [ebp - 0x20c]
push str._Embedding
push eax
call fcn.0040f86e
add esp, 8
test eax, eax
jne 0x408634
lea eax, [ebp - 0x20c]
push str._uninstall
push eax
call fcn.0040f86e
add esp, 8
test eax, eax
jne 0x408634
lea eax, [ebp - 0x20c]
push str._check
push eax
call fcn.0040f86e
add esp, 8
test eax, eax
jne 0x408634
lea eax, [ebp - 0x20c]
push str._update
push eax
call fcn.0040f86e
add esp, 8
test eax, eax
jne 0x408634
lea eax, [ebp - 0x20c]
push str._maintain
push eax
call fcn.0040f86e
add esp, 8
test eax, eax
jne 0x408634
lea eax, [ebp - 0x20c]
push str._refreshIEElevationPolicies
push eax
call fcn.0040f86e
add esp, 8
test eax, eax
je 0x40863b
mov byte [ebp - 0x10a4], 1
lea eax, [ebp - 0x20c]
push str._relaunched
push eax
call fcn.0040f86e
add esp, 8
test eax, eax
push 0x104
movzx ecx, bl
lea eax, [ebp - 0xc34]
mov edx, 1
push eax
cmovne ecx, edx
push 0
mov byte [ebp - 0x1090], cl
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0xc34]
push eax
lea eax, [ebp - 0xa2c]
push 0x104
push eax
call fcn.0040f5e0
lea eax, [ebp - 0xa2c]
push 0x5c
push eax
call fcn.0040f7c8
add esp, 0x14
test eax, eax
je 0x4086a8
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0xa2c]
push eax
call fcn.00406740
mov esi, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
add esp, 4
test al, al
jne 0x40870c
push 0x104
lea eax, [ebp - 0x1044]
push eax
call esi
lea eax, [ebp - 0x1044]
push eax
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.0040f5e0
push str.MacromedTemp
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.0040f574
lea eax, [ebp - 0x414]
push eax
call fcn.004035f0
add esp, 0x1c
lea eax, [ebp - 0xa2c]
push eax
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.0040f5e0
push str..dll
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.0040f574
add esp, 0x18
lea eax, [ebp - 0x108c]
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
je 0x408847
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [ebp - 0x10a4]
lea eax, [ebp - 0x61c]
push eax
xor esi, esi
call fcn.00406080
add esp, 8
test al, al
jne 0x408786
mov esi, 0x6e2
jmp 0x408840
push 1
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0xc34]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x4087aa
mov esi, 0x6e0
jmp 0x408840
push 0
sub esp, 8
lea eax, [ebp - 0x20c]
mov ecx, esp
push eax
call fcn.00401070
sub esp, 8
lea eax, [ebp - 0x61c]
mov ecx, esp
push eax
call fcn.00401070
call fcn.00407340
add esp, 0x14
test al, al
mov ecx, 0x6e1
lea eax, [ebp - 0x61c]
cmove esi, ecx
push eax
lea ecx, [ebp - 0x1094]
call fcn.00401070
push 0
push 0x41a47c
lea eax, [ebp - 0x109c]
push eax
lea ecx, [ebp - 0x1094]
call fcn.00401ef0
lea ecx, [ebp - 0x109c]
call fcn.004010d0
lea eax, [ebp - 0x61c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x1094]
call fcn.00402110
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [ebp - 0x1094]
call fcn.004010d0
push esi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push dword [ebp - 0x1090]
lea eax, [ebp - 0x824]
push eax
call fcn.00408300
push 0x1c
call fcn.0040e7dc
add esp, 0xc
test eax, eax
je 0x408872
mov ecx, eax
call fcn.00408a70
mov ebx, eax
jmp 0x408874
xor ebx, ebx
push 0x104
lea eax, [ebp - 0xe3c]
push eax
call esi
lea eax, [ebp - 0xe3c]
push eax
lea ecx, [ebp - 0x10b4]
call fcn.00401070
lea eax, [ebp - 0x10b4]
push eax
lea ecx, [ebp - 0x10ac]
call fcn.00401000
sub esp, 8
mov ecx, esp
push str.Macromed
call fcn.00401070
push 0x5c
lea ecx, [ebp - 0x10ac]
call fcn.004014e0
sub esp, 8
mov ecx, esp
push str.Flash
call fcn.00401070
push 0x5c
lea ecx, [ebp - 0x10ac]
call fcn.004014e0
push 0x2f4
call fcn.0040e7dc
add esp, 4
test eax, eax
je 0x40890e
lea ecx, [ebp - 0x824]
push ecx
push dword [ebp - 0x10a4]
mov ecx, eax
push ebx
push dword [ebp - 0x1098]
call fcn.00402730
mov edi, eax
jmp 0x408910
xor edi, edi
lea eax, [ebp - 0x10b4]
push eax
lea ecx, [ebp - 0x1094]
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x1094]
mov ecx, esp
push eax
call fcn.00401000
lea ecx, [edi + 0x220]
call fcn.00401820
lea ecx, [ebp - 0x1094]
call fcn.004010d0
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0x1094]
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x1094]
mov ecx, esp
push eax
call fcn.00401000
lea ecx, [edi + 0x230]
call fcn.00401820
lea ecx, [ebp - 0x1094]
call fcn.004010d0
lea eax, [ebp - 0x10c4]
push eax
mov ecx, edi
call fcn.00406050
sub esp, 8
lea eax, [ebp - 0x10bc]
mov ecx, esp
push eax
call fcn.00401000
mov ecx, edi
call fcn.004037c0
mov dword [ebp - 0x1098], eax
lea eax, [ebp - 0x10cc]
push eax
mov ecx, edi
call fcn.00406290
mov esi, dword [ebx]
sub esp, 8
mov ecx, esp
push str.FlashInstall32.log
call fcn.00401070
push 0x5c
lea ecx, [ebp - 0x10c4]
call fcn.004014e0
sub esp, 8
mov ecx, esp
push eax
call fcn.00401000
mov ecx, ebx
call dword [esi + 0x1c]
mov ecx, ebx
call fcn.00408b60
push ebx
call fcn.0040e850
add esp, 4
test edi, edi
je 0x408a0e
mov ecx, edi
call fcn.00402dc0
push edi
call fcn.0040e850
add esp, 4
xor esi, esi
cmp dword [0x425004], esi
jle 0x408a33
mov edi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edi, edi
mov eax, dword [0x425000]
push dword [eax + esi*4]
call edi
inc esi
cmp esi, dword [0x425004]
jl 0x408a20
push dword [0x425000]
mov dword [0x425004], 0
call fcn.0040e850
add esp, 4
mov dword [0x425000], 0
push dword [ebp - 0x1098]
call dword [sym.imp.KERNEL32.dll_ExitProcess]