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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1403cd210]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov r13b, dl
mov rdi, rcx
cmp qword [rcx + 0x18], 8
jb 0x14004b019
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004b02c
test al, 0x10
jne 0x14004b3fe
mov rcx, rdi
call fcn.14004ac08
xor r14d, r14d
test al, al
je 0x14004b39c
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14004b04c
mov rax, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [r8 - 1]
mov r9d, 0x5c
cmp word [rax + rcx*2], r9w
jne 0x14004b088
cmp r8, rcx
jb 0x14004b402
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14004b077
mov rdx, qword [rdi]
lea rax, [r8 - 1]
mov qword [rdi + 0x10], rax
movzx eax, word [rdx + rcx*2 + 2]
mov word [rdx + rcx*2], ax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov rsi, r14
mov qword [rsp + 0x48], r14
mov r15, qword [rsp + 0x40]
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14004b0af
mov rdx, qword [rdi]
test r8, r8
je 0x14004b0e1
lea rcx, [r8 - 1]
or rax, 0xffffffffffffffff
cmp rcx, rax
cmovb rax, rcx
lea r12, [rdx + rax*2]
jmp 0x14004b0d2
cmp r12, rdx
je 0x14004b0e1
sub r12, 2
cmp word [r12], r9w
jne 0x14004b0c9
sub r12, rdx
sar r12, 1
jmp 0x14004b0e5
or r12, 0xffffffffffffffff
cmp r12, 0xffffffffffffffff
je 0x14004b250
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14004b0fc
mov rax, qword [rdi]
lea rdx, [rax + r8*2]
mov rax, rdi
jb 0x14004b108
mov rax, qword [rdi]
lea r9, [r12 + 1]
lea r9, [rax + r9*2]
mov qword [rsp + 0x68], r14
mov ebx, 7
mov qword [rsp + 0x70], rbx
mov word [rsp + 0x58], r14w
cmp r9, rdx
je 0x14004b161
sub rdx, r9
sar rdx, 1
lea rcx, [rsp + 0x58]
cmp rdx, rbx
ja 0x14004b157
mov qword [rsp + 0x68], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
call fcn.1401389a0
mov word [rsp + rbx + 0x58], r14w
jmp 0x14004b15c
call fcn.140033078
mov rbx, qword [rsp + 0x70]
cmp qword [rsp + 0x68], r14
je 0x14004b205
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14004b179
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
lea r9, [rcx + rax*2]
mov rax, rdi
jb 0x14004b189
mov rax, qword [rdi]
lea r8, [rax + r12*2]
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.140031be4
cmp r15, rsi
je 0x14004b1c8
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [r15 + 0x10], xmm1
mov ebx, 7
mov word [rsp + 0x58], r14w
add r15, 0x20
mov qword [rsp + 0x40], r15
jmp 0x14004b1e9
lea r8, [rsp + 0x58]
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.1400329f8
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x70]
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14004b1f6
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14004b205
test al, 0x10
jne 0x14004b232
cmp rbx, 8
mov r9d, 0x5c
jb 0x14004b09e
lea rdx, [rbx*2 + 2]
mov rcx, qword [rsp + 0x58]
call fcn.1400331fc
mov r9d, 0x5c
jmp 0x14004b09e
cmp rbx, 8
jb 0x14004b24a
lea rdx, [rbx*2 + 2]
mov rcx, qword [rsp + 0x58]
call fcn.1400331fc
mov r9d, 0x5c
mov rax, r15
mov rbx, qword [rsp + 0x38]
sub rax, rbx
sar rax, 5
test rax, rax
je 0x14004b358
cmp r15, rbx
je 0x14004b2e8
mov r12, r15
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x14004b298
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x14004b28f
mov rax, qword [rdi]
mov dword [rax + rcx*2], 0x5c
jmp 0x14004b2a0
mov rcx, rdi
call fcn.14004a114
add r12, 0xffffffffffffffe0
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x14004b2b3
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
mov rcx, rdi
call fcn.140031c78
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14004b2cd
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14004b375
cmp r12, rbx
mov r9d, 0x5c
jne 0x14004b270
test r13b, r13b
je 0x14004b356
call fcn.1400491d8
test al, al
je 0x14004b356
mov rcx, rdi
call fcn.140049410
test al, al
jne 0x14004b356
mov r12d, 6
mov ecx, r12d
call fcn.1400e2070
test eax, eax
je 0x14004b356
cmp qword [rdi + 0x18], 8
jb 0x14004b31e
mov rdi, qword [rdi]
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, str.Failed_to_set_directory_case_insensitive:__ls
mov qword [rsp + 0x20], rax
mov r9d, 0xe7
lea r8, str.CSIS::MakeDirectory
lea rdx, str.E:BT98e4b0b8_6261_4b66_a156_8e0ef62b3d71UBF_1CSIS_srcCSISCommonFileSystemUtilities.cpp
mov ecx, r12d
call fcn.1400323dc
nop
jmp 0x14004b3d7
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14004b365
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14004b2e8
test rbx, rbx
je 0x14004b39c
lea r8, [rsp + 0x38]
mov rdx, r15
mov rcx, rbx
call fcn.1400327e0
sub rsi, rbx
and rsi, 0xffffffffffffffe0
mov rdx, rsi
mov rcx, rbx
call fcn.1400331fc
xor al, al
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140119fe0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
test rbx, rbx
je 0x14004b3fe
lea r8, [rsp + 0x38]
mov rdx, r15
mov rcx, rbx
call fcn.1400327e0
sub rsi, rbx
and rsi, 0xffffffffffffffe0
mov rdx, rsi
mov rcx, rbx
call fcn.1400331fc
mov al, 1
jmp 0x14004b39e
call fcn.140031f50
int3