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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rax, qword [0x180092078]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov r13, rdx
mov r14, rcx
mov qword [rsp + 0x68], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
mov qword [rcx], rdi
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], 7
mov word [rcx], di
mov qword [rcx + 0x20], rdi
mov qword [rcx + 0x30], rdi
mov qword [rcx + 0x38], 7
mov word [rcx + 0x20], di
lea rdx, [rbp - 0x60]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
jbe 0x18000cfd6
lea r8d, [rdi + 0x27]
lea rdx, str.C:WorkExcel_DNAExcelDnaSourceExcelDna.HostTempDir.cpp
lea rcx, str.__dwRetVal___MAX_PATH__dwRetVal__0____Failure:_GetTempPath_
call fcn.180032e78
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rdi
lea rax, [rbp - 0x60]
mov rsi, 0xffffffffffffffff
mov rbx, rsi
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18000cff1
movabs r15, 0x7ffffffffffffffe
cmp rbx, r15
ja 0x18000d34c
mov qword [rbp - 0x70], 7
cmp rbx, 8
jae 0x18000d03b
mov qword [rbp - 0x78], rbx
add rbx, rbx
mov r8, rbx
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x78]
call fcn.180029a20
mov word [rsp + rbx + 0x78], di
jmp 0x18000d095
mov rax, rbx
or rax, 7
cmp rax, r15
ja 0x18000d056
mov r15, rax
mov ecx, 0xa
cmp rax, rcx
cmovb r15, rcx
mov rdx, r15
add rdx, 1
cmovb rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.180001b00
mov rdi, rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], r15
add rbx, rbx
mov r8, rbx
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.180029a20
xor eax, eax
mov word [rdi + rbx], ax
xor edi, edi
mov r8, r13
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x28]
call fcn.180010cf0
nop
mov rdx, rax
lea rcx, [r14 + 0x20]
call fcn.18000185c
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x18000d0f7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000d0f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d352
call fcn.180027be4
movdqa xmm0, xmmword [0x1800535b0]
movdqu xmmword [rsp + 0x38], xmm0
mov word [rsp + 0x28], di
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x18000d14b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000d146
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d358
call fcn.180027be4
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], di
lea rcx, [r14 + 0x20]
cmp qword [r14 + 0x38], 8
jb 0x18000d16b
mov rcx, qword [r14 + 0x20]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rcx, r14
call fcn.18000e200
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.RPCRT4.dll_UuidCreate]
test eax, eax
je 0x18000d1ab
cmp eax, 0x720
je 0x18000d1ab
mov r8d, reloc.OLEAUT32.dll_SafeArrayUnlock
lea rdx, str.C:WorkExcel_DNAExcelDnaSourceExcelDna.HostTempDir.cpp
lea rcx, str._s__RPC_S_OK__s__RPC_S_UUID_LOCAL_ONLY____Failure:_UuidCreate_
call fcn.180032e78
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x78]
call qword [sym.imp.RPCRT4.dll_UuidToStringW]
test eax, eax
je 0x18000d1d8
mov r8d, 0x19
lea rdx, str.C:WorkExcel_DNAExcelDnaSourceExcelDna.HostTempDir.cpp
lea rcx, str.s__RPC_S_OK___Failure:_UuidToString_
call fcn.180032e78
mov qword [rsp + 0x28], rdi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov rdx, qword [rsp + 0x70]
nop dword [rax + rax]
inc rsi
cmp word [rdx + rsi*2], 0
jne 0x18000d1f0
mov r8, rsi
lea rcx, [rsp + 0x28]
call fcn.18000bc80
mov ebx, 1
mov dword [rsp + 0x20], ebx
lea rcx, [rsp + 0x70]
call qword [sym.imp.RPCRT4.dll_RpcStringFreeW]
lea r8, [rsp + 0x28]
lea rdx, [r14 + 0x20]
lea rcx, [rsp + 0x48]
call fcn.180010cf0
nop
mov rdx, rax
mov rcx, r14
call fcn.18000185c
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x18000d27d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000d278
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d35e
call fcn.180027be4
movdqa xmm0, xmmword [0x1800535b0]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], di
and ebx, 0xfffffffe
mov dword [rsp + 0x20], ebx
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x18000d2d5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000d2d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d346
call fcn.180027be4
movdqa xmm0, xmmword [0x1800535b0]
movdqu xmmword [rsp + 0x38], xmm0
mov word [rsp + 0x28], di
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x18000d2f5
mov rcx, qword [r14]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x18000d319
lea r8d, [rax + 0x30]
lea rdx, str.C:WorkExcel_DNAExcelDnaSourceExcelDna.HostTempDir.cpp
lea rcx, str.b___Failure:_CreateDirectory_
call fcn.180032e78
nop
mov rax, r14
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.180028080
mov rbx, qword [rsp + 0x310]
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18002e3bc
nop
call fcn.180001488
nop
call fcn.18002e3bc
nop
call fcn.18002e3bc
nop
call fcn.18002e3bc
int3