Function at 0x10034870
Capabilities:
Check if file exists
Create process on windows
Get common file path
Get program files directory
Get startup folder

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10180b29
mov eax, dword fs:[0]
push eax
sub esp, 0x304
mov eax, dword [0x101e42fc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 7
mov word [ebp - 0x2c0], ax
mov dword [ebp - 4], eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], 7
mov word [ebp - 0x278], ax
push eax
push 0x26
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 3
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x10034fa8
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10034930
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2c0]
call fcn.10001c20
push 0x1b
push str.AdobeAdobe_Creative_Cloud
lea ecx, [ebp - 0x2c0]
call fcn.10001d30
push 0x800
call fcn.1014d543
add esp, 4
mov esi, eax
push esi
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10034984
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x230]
call fcn.10001c20
push esi
call fcn.1014d1e6
add esp, 4
lea ecx, [ebp - 0x2c0]
push 6
push str.Utils
call fcn.10001d30
push 0x101b8554
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.10019410
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x248]
cmp eax, esi
je 0x10034a13
mov ecx, eax
call fcn.10001bc0
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x248], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x238], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x290]
call fcn.10001bc0
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x10034b48
push eax
push 0x2b
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x10034a94
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10034a60
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.10001c20
push 0x1b
push str.AdobeAdobe_Desktop_Common
lea ecx, [ebp - 0x248]
call fcn.10001d30
push 4
xor eax, eax
mov dword [ebp - 0x250], 0
push str.Core
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], ax
call fcn.10001c20
push 0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.100e1150
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x260]
call fcn.10001bc0
push 0xd
xor eax, eax
mov dword [ebp - 0x250], 0
push 0x101b8554
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], ax
call fcn.10001c20
push 0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.100e1150
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x260]
call fcn.10001bc0
push str.Creative_Cloud_Uninstaller.exe
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.10019410
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x278]
cmp eax, esi
je 0x10034ba0
mov ecx, eax
call fcn.10001bc0
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x278], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x268], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x290]
call fcn.10001bc0
sub esp, 0x10
lea edx, [ebp - 0x230]
lea ecx, [ebp - 0x248]
call fcn.100fb760
add esp, 0x10
test al, al
jne 0x10034c12
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea eax, [ebp - 0x248]
cmovae ecx, dword [ebp - 0x230]
cmp dword [ebp - 0x234], 8
push ecx
cmovae eax, dword [ebp - 0x248]
push eax
push str.Failed_to_copy:__s_to__s
push 0x101b1d5c
call fcn.10002de0
push eax
call fcn.10003eb0
add esp, 0x14
mov esi, 0xfffffffa
jmp 0x10034fc3
sub esp, 0x10
lea edx, [ebp - 0x230]
lea ecx, [ebp - 0x278]
call fcn.100fb760
add esp, 0x10
test al, al
jne 0x10034cbd
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea eax, [ebp - 0x278]
cmovae ecx, dword [ebp - 0x230]
cmp dword [ebp - 0x264], 8
push ecx
cmovae eax, dword [ebp - 0x278]
push eax
push str.Failed_to_copy:__s_to__s
push 0x101b1d5c
call fcn.10002de0
push eax
call fcn.10003eb0
push 0
xor dl, dl
lea ecx, [ebp - 0x248]
call fcn.100e3030
add esp, 0x18
test al, al
jne 0x10034cb3
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
push str.Failed_to_delete_file:__s
push 0x101b1d5c
call fcn.10002de0
push eax
call fcn.10003d90
add esp, 0x10
mov esi, 0xfffffffa
jmp 0x10034fc3
call fcn.10002de0
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
cmovae ecx, dword [ebp - 0x230]
mov esi, dword [eax]
push ecx
push str.Launching_RemoveAAM_from:__s
push 0x101b1d5c
mov esi, dword [esi + 0x54]
mov ecx, esi
push eax
call dword [0x1018a4d4]
call esi
add esp, 0x10
lea ecx, [ebp - 0x230]
push 0x1f
push str.Creative_Cloud_Uninstaller.exe
call fcn.10001d30
xor eax, eax
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 7
mov word [ebp - 0x290], ax
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c8], eax
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 7
call fcn.100e5b80
lea eax, [ebp - 0x290]
mov edx, str.__pipename
push eax
lea ecx, [ebp - 0x260]
call fcn.10001eb0
add esp, 4
push eax
push 0
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 4], 8
call fcn.10019670
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 7
call fcn.10001bc0
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x2cc]
mov esi, dword [eax]
cmp esi, dword [eax + 4]
je 0x10034dc8
nop
push esi
cmp edi, dword [ebp - 0x2c8]
je 0x10034dab
mov ecx, edi
call fcn.10004390
add edi, 0x18
mov dword [ebp - 0x2cc], edi
jmp 0x10034dbd
push edi
lea ecx, [ebp - 0x2d0]
call int.1000b5d0
mov edi, dword [ebp - 0x2cc]
mov eax, dword [ebp + 0xc]
add esi, 0x18
cmp esi, dword [eax + 4]
jne 0x10034d90
mov ecx, 7
mov dword [ebp - 0x298], 0
xor eax, eax
mov dword [ebp - 0x294], ecx
mov word [ebp - 0x2a8], ax
mov byte [ebp - 4], 9
mov esi, dword [ebp - 0x2d0]
cmp esi, edi
je 0x10034e4f
cmp dword [esi + 0x14], 8
mov edx, esi
jb 0x10034dfe
mov edx, dword [esi]
mov eax, edx
lea ecx, [eax + 2]
mov dword [ebp - 0x2d4], ecx
nop dword [eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10034e10
sub eax, dword [ebp - 0x2d4]
lea ecx, [ebp - 0x2a8]
sar eax, 1
push eax
push edx
call fcn.10001d30
push 1
push 0x101a531c
lea ecx, [ebp - 0x2a8]
call fcn.10001d30
add esi, 0x18
cmp esi, edi
jne 0x10034df4
mov ecx, dword [ebp - 0x294]
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
xorps xmm0, xmm0
mov dword [ebp - 0x308], 0
cmovae eax, dword [ebp - 0x230]
cmp ecx, 8
mov dword [ebp - 0x300], eax
lea ecx, [ebp - 0x260]
lea eax, [ebp - 0x2a8]
movlpd qword [ebp - 0x2f0], xmm0
cmovae eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2fc], eax
lea eax, [ebp - 0x230]
push eax
movlpd qword [ebp - 0x2e8], xmm0
movlpd qword [ebp - 0x2e0], xmm0
mov dword [ebp - 0x310], 0x3c
mov dword [ebp - 0x304], 0x101a5320
mov dword [ebp - 0x30c], 0x140
call fcn.10004390
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0xa
call fcn.100e1080
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
mov dword [ebp - 0x2f4], 1
cmovae eax, dword [ebp - 0x260]
mov dword [ebp - 0x2f8], eax
lea eax, [ebp - 0x310]
push eax
mov dword [ebp - 0x2d8], 0
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
lea ecx, [ebp - 0x260]
test eax, eax
je 0x10034f36
call fcn.10001bc0
mov byte [ebp - 0x2c1], 1
jmp 0x10034f42
call fcn.10001bc0
mov byte [ebp - 0x2c1], 0
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 7
call fcn.10001bc0
cmp byte [ebp - 0x2c1], 0
jne 0x10034f8e
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push str.Unable_to_launch_exe_from:__s
push 0x101b1d5c
call fcn.10002de0
push eax
call fcn.10003eb0
add esp, 0x10
mov esi, 0xfffffffa
jmp 0x10034f90
xor esi, esi
lea ecx, [ebp - 0x2d0]
call fcn.1000a6f0
lea ecx, [ebp - 0x290]
call fcn.10001bc0
jmp 0x10034fc3
push str.Failed_to_get_ACF_Path.
push 0x101b1d5c
call fcn.10002de0
push eax
call fcn.10003e20
add esp, 0xc
or esi, 0xffffffff
lea ecx, [ebp - 0x278]
call fcn.10001bc0
lea ecx, [ebp - 0x248]
call fcn.10001bc0
lea ecx, [ebp - 0x230]
call fcn.10001bc0
lea ecx, [ebp - 0x2c0]
call fcn.10001bc0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014d1d5
mov esp, ebp
pop ebp
ret