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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x140012088]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, r8
mov rbx, rcx
mov r14, rdx
mov rcx, rsi
xor edx, edx
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
xor r13d, r13d
test r14, r14
je 0x140003f2d
cmp r13w, word [r14]
je 0x140003f2d
mov r12d, 0x5c
mov rcx, r14
mov edx, r12d
mov rbx, rsi
mov rdi, r14
call sub.VCRUNTIME140.dll_wcsrchr
mov r15, rax
lfence
lea ebp, [r13 + 1]
lea rax, [rdi - 2]
cmp rax, r15
je 0x140003e84
mov rax, rbx
sub rax, rsi
and rax, 0xfffffffffffffffe
cmp rax, 0x1fe
jge 0x140003d94
cmp word [rdi], r12w
jne 0x140003d94
mov word [rbx], r12w
add rdi, 2
add rbx, 2
mov rax, rbx
sub rax, rsi
and rax, 0xfffffffffffffffe
cmp rax, 0x1fe
jl 0x140003d70
xor cl, cl
lea rax, [r14 + 4]
cmp rdi, rax
jne 0x140003db1
cmp word [rdi - 2], r12w
jne 0x140003db1
cmp word [rdi - 4], r12w
movzx ecx, cl
cmove ecx, ebp
mov rax, rbx
sub rax, rsi
and rax, 0xfffffffffffffffe
cmp rax, 0x1fe
jge 0x140003dee
movzx eax, word [rdi]
test ax, ax
je 0x140003dee
cmp ax, r12w
je 0x140003dee
mov word [rbx], ax
add rdi, 2
add rbx, 2
mov rax, rbx
sub rax, rsi
and rax, 0xfffffffffffffffe
cmp rax, 0x1fe
jl 0x140003dc3
mov rax, rbx
sub rax, rsi
and rax, 0xfffffffffffffffe
cmp rax, 0x1fe
jge 0x140003e24
cmp word [rdi], r12w
jne 0x140003e24
mov word [rbx], r12w
add rdi, 2
add rbx, 2
mov rax, rbx
sub rax, rsi
and rax, 0xfffffffffffffffe
cmp rax, 0x1fe
jl 0x140003e00
test cl, cl
jne 0x140003e6e
lea rax, [r14 + 6]
cmp rdi, rax
jne 0x140003e38
cmp word [rdi - 4], 0x3a
je 0x140003e6e
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140003e6e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x140003e6e
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x140003e68
movzx eax, ax
or eax, 0x80070000
test eax, eax
js 0x140003fc9
mov rax, rbx
sub rax, rsi
and rax, 0xfffffffffffffffe
cmp rax, 0x1fe
jl 0x140003d51
mov rax, rbx
sub rax, rsi
and rax, 0xfffffffffffffffe
cmp rax, 0x1fe
jge 0x140003ec2
sub rdi, rbx
nop dword [rax]
movzx eax, word [rdi + rbx]
test ax, ax
je 0x140003ec2
mov word [rbx], ax
add rbx, 2
mov rax, rbx
sub rax, rsi
and rax, 0xfffffffffffffffe
cmp rax, 0x1fe
jl 0x140003ea0
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_wcsrchr
mov edx, r12d
mov rcx, rsi
mov rbx, rax
call sub.VCRUNTIME140.dll_wcsrchr
test rbx, rbx
je 0x140003ef0
test rax, rax
je 0x140003ef0
cmp rax, rbx
jae 0x140003ef0
mov word [rbx], r13w
lea r8, str..dmp
mov edx, 0x104
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
mov rax, rsi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400011b3
mov rbx, qword [rsp + 0xc8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8, rbx
mov edx, 0x104
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_wcsrchr
mov rbx, rax
test rax, rax
je 0x140003f57
mov word [rax], r13w
lea r8, str..dmp
mov edx, 0x104
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
xorps xmm0, xmm0
mov ebp, 1
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
nop
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140003f05
test al, 0x10
jne 0x140003f05
inc ebp
mov word [rbx], r13w
mov r8d, ebp
lea rdx, str.__i.dmp
lea rcx, [rsp + 0x40]
call fcn.14000118b
lea r8, [rsp + 0x40]
mov edx, 0x104
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
jmp 0x140003f80
lfence
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.140001096
lea rdx, [0x140011ad8]
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
int3