Function at 0x449690
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 0x6d5d99
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x274
mov eax, dword [0x82f084]
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 0x75c10c
push 0x75c10c
push str.CCDManager
push str.WAMB
push 0x1e
call fcn.0043b2b0
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.0060d700
cmp dword [ebp - 0x278], 2
jne 0x449750
lea ecx, [ebp - 0x25c]
call fcn.0060f010
jmp 0x4497a4
push 0
push 0x26
lea eax, [ebp - 0x220]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x4497a4
lea ecx, [ebp - 0x220]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x449770
sub ecx, edx
lea eax, [ebp - 0x220]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x25c]
call fcn.0042fe00
push 0x1b
push str.AdobeAdobe_Creative_Cloud
lea ecx, [ebp - 0x25c]
call fcn.0042ff20
push 3
xor eax, eax
mov dword [ebp - 0x234], 0
push 0x762f54
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
call fcn.0042fe00
push ecx
lea edx, [ebp - 0x244]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x25c]
call fcn.0060f9d0
add esp, 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x244]
call fcn.0042fd70
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.0042fe00
push ecx
lea edx, [ebp - 0x244]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x25c]
call fcn.0060f9d0
add esp, 4
lea ecx, [ebp - 0x244]
call fcn.0042fd70
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.004487a0
cmp byte [ebx + 8], 0
jne 0x449904
cmp byte [ebx + 0x10], 0
jne 0x449904
call fcn.0043b360
mov eax, dword [eax + 0x198]
test eax, eax
je 0x4499ab
call fcn.0043b360
mov ecx, dword [eax + 0x198]
lea eax, [ebp - 0x244]
push eax
call fcn.00437250
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x244]
mov eax, dword [ebp - 0x228]
push ecx
cmp eax, dword [ebp - 0x224]
je 0x4498f3
mov ecx, eax
call fcn.0042fc50
add dword [ebp - 0x228], 0x18
jmp 0x44999c
push eax
lea ecx, [ebp - 0x22c]
call fcn.00449db0
jmp 0x44999c
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.0042fe00
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x449989
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 0x44999c
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.00448540
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 3
call fcn.0042fd70
cmp byte [ebx + 0x14], 0
je 0x4499c1
push 1
lea eax, [ebp - 0x22c]
mov ecx, esi
push eax
call fcn.004493e0
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 0x449a75
push 0x15
push str.__adsPrelaunchedtrue
call fcn.0042fe00
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x449a57
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 0x449c48
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.00448540
lea ecx, [ebp - 0x244]
jmp 0x449c48
push 0x16
push str.__adsPrelaunchedfalse
call fcn.0042fe00
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x449ad7
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 0x449aea
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.00448540
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 3
call fcn.0042fd70
lea eax, [ebp - 0x22c]
push eax
call fcn.00448b00
cmp byte [ebx + 0xc], 0
je 0x449c51
cmp dword [esi + 0x14], 0
jne 0x449bf6
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.00612d20
call fcn.00430ad0
lea ecx, [ebp - 0x244]
push ecx
lea ecx, [eax + 0x49c]
call fcn.004581c0
test al, al
jne 0x449b83
push str.Failed_to_reinit_second_Install_Helper
push 0x75c10c
push 0x75c10c
push str.CCDManager
push str.WAMB
push 0x32
call fcn.0043b2b0
add esp, 0x18
lea eax, [ebp - 0x244]
mov edx, str.__helperBridgeName
push eax
lea ecx, [ebp - 0x274]
call fcn.00439e80
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 0x449bd7
mov ecx, eax
call fcn.0042fc50
add dword [ebp - 0x228], 0x18
lea ecx, [ebp - 0x274]
call fcn.0042fd70
lea ecx, [ebp - 0x244]
jmp 0x449c48
push eax
lea ecx, [ebp - 0x22c]
call fcn.00449db0
lea ecx, [ebp - 0x274]
call fcn.0042fd70
lea ecx, [ebp - 0x244]
jmp 0x449c48
lea eax, [esi + 4]
mov edx, str.__helperBridgeName
push eax
lea ecx, [ebp - 0x274]
call fcn.00439e80
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 0x449c36
mov ecx, eax
call fcn.0042fc50
add dword [ebp - 0x228], 0x18
jmp 0x449c42
push eax
lea ecx, [ebp - 0x22c]
call fcn.00449db0
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 3
call fcn.0042fd70
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.00626c40
add esp, 0x18
cmp byte [ebx + 8], 0
je 0x449cf5
call fcn.006298b0
push 0
push 0x4e20
mov ecx, eax
mov dword [esi + 0x20], eax
call fcn.00629a50
add esp, 8
cmp eax, 1
jne 0x449cd7
push str.Timeout_while_waiting_for_Apps_loaded_message.
push 0x75c10c
push 0x75c10c
push str.CCDManager
push str.WAMB
push 0x1e
call fcn.0043b2b0
add esp, 0x18
mov ecx, dword [esi + 0x20]
call fcn.00629b10
push 0
push 0
push 0
push 0
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.00449690
lea ecx, [ebp - 0x22c]
call fcn.004483f0
lea ecx, [ebp - 0x25c]
call fcn.0042fd70
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.0067d651
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10