Function at 0x1400021f0
Capabilities:
Create directory
Get common file path

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 - 0x1b0]
sub rsp, 0x2b0
mov rax, qword [0x140042080]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov r14, rcx
lea rdx, [rbp + 0xa0]
mov ecx, 0xff
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
xor r15d, r15d
test eax, eax
je 0x1400027e8
mov rdx, 0xffffffffffffffff
mov qword [rbp + 0x90], r15
mov rbx, rdx
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], r15b
lea rax, [rbp + 0xa0]
nop
inc rbx
cmp byte [rax + rbx], r15b
jne 0x140002270
cmp rbx, 0xf
ja 0x1400022b0
mov r8, rbx
mov qword [rbp + 0x90], rbx
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x80]
call fcn.14000d100
mov byte [rbp + rbx + 0x80], r15b
mov rdi, qword [rbp + 0x80]
jmp 0x140002351
movabs rsi, 0x7fffffffffffffff
cmp rbx, rsi
ja 0x14000286b
mov rax, rbx
or rax, 0xf
cmp rax, rsi
ja 0x1400022de
mov ecx, 0x16
mov rsi, rax
cmp rax, rcx
cmovb rsi, rcx
lea rax, [rsi + 1]
cmp rax, 0x1000
jb 0x140002311
lea rcx, [rax + 0x27]
cmp rcx, rax
cmovbe rcx, rdx
call fcn.14000b994
test rax, rax
je 0x14000285f
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140002326
test rax, rax
je 0x140002323
mov rcx, rax
call fcn.14000b994
mov rdi, rax
jmp 0x140002326
mov rdi, r15
mov r8, rbx
mov qword [rbp + 0x90], rbx
lea rdx, [rbp + 0xa0]
mov qword [rbp + 0x98], rsi
mov rcx, rdi
call fcn.14000d100
mov byte [rdi + rbx], r15b
mov qword [rbp + 0x80], rdi
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x90]
mov rax, rdx
sub rax, rcx
cmp rax, 0xe
jb 0x1400023a3
cmp rdx, 0x10
lea rax, [rcx + 0xe]
lea rbx, [rbp + 0x80]
mov qword [rbp + 0x90], rax
cmovae rbx, rdi
lea rdx, str.CreativeCloud
add rbx, rcx
mov r8d, 0xe
mov rcx, rbx
call fcn.14000d100
mov byte [rbx + 0xe], r15b
jmp 0x1400023c4
lea r9, str.CreativeCloud
mov qword [rsp + 0x20], 0xe
mov edx, 0xe
lea rcx, [rbp + 0x80]
call fcn.140009110
cmp qword [rbp + 0x98], 0x10
lea rcx, [rbp + 0x80]
cmovae rcx, qword [rbp + 0x80]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x1400023f8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400027ab
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x90]
mov rax, rdx
sub rax, rcx
cmp rax, 0x19
jb 0x14000244e
cmp rdx, 0x10
lea rax, [rcx + 0x19]
lea rbx, [rbp + 0x80]
mov qword [rbp + 0x90], rax
cmovae rbx, qword [rbp + 0x80]
lea rdx, str.Creative_Cloud_Libraries
add rbx, rcx
mov r8d, 0x19
mov rcx, rbx
call fcn.14000d100
mov byte [rbx + 0x19], r15b
jmp 0x14000246f
lea r9, str.Creative_Cloud_Libraries
mov qword [rsp + 0x20], 0x19
mov edx, 0x19
lea rcx, [rbp + 0x80]
call fcn.140009110
cmp qword [rbp + 0x98], 0x10
lea rcx, [rbp + 0x80]
cmovae rcx, qword [rbp + 0x80]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x1400024a3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400027ab
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x90]
mov rax, rdx
sub rax, rcx
cmp rax, 0x17
jb 0x1400024f9
cmp rdx, 0x10
lea rax, [rcx + 0x17]
lea rbx, [rbp + 0x80]
mov qword [rbp + 0x90], rax
cmovae rbx, qword [rbp + 0x80]
lea rdx, str.CC_Library_Process.log
add rbx, rcx
mov r8d, 0x17
mov rcx, rbx
call fcn.14000d100
mov byte [rbx + 0x17], r15b
jmp 0x14000251a
lea r9, str.CC_Library_Process.log
mov qword [rsp + 0x20], 0x17
mov edx, 0x17
lea rcx, [rbp + 0x80]
call fcn.140009110
lea rax, [0x14003d8d8]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x38]
lea rax, [0x14003d800]
lea rcx, [rsp + 0x30]
mov qword [rbp - 0x28], rax
call fcn.140006ba0
mov rax, qword [rsp + 0x30]
lea rdi, [0x14003d958]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x30], rdi
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, [0x14003d8e0]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2c], edx
mov ecx, 0x10
mov qword [rsp + 0x38], rax
call fcn.14000b994
mov dword [rbp - 0x20], 0x48c48b48
jmp 0x1400025ac
mov dword [rbp - 0x1c], 0x4c085889
jmp 0x1400025ff
mov dword [rbp - 0x18], 0x48184089
jmp 0x140002640
mov dword [rbp - 0x14], 0x55105089
jmp 0x140002691
mov dword [rbp - 0x10], 0x83485756
jmp 0x1400026ed
mov word [rbp - 0xc], 0x30ec
jmp 0x140002723
call fcn.140002859
jmp 0x140002772
xor ebx, ebx
mov rdi, rax
jmp 0x1400027d2
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x1400027e8
mov rcx, qword [rbp + 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400027e3
mov rcx, qword [rcx - 8]
xor ecx, ecx
add rcx, rdi
jmp 0x140003627
call fcn.14000b9d0
mov rdx, qword [r14 + 0x18]
cmp rdx, 8
jb 0x140002823
mov rcx, qword [r14]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14000281e
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140002865
mov rcx, r8
call fcn.14000b9d0
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], 7
mov word [r14], r15w
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.14000b970
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
call fcn.14000fb0c
int3
call fcn.14000fb0c
int3
call fcn.140009860
int3
lea rdx, [rbp - 0x20]
jmp 0x14000368c
mov r8d, 0x16
jmp 0x14000373e
call fcn.14000c7a2
test eax, eax
je 0x14000375f
inc ebx
movsxd rcx, ebx
cmp rcx, 0xee000
jb 0x1400027d4
mov rax, qword [rbp + 0x10]
jmp 0x140003765
movsxd rax, ebx
add rax, rdi
mov ecx, 0x17334
jmp 0x140003870
lea rbx, [0x1400035de]
add rbx, rcx
mov r9d, 0x40
lea rcx, [rbp + 0x10]
mov r8d, 0x3e8
mov qword [rsp + 0x20], rcx
mov rdx, rbx
jmp 0x140003985
or rcx, 0xffffffffffffffff
jmp 0x1400039e9
call rax
mov rax, rbx
jmp 0x140003a86
mov ecx, 0x33c
add byte [rax], 0x19
inc rax
jmp 0x140003b08
sub rcx, 1
jne 0x140003a8b
jmp 0x140003b89
call rbx
mov rbx, qword [rsp + 0x68]
xor eax, eax
jmp 0x140003bd7
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret