Function at 0x441470
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 0x695959
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x274
mov eax, dword [0x7ca00c]
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 0x701e7c
push 0x701e7c
push str.CCDManager
push str.WAMB
push 0x1e
call fcn.00433ac0
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.005d8450
cmp dword [ebp - 0x278], 2
jne 0x441530
lea ecx, [ebp - 0x25c]
call fcn.005d9d60
jmp 0x441584
push 0
push 0x26
lea eax, [ebp - 0x220]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x441584
lea ecx, [ebp - 0x220]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x441550
sub ecx, edx
lea eax, [ebp - 0x220]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x25c]
call fcn.00428800
push 0x1b
push str.AdobeAdobe_Creative_Cloud
lea ecx, [ebp - 0x25c]
call fcn.00428920
push 3
xor eax, eax
mov dword [ebp - 0x234], 0
push 0x7087e4
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
call fcn.00428800
push ecx
lea edx, [ebp - 0x244]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x25c]
call fcn.005da720
add esp, 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x244]
call fcn.00428770
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.00428800
push ecx
lea edx, [ebp - 0x244]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x25c]
call fcn.005da720
add esp, 4
lea ecx, [ebp - 0x244]
call fcn.00428770
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.00440610
cmp byte [ebx + 8], 0
jne 0x4416e4
cmp byte [ebx + 0x10], 0
jne 0x4416e4
call fcn.00433b70
mov eax, dword [eax + 0x198]
test eax, eax
je 0x44178b
call fcn.00433b70
mov ecx, dword [eax + 0x198]
lea eax, [ebp - 0x244]
push eax
call fcn.0042fb40
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x244]
mov eax, dword [ebp - 0x228]
push ecx
cmp eax, dword [ebp - 0x224]
je 0x4416d3
mov ecx, eax
call fcn.00428650
add dword [ebp - 0x228], 0x18
jmp 0x44177c
push eax
lea ecx, [ebp - 0x22c]
call fcn.00441b90
jmp 0x44177c
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.00428800
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x441769
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 0x44177c
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.004403b0
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 3
call fcn.00428770
cmp byte [ebx + 0x14], 0
je 0x4417a1
push 1
lea eax, [ebp - 0x22c]
mov ecx, esi
push eax
call fcn.004411c0
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 0x441855
push 0x15
push str.__adsPrelaunchedtrue
call fcn.00428800
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x441837
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 0x441a28
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.004403b0
lea ecx, [ebp - 0x244]
jmp 0x441a28
push 0x16
push str.__adsPrelaunchedfalse
call fcn.00428800
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x224]
je 0x4418b7
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 0x4418ca
lea ecx, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x22c]
call fcn.004403b0
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 3
call fcn.00428770
lea eax, [ebp - 0x22c]
push eax
call fcn.004408e0
cmp byte [ebx + 0xc], 0
je 0x441a31
cmp dword [esi + 0x14], 0
jne 0x4419d6
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.005dd830
call fcn.004294d0
lea ecx, [ebp - 0x244]
push ecx
lea ecx, [eax + 0x49c]
call fcn.0044dce0
test al, al
jne 0x441963
push str.Failed_to_reinit_second_Install_Helper
push 0x701e7c
push 0x701e7c
push str.CCDManager
push str.WAMB
push 0x32
call fcn.00433ac0
add esp, 0x18
lea eax, [ebp - 0x244]
mov edx, str.__helperBridgeName
push eax
lea ecx, [ebp - 0x274]
call fcn.004326c0
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 0x4419b7
mov ecx, eax
call fcn.00428650
add dword [ebp - 0x228], 0x18
lea ecx, [ebp - 0x274]
call fcn.00428770
lea ecx, [ebp - 0x244]
jmp 0x441a28
push eax
lea ecx, [ebp - 0x22c]
call fcn.00441b90
lea ecx, [ebp - 0x274]
call fcn.00428770
lea ecx, [ebp - 0x244]
jmp 0x441a28
lea eax, [esi + 4]
mov edx, str.__helperBridgeName
push eax
lea ecx, [ebp - 0x274]
call fcn.004326c0
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 0x441a16
mov ecx, eax
call fcn.00428650
add dword [ebp - 0x228], 0x18
jmp 0x441a22
push eax
lea ecx, [ebp - 0x22c]
call fcn.00441b90
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 3
call fcn.00428770
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.005f0e20
add esp, 0x18
cmp byte [ebx + 8], 0
je 0x441ad5
call fcn.005f22f0
push 0
push 0x4e20
mov ecx, eax
mov dword [esi + 0x20], eax
call fcn.005f2490
add esp, 8
cmp eax, 1
jne 0x441ab7
push str.Timeout_while_waiting_for_Apps_loaded_message.
push 0x701e7c
push 0x701e7c
push str.CCDManager
push str.WAMB
push 0x1e
call fcn.00433ac0
add esp, 0x18
mov ecx, dword [esi + 0x20]
call fcn.005f2550
push 0
push 0
push 0
push 0
mov ecx, esi
mov dword [esi + 0x20], 0
call fcn.00441470
lea ecx, [ebp - 0x22c]
call fcn.00440260
lea ecx, [ebp - 0x25c]
call fcn.00428770
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.0063de71
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10