Function at 0x1400264c0
Capabilities:
Check if file exists
Create directory
Get common file path
Get file attributes

Disassembly:
mov rax, rsp
push rbx
push rsi
sub rsp, 0x668
mov qword [rax + 8], rbp
mov rsi, r8
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r14
mov qword [rax - 0x18], r15
mov r15, rcx
mov ebp, edx
mov ecx, 0x104
lea rdx, [rax - 0x228]
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
xor r12d, r12d
lea r8, [rsp + 0x450]
mov ebx, 0x208
mov qword [rsp + 0x28], r12
mov edx, ebx
mov qword [rsp + 0x20], r12
mov r9d, 0x7fffffff
lea rcx, [rsp + 0x240]
call fcn.14002b790
lea r14, [0x1400de314]
mov rdx, r14
lea rcx, [rsp + 0x240]
dec rbx
cmp byte [rcx], r12b
je 0x140026547
inc rcx
test rbx, rbx
jne 0x140026537
lea r8, [rsp + 0x448]
sub r8, rcx
je 0x140026570
cmp r8, 1
je 0x140026565
movzx eax, byte [rdx]
mov byte [rcx], al
inc rcx
dec r8
inc rdx
cmp byte [rdx], r12b
jne 0x140026554
mov byte [rcx], r12b
cmp byte [0x140128f70], r12b
mov qword [rsp + 0x688], rdi
je 0x1400266f0
lea rdi, [0x140128f70]
mov edx, 0x5c
mov rcx, rdi
call fcn.1400bead0
mov r8, rax
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdi + rcx], r12b
jne 0x1400265a3
movsxd rdx, ecx
test r8, r8
je 0x1400265c0
lea rax, [rdi - 1]
add rax, rdx
cmp r8, rax
je 0x140026600
mov r8d, 0x104
lea rcx, [rdx + rdi]
sub r8, rdx
je 0x140026600
sub r8, 1
je 0x1400265f7
nop word [rax + rax]
movzx eax, byte [r14]
lea r14, [r14 + 1]
mov byte [rcx], al
inc rcx
test al, al
je 0x140026600
sub r8, 1
jne 0x1400265e0
mov byte [rcx], r12b
nop word [rax + rax]
mov qword [rsp + 0x28], r12
lea rcx, [rsp + 0x30]
mov r9d, 0x7fffffff
mov qword [rsp + 0x20], r12
mov r8, rdi
mov edx, 0x104
call fcn.14002b9c0
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140026659
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x140026645
cmp eax, 5
jne 0x1400266a0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400266a0
test al, 0x10
je 0x1400266a0
mov rbx, rbp
mov rcx, r15
test rbx, rbx
je 0x140026690
lea rdx, [rbx - 1]
test rdx, rdx
je 0x140026689
nop dword [rax]
movzx eax, byte [rdi]
inc rdi
mov byte [rcx], al
inc rcx
test al, al
je 0x140026813
sub rdx, 1
jne 0x140026670
mov byte [rcx], r12b
nop dword [rax]
movzx eax, byte [rdi]
lea rdi, [rdi + 1]
test al, al
jne 0x140026690
jmp 0x140026813
mov rbx, rbp
lea rcx, [rsp + 0x240]
mov rdx, r15
test rbx, rbx
je 0x1400266e0
lea r8, [rbx - 1]
test r8, r8
je 0x1400266d9
nop dword [rax]
movzx eax, byte [rcx]
inc rcx
mov byte [rdx], al
inc rdx
test al, al
je 0x140026813
sub r8, 1
jne 0x1400266c0
mov byte [rdx], r12b
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x1400266e0
jmp 0x140026813
lea rdx, [rsp + 0x240]
mov rbx, rbp
mov rcx, r15
test ebp, ebp
je 0x140026730
lea r8, [rbp - 1]
test r8, r8
je 0x140026726
nop dword [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
inc rcx
test al, al
je 0x140026730
sub r8, 1
jne 0x140026710
mov byte [rcx], r12b
nop dword [rax]
lea rdx, str.Errors_
mov rcx, r15
mov rax, rbx
test ebp, ebp
je 0x140026751
dec rax
cmp byte [rcx], r12b
je 0x140026751
inc rcx
test rax, rax
jne 0x140026741
mov r8, rbx
sub r8, rcx
add r8, r15
je 0x14002677c
nop dword [rax]
cmp r8, 1
je 0x140026771
movzx eax, byte [rdx]
mov byte [rcx], al
inc rcx
dec r8
inc rdx
cmp byte [rdx], r12b
jne 0x140026760
mov byte [rcx], r12b
mov qword [rsp + 0x28], r12
lea rcx, [rsp + 0x30]
mov r9d, 0x7fffffff
mov qword [rsp + 0x20], r12
mov r8, r15
mov edx, 0x104
call fcn.14002b9c0
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140026813
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1400267c1
cmp eax, 5
jne 0x1400267d5
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400267d5
test al, 0x10
jne 0x140026813
lea r8, [rsp + 0x240]
mov rcx, r15
mov rdx, rbx
test ebp, ebp
je 0x140026807
lea rdx, [rbp - 1]
test rdx, rdx
je 0x14002680c
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rcx], al
inc rcx
test al, al
je 0x140026813
sub rdx, 1
jne 0x1400267f0
test rdx, rdx
jne 0x140026813
test ebp, ebp
je 0x140026813
mov byte [rcx], r12b
mov r14, qword [rsp + 0x698]
mov rcx, r15
mov r12, qword [rsp + 0x690]
mov rax, rbx
mov rdi, qword [rsp + 0x688]
mov rbp, qword [rsp + 0x680]
test rbx, rbx
je 0x140026850
nop
dec rax
cmp byte [rcx], 0
je 0x140026850
inc rcx
test rax, rax
jne 0x140026840
sub rbx, rcx
add rbx, r15
mov r15, qword [rsp + 0x660]
je 0x140026881
cmp byte [rsi], 0
je 0x14002687e
cmp rbx, 1
je 0x140026876
movzx eax, byte [rsi]
mov byte [rcx], al
inc rcx
dec rbx
inc rsi
cmp byte [rsi], 0
jne 0x140026865
mov byte [rcx], 0
add rsp, 0x668
pop rsi
pop rbx
ret