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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor esi, esi
mov rdi, rcx
mov ebp, esi
mov rcx, qword [str.P5_n_]
lea r14, str.P5_n_
lea r13d, [rsi + 2]
cmp rcx, r14
je 0x140077ae9
test byte [rcx + 0x1c], r13b
je 0x140077ae9
cmp byte [rcx + 0x19], 5
jb 0x140077ae9
mov rcx, qword [rcx + 0x10]
lea edx, [rsi + 0x12]
lea r8, [0x140008e38]
call fcn.14000ffa8
mov rcx, rdi
call fcn.140077df4
mov rbx, rax
mov r12, rax
cmp rax, rsi
jne 0x140077b45
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rcx, qword [str.P5_n_]
cmp rcx, r14
je 0x140077d70
test byte [rcx + 0x1c], r13b
je 0x140077d70
cmp byte [rcx + 0x19], r13b
jb 0x140077d70
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008e38]
mov edx, 0x13
mov r9d, eax
call fcn.1400100e0
jmp 0x140077d70
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140077b5b
test al, 0x10
jne 0x140077d70
xor eax, eax
or r15, 0xffffffffffffffff
mov rdi, rbx
mov rcx, r15
lea r14d, [rax + 1]
repne scasw ax, word [rdi]
lea edi, [rax + 0x5c]
not rcx
sub rcx, r14
cmp rcx, r13
jbe 0x140077bc1
lea rdx, [0x14000cf30]
mov r8, r13
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcsncmp]
cmp eax, esi
jne 0x140077bc1
lea rcx, [rbx + 4]
mov edx, edi
call qword [sym.imp.msvcrt.dll_wcschr]
mov rbx, rax
cmp rax, rsi
je 0x140077c38
lea rcx, [rax + 2]
mov edx, edi
call qword [sym.imp.msvcrt.dll_wcschr]
mov rbx, rax
cmp rax, rsi
je 0x140077c38
jmp 0x140077bee
xor eax, eax
mov rcx, r15
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, r14
cmp rcx, r14
jbe 0x140077bf3
lea rdx, [0x14000cf2c]
mov r8, r14
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcsncmp]
cmp eax, esi
jne 0x140077bf3
add rbx, r13
jmp 0x140077c33
xor eax, eax
mov rcx, r15
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, r14
cmp rcx, 3
jbe 0x140077c33
movzx ecx, word [rbx]
call qword [sym.imp.msvcrt.dll_iswalpha]
cmp eax, esi
je 0x140077c33
lea rcx, [rbx + 2]
lea rdx, [0x14000cf38]
mov r8, r13
call qword [sym.imp.msvcrt.dll_wcsncmp]
cmp eax, esi
jne 0x140077c33
add rbx, 6
cmp rbx, rsi
jne 0x140077c94
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp eax, esi
jne 0x140077c94
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0xb7
mov ebp, eax
cmp eax, edi
je 0x140077c8d
mov rcx, qword [str.P5_n_]
lea rax, str.P5_n_
cmp rcx, rax
je 0x140077d70
test byte [rcx + 0x1c], r13b
je 0x140077d70
cmp byte [rcx + 0x19], r13b
jb 0x140077d70
mov edx, 0x14
jmp 0x140077d59
mov ebp, esi
jmp 0x140077d70
add rbx, r13
cmp word [rbx], si
je 0x140077d70
mov edi, 0xb7
lea r14d, [rdi - 0x5b]
mov edx, r14d
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcschr]
xor edx, edx
mov rcx, r12
mov rbx, rax
cmp rax, rsi
je 0x140077d19
mov word [rax], si
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp eax, esi
jne 0x140077cd9
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jne 0x140077ceb
mov word [rbx], r14w
add rbx, r13
cmp word [rbx], si
je 0x140077d70
jmp 0x140077ca9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rcx, qword [str.P5_n_]
lea rax, str.P5_n_
cmp rcx, rax
je 0x140077d70
test byte [rcx + 0x1c], r13b
je 0x140077d70
cmp byte [rcx + 0x19], r13b
jb 0x140077d70
mov edx, 0x16
jmp 0x140077d59
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp eax, esi
jne 0x140077d70
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
je 0x140077d70
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rcx, qword [str.P5_n_]
lea rax, str.P5_n_
cmp rcx, rax
je 0x140077d70
test byte [rcx + 0x1c], r13b
je 0x140077d70
cmp byte [rcx + 0x19], r13b
jb 0x140077d70
mov edx, 0x15
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008e38]
mov r9, r12
mov dword [rsp + 0x20], ebp
call fcn.140011a18
mov rcx, r12
call fcn.140076afc
cmp ebp, esi
je 0x140077d86
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp ebp, esi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
sete sil
mov eax, esi
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret