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

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
push r13
sub rsp, 0x60
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov rbx, rcx
lea rcx, [rax + 0x18]
call fcn.10001e06c
nop
lea rax, [rsp + 0x98]
mov qword [rsp + 0xa8], rax
mov rdx, rbx
lea rcx, [rsp + 0x98]
call fcn.10001e09c
nop
xor r8d, r8d
lea rdx, [rsp + 0xa0]
mov rcx, rax
call fcn.10003171c
xor edi, edi
cmp eax, edi
je 0x10002fc56
jmp 0x10002ff63
mov rbx, qword [rsp + 0xa0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10002fc7b
shr eax, 4
and al, 1
je 0x10002fc7b
mov dil, 1
jmp 0x10002ff63
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], 0xa
mov esi, 3
cmp dword [rbx - 0x10], esi
jl 0x10002ff55
cmp dword [rbx - 0x10], edi
jge 0x10002fcba
mov ecx, 0x80070057
call fcn.10001f28c
int3
movzx ecx, word [rbx]
call qword [sym.imp.msvcrt.dll_iswalpha]
mov r13d, 0x5c
cmp eax, edi
je 0x10002fd01
cmp dword [rbx - 0x10], 1
jge 0x10002fcde
mov ecx, 0x80070057
call fcn.10001f28c
int3
cmp word [rbx + 2], 0x3a
jne 0x10002fd01
cmp dword [rbx - 0x10], 2
jge 0x10002fcf6
mov ecx, 0x80070057
call fcn.10001f28c
int3
cmp word [rbx + 4], r13w
je 0x10002fda9
cmp dword [rbx - 0x10], edi
jge 0x10002fd11
mov ecx, 0x80070057
call fcn.10001f28c
int3
cmp word [rbx], r13w
jne 0x10002ff55
cmp dword [rbx - 0x10], 1
jge 0x10002fd2c
mov ecx, 0x80070057
call fcn.10001f28c
int3
cmp word [rbx + 2], r13w
jne 0x10002ff55
cmp dword [rbx - 0x10], 2
jle 0x10002ff55
mov edx, r13d
lea rcx, [rbx + 4]
call qword [sym.imp.msvcrt.dll_wcschr]
cmp rax, rdi
je 0x10002ff55
sub rax, rbx
sar rax, 1
cmp eax, edi
jl 0x10002ff55
lea ecx, [rax + 1]
cmp ecx, edi
jl 0x10002fd95
cmp ecx, dword [rbx - 0x10]
jge 0x10002fd95
mov edx, r13d
movsxd rax, ecx
lea rcx, [rbx + rax*2]
call qword [sym.imp.msvcrt.dll_wcschr]
mov rsi, rax
cmp rax, rdi
je 0x10002ff55
sub rsi, rbx
sar rsi, 1
jmp 0x10002fd98
or esi, 0xffffffff
cmp esi, edi
jl 0x10002ff55
add esi, 1
js 0x10002ff55
mov edx, r13d
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcsrchr]
mov rbp, rax
cmp rax, rdi
jne 0x10002fdc2
or ebp, 0xffffffff
jmp 0x10002fdc8
sub rbp, rbx
sar rbp, 1
cmp ebp, esi
jg 0x10002fdd0
mov ebp, esi
jmp 0x10002fdd2
inc ebp
mov r8d, ebp
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0xa0]
call fcn.100032828
nop
mov r9, qword [rsp + 0x30]
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x30]
call fcn.10001f04c
mov rcx, qword [rsp + 0x30]
cmp rcx, rdi
je 0x10002fe10
mov qword [rcx + 8], rax
jmp 0x10002fe15
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0xa8]
call fcn.10001f3ec
cmp ebp, esi
jle 0x10002fe82
lea r8d, [rbp - 1]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0xa0]
call fcn.100026524
nop
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.10001e1c8
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
mov rbx, qword [rsp + 0xa0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10002fda9
shr eax, 4
and al, 1
je 0x10002fda9
cmp qword [rsp + 0x40], rdi
jne 0x10002fe9c
lea rcx, [rsp + 0x30]
call fcn.10001eed4
nop
mov dil, 1
jmp 0x10002ff63
mov rbx, qword [rsp + 0x30]
cmp rbx, rdi
je 0x10002ff39
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x98]
call fcn.10001e09c
nop
mov eax, edi
cmp rbx, rdi
setne al
cmp eax, edi
je 0x10002ff2e
mov rdx, rbx
mov rbx, qword [rbx]
add rdx, 0x10
lea r8, [rsp + 0xa0]
lea rcx, [rsp + 0x98]
call fcn.10002f9d0
xor edx, edx
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp eax, edi
je 0x10002ff13
lea rcx, [rsp + 0x98]
call fcn.10001f3ec
cmp rbx, rdi
jne 0x10002feaa
jmp 0x10002ff39
lea rcx, [rsp + 0x98]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x30]
call fcn.10001eed4
nop
jmp 0x10002ff63
mov ecx, 0x80004005
call fcn.10001f28c
nop
lea rcx, [rsp + 0x30]
call fcn.10001eed4
nop
lea rcx, [rsp + 0xa0]
call fcn.10001f3ec
mov al, 1
jmp 0x10002ff73
lea rcx, [rsp + 0x30]
call fcn.10001eed4
nop
mov dil, 1
lea rcx, [rsp + 0xa0]
call fcn.10001f3ec
mov al, dil
add rsp, 0x60
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret