Function at 0x4402e0
Capabilities:
Get common file path
Get program files directory

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6ae5a9
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x274
mov eax, dword [0x7e500c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
movzx eax, byte [ebx + 0x14]
push eax
movzx eax, byte [ebx + 0x10]
push eax
movzx eax, byte [ebx + 0xc]
push eax
movzx eax, byte [ebx + 8]
push eax
push str.Inside_launchACC._Launching_Adobe_Creative_Cloud._waitForUILoadComplete__d__reinitInstallHelper__d__launchInSilentMode__d__isNeedToSendProductInfoXMLPath__d_
push 0x71a27c
push 0x71a27c
push str.CCDManager
push str.WAMB
push 0x1e
call fcn.00432560
xor eax, eax
mov dword [ebp - 0x24c], 0
add esp, 0x28
mov dword [ebp - 0x248], 7
mov word [ebp - 0x25c], ax
lea edx, [ebp - 0x278]
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x27c]
call fcn.005c9eb0
cmp dword [ebp - 0x278], 2
jne 0x4403a0
lea ecx, [ebp - 0x25c]
call fcn.005cb7c0
jmp 0x4403f4
push 0
push 0x26
lea eax, [ebp - 0x220]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x4403f4
lea ecx, [ebp - 0x220]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4403c0
sub ecx, edx
lea eax, [ebp - 0x220]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x25c]
call fcn.004271d0
push 0x1b
push str.AdobeAdobe_Creative_Cloud
lea ecx, [ebp - 0x25c]
call fcn.004272f0
push 3
xor eax, eax
mov dword [ebp - 0x234], 0
push 0x720bd4
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
call fcn.004271d0
push ecx
lea edx, [ebp - 0x244]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x25c]
call fcn.005cc180
add esp, 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x244]
call fcn.00427170
push 0x12
xor eax, eax
mov dword [ebp - 0x234], 0
push str.Creative_Cloud.exe
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
call fcn.004271d0
push ecx
lea edx, [ebp - 0x244]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x25c]
call fcn.005cc180
add esp, 4
lea ecx, [ebp - 0x244]
call fcn.00427170
xorps xmm0, xmm0
mov dword [ebp - 0x224], 0
movq qword [ebp - 0x22c], xmm0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 3
push eax
call fcn.0043f500
cmp byte [ebx + 8], 0
jne 0x440554
cmp byte [ebx + 0x10], 0
jne 0x440554
call fcn.00432610
mov eax, dword [eax + 0x188]
test eax, eax
je 0x4405fb
call fcn.00432610
mov ecx, dword [eax + 0x188]
lea eax, [ebp - 0x244]
push eax
call fcn.0042e5a0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x244]
mov eax, dword [ebp - 0x228]
push ecx
cmp eax, dword [ebp - 0x224]
je 0x440543
mov ecx, eax
call fcn.00427050
add dword [ebp - 0x228], 0x18
jmp 0x4405ec
push eax
lea ecx, [ebp - 0x22c]
call fcn.004409f0
jmp 0x4405ec
push 0x12
xor eax, eax
mov dword [ebp - 0x234], 0
push str.__showwindowfalse
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
call fcn.004271d0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x4405d9
movups xmm0, xmmword [ebp - 0x244]
mov dword [eax + 0x10], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x234]
movq qword [eax + 0x10], xmm0
xor eax, eax
add dword [ebp - 0x228], 0x18
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
jmp 0x4405ec
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.0043f2a0
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 3
call fcn.00427170
cmp byte [ebx + 0x14], 0
je 0x440611
push 1
lea eax, [ebp - 0x22c]
mov ecx, esi
push eax
call fcn.00440030
xor eax, eax
mov dword [ebp - 0x234], 0
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
cmp byte [esi], al
je 0x4406c5
push 0x15
push str.__adsPrelaunchedtrue
call fcn.004271d0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x4406a7
movups xmm0, xmmword [ebp - 0x244]
mov dword [eax + 0x10], 0
lea ecx, [ebp - 0x244]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x234]
movq qword [eax + 0x10], xmm0
xor eax, eax
add dword [ebp - 0x228], 0x18
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
jmp 0x44088c
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.0043f2a0
lea ecx, [ebp - 0x244]
jmp 0x44088c
push 0x16
push str.__adsPrelaunchedfalse
call fcn.004271d0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x440727
movups xmm0, xmmword [ebp - 0x244]
mov dword [eax + 0x10], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x234]
movq qword [eax + 0x10], xmm0
xor eax, eax
add dword [ebp - 0x228], 0x18
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
jmp 0x44073a
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.0043f2a0
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 3
call fcn.00427170
cmp byte [ebx + 0xc], 0
je 0x440895
cmp dword [esi + 0x14], 0
jne 0x44083a
xor eax, eax
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 8
call fcn.005cf280
call fcn.00427ea0
lea ecx, [ebp - 0x244]
push ecx
lea ecx, [eax + 0x49c]
call fcn.0044c8b0
test al, al
jne 0x4407c7
push str.Failed_to_reinit_second_Install_Helper
push 0x71a27c
push 0x71a27c
push str.CCDManager
push str.WAMB
push 0x32
call fcn.00432560
add esp, 0x18
lea eax, [ebp - 0x244]
mov edx, str.__helperBridgeName
push eax
lea ecx, [ebp - 0x274]
call fcn.00431170
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x274]
mov eax, dword [ebp - 0x228]
push ecx
cmp eax, dword [ebp - 0x224]
je 0x44081b
mov ecx, eax
call fcn.00427050
add dword [ebp - 0x228], 0x18
lea ecx, [ebp - 0x274]
call fcn.00427170
lea ecx, [ebp - 0x244]
jmp 0x44088c
push eax
lea ecx, [ebp - 0x22c]
call fcn.004409f0
lea ecx, [ebp - 0x274]
call fcn.00427170
lea ecx, [ebp - 0x244]
jmp 0x44088c
lea eax, [esi + 4]
mov edx, str.__helperBridgeName
push eax
lea ecx, [ebp - 0x274]
call fcn.00431170
add esp, 4
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x274]
mov eax, dword [ebp - 0x228]
push ecx
cmp eax, dword [ebp - 0x224]
je 0x44087a
mov ecx, eax
call fcn.00427050
add dword [ebp - 0x228], 0x18
jmp 0x440886
push eax
lea ecx, [ebp - 0x22c]
call fcn.004409f0
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 3
call fcn.00427170
push ecx
lea eax, [ebp - 0x278]
mov dword [ebp - 0x278], 0
push eax
mov al, byte [ebx + 8]
lea edx, [ebp - 0x22c]
xor al, 1
lea ecx, [ebp - 0x25c]
movzx eax, al
push eax
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x280]
push 0
push eax
call fcn.005e78e0
add esp, 0x18
cmp byte [ebx + 8], 0
je 0x440939
call fcn.005e8db0
push 0
push 0x4e20
mov ecx, eax
mov dword [esi + 0x20], eax
call fcn.005e8f50
add esp, 8
cmp eax, 1
jne 0x44091b
push str.Timeout_while_waiting_for_Apps_loaded_message.
push 0x71a27c
push 0x71a27c
push str.CCDManager
push str.WAMB
push 0x1e
call fcn.00432560
add esp, 0x18
mov ecx, dword [esi + 0x20]
call fcn.005e9010
push 0
push 0
push 0
push 0
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.004402e0
lea ecx, [ebp - 0x22c]
call fcn.0043f150
lea ecx, [ebp - 0x25c]
call fcn.00427170
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00650ddc
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10