Function at 0x408180
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.0040f8c0
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.0040ff40
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 0x4081f0
push 0x800
call eax
lea ecx, [ebp - 0x10d8]
call fcn.00402650
call fcn.00407710
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.0040ff40
mov esi, 1
add esp, 0xc
cmp dword [ebp - 0x10a0], esi
jle 0x4082a8
lea ebx, [ebx]
push dword [edi + esi*4]
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0040f2a4
mov ecx, dword [ebp - 0x10a0]
add esp, 0xc
lea eax, [ecx - 1]
cmp esi, eax
jge 0x4082a3
push 0x41aa20
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0040f2a4
mov ecx, dword [ebp - 0x10a0]
add esp, 0xc
inc esi
cmp esi, ecx
jl 0x408260
lea eax, [ebp - 0x20c]
push 0x41aa24
push eax
call fcn.0040f59e
add esp, 8
test eax, eax
jne 0x408354
lea eax, [ebp - 0x20c]
push str._Embedding
push eax
call fcn.0040f59e
add esp, 8
test eax, eax
jne 0x408354
lea eax, [ebp - 0x20c]
push str._uninstall
push eax
call fcn.0040f59e
add esp, 8
test eax, eax
jne 0x408354
lea eax, [ebp - 0x20c]
push str._check
push eax
call fcn.0040f59e
add esp, 8
test eax, eax
jne 0x408354
lea eax, [ebp - 0x20c]
push str._update
push eax
call fcn.0040f59e
add esp, 8
test eax, eax
jne 0x408354
lea eax, [ebp - 0x20c]
push str._maintain
push eax
call fcn.0040f59e
add esp, 8
test eax, eax
jne 0x408354
lea eax, [ebp - 0x20c]
push str._refreshIEElevationPolicies
push eax
call fcn.0040f59e
add esp, 8
test eax, eax
je 0x40835b
mov byte [ebp - 0x10a4], 1
lea eax, [ebp - 0x20c]
push str._relaunched
push eax
call fcn.0040f59e
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.0040f310
lea eax, [ebp - 0xa2c]
push 0x5c
push eax
call fcn.0040f4f8
add esp, 0x14
test eax, eax
je 0x4083c8
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0xa2c]
push eax
call fcn.00406470
mov esi, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
add esp, 4
test al, al
jne 0x40842c
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.0040f310
push str.MacromedTemp
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.0040f2a4
lea eax, [ebp - 0x414]
push eax
call fcn.004035d0
add esp, 0x1c
lea eax, [ebp - 0xa2c]
push eax
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.0040f310
push str..dll
lea eax, [ebp - 0x414]
push 0x104
push eax
call fcn.0040f2a4
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 0x408567
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [ebp - 0x10a4]
lea eax, [ebp - 0x61c]
push eax
xor esi, esi
call fcn.00405dc0
add esp, 8
test al, al
jne 0x4084a6
mov esi, 0x6e2
jmp 0x408560
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 0x4084ca
mov esi, 0x6e0
jmp 0x408560
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.00407060
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.00408020
push 0x1c
call fcn.0040e50c
add esp, 0xc
test eax, eax
je 0x408592
mov ecx, eax
call fcn.00408790
mov ebx, eax
jmp 0x408594
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 0x2ec
call fcn.0040e50c
add esp, 4
test eax, eax
je 0x40862e
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 0x408630
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 + 0x218]
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 + 0x228]
call fcn.00401820
lea ecx, [ebp - 0x1094]
call fcn.004010d0
lea eax, [ebp - 0x10c4]
push eax
mov ecx, edi
call fcn.00405d90
sub esp, 8
lea eax, [ebp - 0x10bc]
mov ecx, esp
push eax
call fcn.00401000
mov ecx, edi
call fcn.004037a0
mov dword [ebp - 0x1098], eax
lea eax, [ebp - 0x10cc]
push eax
mov ecx, edi
call fcn.00405fd0
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.00408880
push ebx
call fcn.0040e580
add esp, 4
test edi, edi
je 0x40872e
mov ecx, edi
call fcn.00402db0
push edi
call fcn.0040e580
add esp, 4
xor esi, esi
cmp dword [0x425004], esi
jle 0x408753
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 0x408740
push dword [0x425000]
mov dword [0x425004], 0
call fcn.0040e580
add esp, 4
mov dword [0x425000], 0
push dword [ebp - 0x1098]
call dword [sym.imp.KERNEL32.dll_ExitProcess]