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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
push r12
push r13
sub rsp, 0x50
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov r12d, 3
lea rcx, str.__a_t_
mov rax, qword [str.__a_t_]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x30], rdi
xor r13d, r13d
or rbp, 0xffffffffffffffff
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1400738aa
test rdx, 0xffffffffffff0000
jne 0x140073897
movzx ebx, dx
xor edx, edx
mov ecx, ebx
call fcn.140001480
test rax, rax
je 0x1400738bf
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140001ca0
mov rdi, qword [rsp + 0x30]
jmp 0x1400738bf
xor eax, eax
mov rcx, rbp
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x1400738ad
mov ecx, r13d
mov r8d, ecx
lea rcx, [rsp + 0x30]
call fcn.140001f70
mov rdi, qword [rsp + 0x30]
lea rcx, str.__a_t_
mov rax, qword [str.__a_t_]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x28], rsi
lea rcx, str.__a_t_
mov rax, qword [str.__a_t_]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x20], rbx
test rdi, rdi
jne 0x140073903
lea ecx, [rdi + 0x57]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140073925
mov rcx, rdi
call fcn.1400735e0
cmp eax, 1
je 0x140073c02
mov rcx, rdi
call fcn.140073360
cmp eax, 1
je 0x140073c02
mov edx, 0x5c
mov rcx, rdi
call qword [sym.imp.MSVCR90.dll_wcsrchr]
test rax, rax
jne 0x14007393c
mov eax, ebp
jmp 0x140073942
sub rax, rdi
sar rax, 1
lea r9d, [rax + 1]
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.1400029d0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rsi, 0xffffffffffffffe8
cmp rcx, rsi
je 0x1400739b2
cmp dword [rsi + 0x10], 0
jl 0x1400739a3
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x1400739a3
call fcn.1400020e0
mov rdi, rax
mov ecx, ebp
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140073998
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x28], rax
jmp 0x1400739b2
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x28]
call fcn.140001f70
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400739d1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x28]
lea rsi, [rbx - 0x10]
mov rdi, qword [rsp + 0x20]
nop
test r12d, r12d
js 0x140073ba5
cmp r12d, dword [rsi]
jge 0x140073ba5
mov edx, 0x5c
movsxd rax, r12d
lea rcx, [rbx + rax*2]
call qword [sym.imp.MSVCR90.dll_wcschr]
mov r12, rax
test rax, rax
je 0x140073ba5
sub r12, rbx
sar r12, 1
cmp r12d, 0xffffffff
je 0x140073ba5
mov r8d, r12d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x28]
call fcn.140001b90
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140073a8c
cmp dword [rdi + 0x10], 0
jl 0x140073a7d
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140073a7d
call fcn.1400020e0
mov rbx, rax
mov ecx, ebp
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140073a72
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x20], rax
jmp 0x140073a8c
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140001f70
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140073aab
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rsp + 0x20]
test rdi, rdi
jne 0x140073ac0
lea ecx, [rdi + 0x57]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140073ada
mov rcx, rdi
call fcn.1400735e0
cmp eax, 1
je 0x140073b33
mov rcx, rdi
call fcn.140073360
cmp eax, 1
je 0x140073b33
mov rcx, rdi
call fcn.140072a00
cmp eax, 1
jne 0x140073afd
lea r8, str._UNC_
lea edx, [rax + 1]
lea rcx, [rsp + 0x20]
call fcn.140002730
jmp 0x140073b10
lea r8, [0x1400923e8]
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.140002730
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140073b33
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp eax, 1
jne 0x140073ba5
lea rdx, [rdi - 0x18]
mov rbx, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140073b7e
cmp dword [rdx + 0x10], 0
jge 0x140073b56
cmp dword [rdi - 0xc], 0
jl 0x140073b94
mov dword [rdi - 0x10], r13d
mov word [rdi], r13w
jmp 0x140073b7e
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140073b6c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x20], rdi
inc r12d
mov eax, dword [rsi]
dec eax
cmp r12d, eax
jge 0x140073b9f
mov rbx, qword [rsp + 0x28]
jmp 0x1400739e0
mov ecx, 0x80070057
call fcn.140001340
int3
mov r13d, 1
lea rdx, [rdi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140073bc0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140073be0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebp
dec ebp
test ebp, ebp
jg 0x140073bfd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, r13d
jmp 0x140073c5f
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140073c1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140073c3d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebp
dec ebp
test ebp, ebp
jg 0x140073c5a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, 1
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret