Function at 0x18002cf60
Capabilities:
Check if file exists
Create directory

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rax - 0x128]
sub rsp, 0x200
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1801c2938]
xor rax, rsp
mov qword [rbp + 0xf8], rax
mov rbx, rcx
cmp qword [rcx + 0x10], 0
je 0x18002d102
mov rdx, rcx
lea rcx, [rbp + 0x30]
call fcn.1800143e0
nop
mov rdx, qword [rbp + 0x40]
lea rcx, [rdx - 1]
cmp rdx, rcx
ja 0x18002cfd0
lea rcx, str.invalid_string_position
call fcn.1800bc5a8
int3
lea rax, [rbp + 0x30]
mov r8, qword [rbp + 0x30]
mov r9, qword [rbp + 0x48]
cmp r9, 8
cmovae rax, r8
cmp word [rax + rcx*2], 0x5c
je 0x18002d026
cmp rdx, rcx
ja 0x18002cffd
lea rcx, str.invalid_string_position
call fcn.1800bc5a8
int3
lea rax, [rbp + 0x30]
cmp r9, 8
cmovae rax, r8
cmp word [rax + rcx*2], 0x2f
je 0x18002d026
mov r8d, 1
lea rdx, [0x180148638]
lea rcx, [rbp + 0x30]
call fcn.180018aa0
lea rcx, [rbp + 0x30]
call fcn.18002ca40
test al, al
jne 0x18002d109
lea rcx, [rsp + 0x40]
call fcn.180014d60
nop
lea rdx, str.return_false1._path:
lea rcx, [rsp + 0x40]
call fcn.180022d00
mov rcx, rax
mov rdx, rbx
call fcn.180022fd0
lea rdx, str.CFileUtility::CreateDir
lea rcx, [rbp + 0x80]
call fcn.180012480
nop
lea rdx, str.FileUtility.cpp
lea rcx, [rbp + 0x58]
call fcn.180012480
nop
lea rdx, [rbp + 0xa8]
lea rcx, [rsp + 0x40]
call fcn.180014e40
mov rbx, rax
call fcn.180016d70
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 0x2f4
lea r8, [rbp + 0x58]
xor edx, edx
call fcn.180030340
nop
lea rcx, [rbp + 0xa8]
call fcn.1800a20a0
nop
lea rcx, [rbp + 0x58]
call fcn.180001850
nop
lea rcx, [rbp + 0x80]
call fcn.180001850
nop
lea rcx, [rbp - 0x38]
call fcn.180014de0
lea rcx, [rbp - 0x38]
call fcn.180013e40
nop
lea rcx, [rbp + 0x30]
call fcn.1800a20a0
xor al, al
jmp 0x18002d3ee
cmp qword [rbp + 0x40], 0
je 0x18002d13e
lea rcx, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae rcx, qword [rbp + 0x30]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete al
test al, al
je 0x18002d13e
lea rcx, [rbp + 0x30]
call fcn.1800a20a0
mov al, 1
jmp 0x18002d3ee
xor r14d, r14d
mov qword [rbp + 0x80], r14
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x90], r14
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x30]
call fcn.18002ccb0
mov r12, qword [rbp + 0x80]
mov rsi, qword [rbp + 0x88]
cmp r12, rsi
jne 0x18002d269
lea rcx, [rsp + 0x40]
call fcn.180014d60
nop
lea rdx, str.return_false2._path:
lea rcx, [rsp + 0x40]
call fcn.180022d00
mov rcx, rax
mov rdx, rbx
call fcn.180022fd0
lea rdx, str.CFileUtility::CreateDir
lea rcx, [rbp + 0xa8]
call fcn.180012480
nop
lea rdx, str.FileUtility.cpp
lea rcx, [rbp + 0x58]
call fcn.180012480
nop
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x40]
call fcn.180014e40
mov rbx, rax
call fcn.180016d70
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
mov r9d, 0x301
lea r8, [rbp + 0x58]
xor edx, edx
call fcn.180030340
nop
lea rcx, [rbp + 0xd0]
call fcn.1800a20a0
nop
lea rcx, [rbp + 0x58]
call fcn.180001850
nop
lea rcx, [rbp + 0xa8]
call fcn.180001850
nop
lea rcx, [rsp + 0x40]
call fcn.180006a90
nop
test r12, r12
je 0x18002d244
mov rcx, r12
call fcn.1800be828
mov qword [rbp + 0x80], r14
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x90], r14
lea rcx, [rbp + 0x30]
call fcn.1800a20a0
xor al, al
jmp 0x18002d3ee
mov r13b, 1
mov rbx, r12
nop
cmp qword [rbx + 0x18], 8
jb 0x18002d27c
mov rdx, qword [rbx]
jmp 0x18002d27f
mov rdx, rbx
lea rcx, [rbp + 0x58]
call fcn.180014430
nop
cmp qword [rbp + 0x68], 0
jne 0x18002d294
xor al, al
jmp 0x18002d2ae
lea rcx, [rbp + 0x58]
cmp qword [rbp + 0x70], 8
cmovae rcx, qword [rbp + 0x58]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete al
test al, al
sete dil
lea rcx, [rbp + 0x58]
call fcn.1800a20a0
test dil, dil
je 0x18002d2dd
cmp qword [rbx + 0x18], 8
jb 0x18002d2ce
mov rcx, qword [rbx]
jmp 0x18002d2d1
mov rcx, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x18002d2ec
add rbx, 0x28
cmp rbx, rsi
je 0x18002d3ab
jmp 0x18002d270
lea rcx, [rsp + 0x40]
call fcn.180014d60
nop
lea rdx, str.bRet__false.
lea rcx, [rsp + 0x40]
call fcn.180022d00
mov rcx, rax
mov rdx, rbx
call fcn.180022fd0
lea rdx, str.CFileUtility::CreateDir
lea rcx, [rbp + 0x58]
call fcn.180012480
nop
lea rdx, str.FileUtility.cpp
lea rcx, [rbp + 0xa8]
call fcn.180012480
nop
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x40]
call fcn.180014e40
mov rbx, rax
call fcn.180016d70
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, 0x30d
lea r8, [rbp + 0xa8]
mov edx, 3
call fcn.180030340
nop
lea rcx, [rbp + 0xd0]
call fcn.1800a20a0
nop
lea rcx, [rbp + 0xa8]
call fcn.180001850
nop
lea rcx, [rbp + 0x58]
call fcn.180001850
nop
lea rcx, [rsp + 0x40]
call fcn.180006a90
xor r13b, r13b
test r12, r12
je 0x18002d3cc
mov rbx, r12
mov rcx, rbx
call fcn.1800a20a0
add rbx, 0x28
cmp rbx, rsi
jne 0x18002d3b3
mov rcx, r12
call fcn.1800be828
mov qword [rbp + 0x80], r14
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x90], r14
lea rcx, [rbp + 0x30]
call fcn.1800a20a0
movzx eax, r13b
mov rcx, qword [rbp + 0xf8]
xor rcx, rsp
call fcn.1800bdf20
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret