Function at 0x14004b408
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x1403cd210]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rbx, rdx
mov rdi, rcx
xor r15d, r15d
mov qword [rbp - 0x49], r15
lea r13d, [r15 + 7]
mov qword [rbp - 0x41], r13
mov word [rbp - 0x59], r15w
lea rcx, [rbp - 0x59]
call fcn.140062078
lea r12d, [r15 + 8]
test al, al
jne 0x14004b4ab
lea ecx, [r15 + 5]
call fcn.1400e2070
test eax, eax
je 0x14004b663
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x69], eax
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
lea rax, str.Failed_to_get_Windows_TEMP_path._Error:__ld
mov qword [rsp + 0x20], rax
mov r9d, 0xfd
lea r8, str.CSIS::MakeTempDirectory
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonFileSystemUtilities.cpp
lea ecx, [r15 + 5]
call fcn.140032100
jmp 0x14004b663
lea rcx, [rbp - 0x59]
cmp qword [rbp - 0x41], r12
cmovae rcx, qword [rbp - 0x59]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004b4cb
test al, 0x10
jne 0x14004b66b
mov ecx, 6
call fcn.1400e2070
test eax, eax
je 0x14004b51d
lea rax, [rbp - 0x59]
cmp qword [rbp - 0x41], r12
cmovae rax, qword [rbp - 0x59]
mov qword [rbp - 0x69], rax
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
lea rax, str.TEMP_path_doesnt_exist:__ls
mov qword [rsp + 0x20], rax
mov r9d, 0x103
lea r8, str.CSIS::MakeTempDirectory
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonFileSystemUtilities.cpp
mov ecx, 6
call fcn.1400323dc
mov qword [rbp + 0x17], r15
mov qword [rbp + 0x1f], r13
mov word [rbp + 7], r15w
mov qword [rbp - 9], r15
mov qword [rbp - 1], r15
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x19]
call fcn.140034c5c
nop
lea rcx, [rbp - 0x19]
call fcn.14004ac08
test al, al
je 0x14004b5ec
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rbp + 7], xmm0
movups xmm1, xmmword [rbp - 9]
movups xmmword [rbp + 0x17], xmm1
mov rdx, qword [rbp - 0x41]
cmp rdx, r12
jb 0x14004b57f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x59]
call fcn.1400331fc
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp + 0x17], r15
mov qword [rbp + 0x1f], r13
mov word [rbp + 7], r15w
mov ecx, 6
call fcn.1400e2070
test eax, eax
je 0x14004b606
lea rax, [rbp - 0x59]
cmp qword [rbp - 0x41], r12
cmovae rax, qword [rbp - 0x59]
mov qword [rbp - 0x69], rax
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
lea rax, str.Use_full_TEMP_path:__ls
mov qword [rsp + 0x20], rax
mov r9d, 0x109
lea r8, str.CSIS::MakeTempDirectory
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonFileSystemUtilities.cpp
mov ecx, 6
call fcn.1400323dc
jmp 0x14004b606
mov rdx, qword [rbp - 1]
cmp rdx, r12
jb 0x14004b606
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x19]
call fcn.1400331fc
lea rcx, [rbp - 0x59]
cmp qword [rbp - 0x41], r12
cmovae rcx, qword [rbp - 0x59]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14004b66b
lea ecx, [rax + 5]
call fcn.1400e2070
test eax, eax
je 0x14004b663
lea rax, [rbp - 0x59]
cmp qword [rbp - 0x41], r12
cmovae rax, qword [rbp - 0x59]
mov qword [rbp - 0x61], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x69], eax
lea rax, [rbp - 0x61]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
mov r9d, 0x10e
call fcn.14004c3bc
nop
mov bl, r15b
jmp 0x14004b8f0
mov qword [rbp - 0x29], r15
mov qword [rbp - 0x21], r13
mov word [rbp - 0x39], r15w
cmp qword [rdi + 0x18], r12
jb 0x14004b681
mov rdi, qword [rdi]
lea rdx, [rbp - 0x59]
cmp qword [rbp - 0x41], r12
cmovae rdx, qword [rbp - 0x59]
mov r9, rdi
lea rcx, [rbp - 0x39]
call fcn.140062120
test eax, eax
jne 0x14004b6ef
lea ecx, [rax + 5]
call fcn.1400e2070
test eax, eax
je 0x14004b81e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x69], eax
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
lea rax, str.Failed_to_build_unique_path_name._Error:__ld
mov qword [rsp + 0x20], rax
mov r9d, 0x116
lea r8, str.CSIS::MakeTempDirectory
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonFileSystemUtilities.cpp
mov ecx, 5
call fcn.140032100
jmp 0x14004b81e
mov rdx, qword [rbp - 0x41]
cmp rdx, r12
jb 0x14004b709
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x59]
call fcn.1400331fc
movups xmm0, xmmword [rbp - 0x39]
movups xmmword [rbp - 0x59], xmm0
movups xmm1, xmmword [rbp - 0x29]
movups xmmword [rbp - 0x49], xmm1
mov qword [rbp - 0x29], r15
mov qword [rbp - 0x21], r13
mov word [rbp - 0x39], r15w
lea rax, [rbp - 0x59]
movq r8, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rdx, xmm0
cmp rdx, r12
cmovae rax, r8
movq rcx, xmm1
lea r9, [rax + rcx*2]
lea rax, [rbp - 0x59]
cmovae rax, r8
mov r10d, 0x5c
cmp rax, r9
je 0x14004b77f
cmp word [rax], 0x2f
jne 0x14004b76a
mov word [rax], r10w
add rax, 2
cmp rax, r9
jne 0x14004b760
mov rdx, qword [rbp - 0x41]
mov rcx, qword [rbp - 0x49]
mov r8, qword [rbp - 0x59]
lea rax, [rbp - 0x59]
cmp rdx, r12
cmovae rax, r8
cmp word [rax + rcx*2 - 2], r10w
je 0x14004b7c4
cmp rcx, rdx
jae 0x14004b7b0
lea rax, [rcx + 1]
mov qword [rbp - 0x49], rax
lea rax, [rbp - 0x59]
cmp rdx, r12
cmovae rax, r8
mov dword [rax + rcx*2], r10d
jmp 0x14004b7bc
mov r9d, r10d
lea rcx, [rbp - 0x59]
call fcn.14004a114
mov r8, qword [rbp - 0x59]
mov rdx, qword [rbp - 0x41]
lea rcx, [rbp - 0x59]
cmp rdx, r12
cmovae rcx, r8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14004b826
lea ecx, [rax + 5]
call fcn.1400e2070
test eax, eax
je 0x14004b81e
lea rax, [rbp - 0x59]
cmp qword [rbp - 0x41], r12
cmovae rax, qword [rbp - 0x59]
mov qword [rbp - 0x61], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x69], eax
lea rax, [rbp - 0x61]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
mov r9d, 0x125
call fcn.14004c3bc
mov bl, r15b
jmp 0x14004b8c9
lea rax, [rbp - 0x59]
cmp rbx, rax
je 0x14004b864
mov rdx, qword [rbx + 0x18]
cmp rdx, r12
jb 0x14004b848
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx]
call fcn.1400331fc
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x49]
movups xmmword [rbx + 0x10], xmm1
mov qword [rbp - 0x49], r15
mov qword [rbp - 0x41], r13
mov word [rbp - 0x59], r15w
call fcn.1400491d8
test al, al
je 0x14004b8c7
mov rcx, rbx
call fcn.140049410
test al, al
jne 0x14004b8c7
mov ecx, 5
call fcn.1400e2070
test eax, eax
je 0x14004b8c7
cmp qword [rbx + 0x18], r12
jb 0x14004b890
mov rbx, qword [rbx]
mov qword [rbp - 0x61], rbx
lea rax, [rbp - 0x61]
mov qword [rsp + 0x28], rax
lea rax, str.Failed_to_set_directory_case_insensitive:__ls
mov qword [rsp + 0x20], rax
mov r9d, 0x12f
lea r8, str.CSIS::MakeTempDirectory
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonFileSystemUtilities.cpp
mov ecx, 5
call fcn.1400323dc
mov bl, 1
mov rdx, qword [rbp - 0x21]
cmp rdx, r12
jb 0x14004b8e3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x39]
call fcn.1400331fc
mov qword [rbp - 0x29], r15
mov qword [rbp - 0x21], r13
mov word [rbp - 0x39], r15w
mov rdx, qword [rbp - 0x41]
cmp rdx, r12
jb 0x14004b90a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x59]
call fcn.1400331fc
mov al, bl
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140119fe0
mov rbx, qword [rsp + 0x120]
add rsp, 0xe0
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret