Function at 0x449320
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 0x6d40e9
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x274
mov eax, dword [0x82d084]
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 0x75b10c
push 0x75b10c
push str.CCDManager
push str.WAMB
push 0x1e
call fcn.0043b0f0
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.0060bf00
cmp dword [ebp - 0x278], 2
jne 0x4493e0
lea ecx, [ebp - 0x25c]
call fcn.0060d810
jmp 0x449434
push 0
push 0x26
lea eax, [ebp - 0x220]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x449434
lea ecx, [ebp - 0x220]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x449400
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 0x761eac
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.0060e1d0
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.0060e1d0
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.00448430
cmp byte [ebx + 8], 0
jne 0x449594
cmp byte [ebx + 0x10], 0
jne 0x449594
call fcn.0043b1a0
mov eax, dword [eax + 0x198]
test eax, eax
je 0x44963b
call fcn.0043b1a0
mov ecx, dword [eax + 0x198]
lea eax, [ebp - 0x244]
push eax
call fcn.00437160
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x244]
mov eax, dword [ebp - 0x228]
push ecx
cmp eax, dword [ebp - 0x224]
je 0x449583
mov ecx, eax
call fcn.0042fc50
add dword [ebp - 0x228], 0x18
jmp 0x44962c
push eax
lea ecx, [ebp - 0x22c]
call fcn.00449a40
jmp 0x44962c
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 0x449619
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 0x44962c
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.004481d0
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 3
call fcn.0042fd70
cmp byte [ebx + 0x14], 0
je 0x449651
push 1
lea eax, [ebp - 0x22c]
mov ecx, esi
push eax
call fcn.00449070
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 0x449705
push 0x15
push str.__adsPrelaunchedtrue
call fcn.0042fe00
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x4496e7
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 0x4498d8
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.004481d0
lea ecx, [ebp - 0x244]
jmp 0x4498d8
push 0x16
push str.__adsPrelaunchedfalse
call fcn.0042fe00
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x449767
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 0x44977a
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.004481d0
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 3
call fcn.0042fd70
lea eax, [ebp - 0x22c]
push eax
call fcn.00448790
cmp byte [ebx + 0xc], 0
je 0x4498e1
cmp dword [esi + 0x14], 0
jne 0x449886
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.00611520
call fcn.00430ad0
lea ecx, [ebp - 0x244]
push ecx
lea ecx, [eax + 0x49c]
call fcn.00457e10
test al, al
jne 0x449813
push str.Failed_to_reinit_second_Install_Helper
push 0x75b10c
push 0x75b10c
push str.CCDManager
push str.WAMB
push 0x32
call fcn.0043b0f0
add esp, 0x18
lea eax, [ebp - 0x244]
mov edx, str.__helperBridgeName
push eax
lea ecx, [ebp - 0x274]
call fcn.00439cf0
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 0x449867
mov ecx, eax
call fcn.0042fc50
add dword [ebp - 0x228], 0x18
lea ecx, [ebp - 0x274]
call fcn.0042fd70
lea ecx, [ebp - 0x244]
jmp 0x4498d8
push eax
lea ecx, [ebp - 0x22c]
call fcn.00449a40
lea ecx, [ebp - 0x274]
call fcn.0042fd70
lea ecx, [ebp - 0x244]
jmp 0x4498d8
lea eax, [esi + 4]
mov edx, str.__helperBridgeName
push eax
lea ecx, [ebp - 0x274]
call fcn.00439cf0
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 0x4498c6
mov ecx, eax
call fcn.0042fc50
add dword [ebp - 0x228], 0x18
jmp 0x4498d2
push eax
lea ecx, [ebp - 0x22c]
call fcn.00449a40
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.006253d0
add esp, 0x18
cmp byte [ebx + 8], 0
je 0x449985
call fcn.00628010
push 0
push 0x4e20
mov ecx, eax
mov dword [esi + 0x20], eax
call fcn.006281b0
add esp, 8
cmp eax, 1
jne 0x449967
push str.Timeout_while_waiting_for_Apps_loaded_message.
push 0x75b10c
push 0x75b10c
push str.CCDManager
push str.WAMB
push 0x1e
call fcn.0043b0f0
add esp, 0x18
mov ecx, dword [esi + 0x20]
call fcn.00628270
push 0
push 0
push 0
push 0
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.00449320
lea ecx, [ebp - 0x22c]
call fcn.00448080
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.0067ba01
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10