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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x458]
sub rsp, 0x558
mov rax, qword [0x1400561e0]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov r12, r9
mov rdi, r8
mov rsi, rdx
mov r14, rcx
mov r15, qword [rbp + 0x4c0]
mov r13, qword [rbp + 0x4d0]
mov ebx, 0x208
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x20]
call fcn.14001dc30
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x230]
call fcn.14001dc30
xor ebx, ebx
test rsi, rsi
je 0x1400106b3
cmp word [rsi], bx
je 0x1400106b3
mov r8, rsi
mov esi, 0x104
mov edx, esi
lea rcx, [rbp + 0x230]
call fcn.140025450
jmp 0x1400106d3
lea rdx, [rbp + 0x230]
mov rcx, qword [0x1400597a8]
call fcn.140010520
test eax, eax
je 0x1400108bb
mov esi, 0x104
mov rdx, r14
lea rcx, [rbp + 0x230]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
test rdi, rdi
je 0x1400106fe
cmp word [rdi], bx
je 0x1400106fe
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp + 0x20]
call fcn.140025450
jmp 0x140010726
lea rcx, [rbp + 0x20]
call fcn.140010560
test eax, eax
je 0x1400108bb
cmp byte [rbp + 0x4c8], bl
je 0x140010726
xor r8d, r8d
lea rdx, [rbp + 0x20]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov rdx, r14
lea rcx, [rbp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
test r12, r12
je 0x14001074a
lea r8, [rbp + 0x230]
mov rdx, rsi
mov rcx, r12
call fcn.140025450
test r15, r15
je 0x14001075e
lea r8, [rbp + 0x20]
mov rdx, rsi
mov rcx, r15
call fcn.140025450
lea rcx, [rbp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov edi, eax
mov rdx, r14
lea r14, [0x14003eac0]
mov rcx, r14
call fcn.1400261a4
mov esi, 0x40
mov r8d, esi
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.14001dc30
mov r8d, esi
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.14001dc30
lea rcx, [rsp + 0x60]
call fcn.140011c6c
nop
lea rcx, [rsp + 0x28]
call fcn.140011c6c
nop
lea rcx, [rbp + 0x230]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rdx, rax
mov rcx, r14
call fcn.1400261a4
mov r8d, esi
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x230]
test eax, eax
jne 0x1400107e4
call fcn.14000c980
jmp 0x1400107e9
call fcn.14000cb44
test al, al
je 0x1400108a2
lea rdx, [rbp + 0x230]
lea rcx, [rsp + 0x60]
call fcn.140011d74
test al, al
je 0x1400108a2
mov dword [rsp + 0x20], ebx
test r13, r13
je 0x14001082e
lea r8, [rsp + 0x20]
mov rdx, r13
lea rcx, [rbp - 0x60]
call fcn.14000e1f8
test al, al
je 0x1400108a2
cmp dword [rsp + 0x20], ebx
jl 0x1400108a2
test edi, edi
je 0x14001089d
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x28]
call fcn.140011d74
test al, al
je 0x14001089d
mov eax, dword [rbp - 0x70]
cmp dword [rsp + 0x58], eax
jne 0x14001089d
lea rcx, [rbp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rdx, rax
mov rcx, r14
call fcn.1400261a4
mov r8d, esi
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x20]
test eax, eax
jne 0x140010878
call fcn.14000c980
jmp 0x14001087d
call fcn.14000cb44
test al, al
je 0x14001089d
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.14000e1f8
test al, al
je 0x14001089d
cmp dword [rsp + 0x20], ebx
je 0x1400108a2
mov ebx, 1
lea rcx, [rsp + 0x28]
call fcn.140011c80
nop
lea rcx, [rsp + 0x60]
call fcn.140011c80
mov eax, ebx
jmp 0x1400108c8
mov ecx, 3
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.14001af60
add rsp, 0x558
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret