Function at 0x140047100
Capabilities:
Check if file exists
Get common file path
Get program files directory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x280]
sub rsp, 0x380
mov rax, qword [0x1400e9070]
xor rax, rsp
mov qword [rbp + 0x270], rax
mov r14, rcx
xor r15d, r15d
mov qword [rbp + 0x18], r15
movdqa xmm0, xmmword [0x1400d6740]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r15w
mov qword [rbp - 0x28], r15
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], r15w
mov qword [rbp - 0x48], r15
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r15w
mov qword [rbp + 0x38], r15
movdqu xmmword [rbp + 0x48], xmm0
mov word [rbp + 0x38], r15w
mov qword [rbp - 8], r15
movdqu xmmword [rbp + 8], xmm0
mov word [rbp - 8], r15w
lea rcx, [rbp - 0x48]
call fcn.14003c3e0
lea rcx, [rsp + 0x68]
call fcn.1400586c0
lea rdx, [rbp - 0x28]
lea rcx, [rsp + 0x68]
call fcn.1400588b0
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x68]
call fcn.14005ab70
lea r9d, [r15 + 0x40]
lea r8, [0x1400cc86c]
mov edx, 0x100
lea rcx, [rbp + 0x60]
call fcn.14002d720
mov qword [rsp + 0x48], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
lea rax, [rbp + 0x60]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400471f0
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.140003250
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14004724b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047246
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a66
call fcn.140079b70
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r15w
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r15w
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.1400584a0
cmp dword [rsp + 0x40], 2
jne 0x140047299
lea rcx, [rsp + 0x78]
call fcn.14003aa00
jmp 0x1400472d5
xor r9d, r9d
lea r8d, [r9 + 0x2a]
lea rdx, [rbp + 0x60]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x1400472d5
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x78]
call fcn.140002cb0
mov r8d, 0x1b
lea rdx, str.AdobeAdobe_Creative_Cloud
lea rcx, [rsp + 0x78]
call fcn.140003670
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r15
mov r8d, 0x16
lea rdx, [0x1400cd648]
lea rcx, [rsp + 0x20]
call fcn.140003250
nop
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14004737d
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14004737d
lea rsi, [rcx + 0xb]
add rsi, rax
mov eax, 2
mul rsi
cmovo rax, rdi
mov rcx, rax
call fcn.140080e28
mov rbx, rax
test rax, rax
je 0x14004737d
lea r8, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae r8, qword [rsp + 0x78]
mov rdx, rsi
mov rcx, rax
call fcn.140080dac
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 8
cmovae rdx, qword [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140002cb0
mov rcx, rbx
call fcn.140080e14
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x1400473bf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400473ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a6c
call fcn.140079b70
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400474cf
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x48]
call fcn.140004480
lea rdx, [rbp - 0x68]
mov rcx, rax
call fcn.14003bc90
test al, al
je 0x1400474cf
mov qword [rsp + 0x20], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov r8d, 0xd
lea rdx, str.ACC_Version:
lea rcx, [rsp + 0x20]
call fcn.140003250
nop
lea rcx, [r14 + 0xf8]
lea rdx, [rsp + 0x20]
call fcn.140015570
lea rcx, [rbp - 0x68]
cmp rax, rcx
je 0x14004748d
lea r9, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r9, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rax + 0x18]
cmp rdx, rcx
ja 0x140047484
mov rsi, rax
cmp rcx, 8
jb 0x140047467
mov rsi, qword [rax]
mov qword [rax + 0x10], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
mov rcx, rsi
call fcn.14007c470
mov word [rbx + rsi], r15w
jmp 0x14004748d
mov rcx, rax
call fcn.140003380
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x1400474cf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400474ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a72
call fcn.140079b70
lea rcx, [r14 + 0xd8]
lea rdx, [0x1400cd6e0]
call fcn.140002cb0
mov qword [rsp + 0x20], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov r8d, 9
lea rdx, str.OS_Name:
lea rcx, [rsp + 0x20]
call fcn.140003250
nop
lea rbx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rbx, qword [rbp - 0x28]
lea rdx, [rsp + 0x20]
lea rcx, [r14 + 0xf8]
call fcn.140015570
mov rdx, rbx
mov rcx, rax
call fcn.140002cb0
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x140047575
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047570
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a78
call fcn.140079b70
mov qword [rsp + 0x20], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov r8d, 0xc
lea rdx, str.OS_Version:
lea rcx, [rsp + 0x20]
call fcn.140003250
nop
lea rbx, [rbp + 0x18]
cmp qword [rbp + 0x30], 8
cmovae rbx, qword [rbp + 0x18]
lea rdx, [rsp + 0x20]
lea rcx, [r14 + 0xf8]
call fcn.140015570
mov rdx, rbx
mov rcx, rax
call fcn.140002cb0
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x140047608
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047603
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a7e
call fcn.140079b70
mov qword [rsp + 0x20], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov r8d, 0xb
lea rdx, str.OS_Locale:
lea rcx, [rsp + 0x20]
call fcn.140003250
nop
lea rbx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rbx, qword [rbp - 0x48]
lea rdx, [rsp + 0x20]
lea rcx, [r14 + 0xf8]
call fcn.140015570
mov rdx, rbx
mov rcx, rax
call fcn.140002cb0
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14004769b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047696
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a84
call fcn.140079b70
mov qword [rsp + 0x48], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov r8d, 5
lea rdx, str.Bit:
lea rcx, [rsp + 0x48]
call fcn.140003250
nop
mov r9d, 0x40
lea r8, [0x1400cc86c]
mov edx, 0x100
lea rcx, [rbp + 0x60]
call fcn.14002d720
mov qword [rsp + 0x20], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
lea rax, [rbp + 0x60]
nop
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400476f0
mov r8, rdi
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.140003250
nop
lea rbx, [rsp + 0x20]
cmp qword [rsp + 0x38], 8
cmovae rbx, qword [rsp + 0x20]
lea rdx, [rsp + 0x48]
lea rcx, [r14 + 0xf8]
call fcn.140015570
mov rdx, rbx
mov rcx, rax
call fcn.140002cb0
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14004777d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047777
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a8a
call fcn.140079b70
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400477bf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400477ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a90
call fcn.140079b70
lea rcx, [rbp - 8]
call fcn.140058790
mov qword [rsp + 0x48], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov r8d, 0x12
lea rdx, str.OS_Build_Version:
lea rcx, [rsp + 0x48]
call fcn.140003250
nop
lea rbx, [rbp - 8]
cmp qword [rbp + 0x10], 8
cmovae rbx, qword [rbp - 8]
lea rdx, [rsp + 0x48]
lea rcx, [r14 + 0xf8]
call fcn.140015570
mov rdx, rbx
mov rcx, rax
call fcn.140002cb0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14004785b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047856
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a96
call fcn.140079b70
lea rcx, [r14 + 0x108]
lea rdx, [0x1400cd6e0]
call fcn.140002cb0
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x1400478af
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400478aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a9c
call fcn.140079b70
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r15w
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x140047901
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400478fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047aa2
call fcn.140079b70
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r15w
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x140047954
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004794e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047aa8
call fcn.140079b70
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x140047994
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004798f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047aae
call fcn.140079b70
movdqa xmm0, xmmword [0x1400d6740]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r15w
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x1400479e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400479e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047ab4
call fcn.140079b70
movdqa xmm0, xmmword [0x1400d6740]
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], r15w
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x140047a34
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047a2f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047a60
call fcn.140079b70
mov rcx, qword [rbp + 0x270]
xor rcx, rsp
call fcn.140079b50
lea r11, [rsp + 0x380]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140080d34
nop
call fcn.140080d34
nop
call fcn.140080d34
int3
call fcn.140080d34
int3
call fcn.140080d34
int3
call fcn.140080d34
int3
call fcn.140080d34
nop
call fcn.140080d34
nop
call fcn.140080d34
int3
call fcn.140080d34
nop
call fcn.140080d34
nop
call fcn.140080d34
nop
call fcn.140080d34
nop
call fcn.140080d34
nop
call fcn.140080d34
int3