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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rdi, rdx
mov r15, rcx
test rdx, rdx
je 0x1400f4e87
mov rax, 0xffffffffffffffff
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp byte [rdi + rax + 1], 0
lea rax, [rax + 1]
jne 0x1400f4e70
cmp rax, 0xf9d
jae 0x1400f506a
mov r14, qword [r15]
mov al, 1
xchg byte [r14], al
test al, al
jne 0x1400f4fd9
mov rcx, qword [r15 + 8]
lea rax, [rcx + 1]
cmp rax, 3
ja 0x1400f4fa5
cmp rax, 1
je 0x1400f4fa5
mov qword [r15 + 8], 0xffffffffffffffff
mov eax, 2
test rdi, rdi
je 0x1400f4fc1
cmp byte [rdi], 0x73
jne 0x1400f4f28
mov bl, 0x73
mov edx, 1
lea rcx, str.stderr
nop dword [rax]
test bl, bl
je 0x1400f4fc1
movzx ebx, byte [rdi + rdx]
lea rsi, [rdx + 1]
cmp bl, byte [rdx + rcx]
mov rdx, rsi
je 0x1400f4ee0
mov dl, 0x73
mov eax, 1
lea rcx, str.stdout
mov ebx, 1
nop dword [rax + rax]
test dl, dl
je 0x1400f4fc1
movzx edx, byte [rdi + rbx]
lea rsi, [rbx + 1]
cmp dl, byte [rbx + rcx]
mov rbx, rsi
je 0x1400f4f10
lea rsi, [r15 + 0x10]
lea r8, [0x140285e16]
mov edx, 0x1000
mov rcx, rsi
mov r9, rdi
call method.__sanitizer.internal_snprintf_char__unsigned_long_long__char_const__..._
cmp byte [r15 + 0x10], 0
je 0x1400f4fc5
lea rdi, [r15 + 0x11]
mov r13, qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov r12, qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
jmp 0x1400f4f76
mov rcx, rsi
xor edx, edx
call r12
test eax, eax
je 0x1400f5008
mov byte [rdi], bl
add rdi, 1
movzx ebx, byte [rdi]
cmp bl, 0x2f
je 0x1400f4f90
cmp bl, 0x5c
je 0x1400f4f90
test bl, bl
jne 0x1400f4f72
jmp 0x1400f4fc5
mov byte [rdi], 0
mov rcx, rsi
call r13
cmp eax, 0xffffffff
je 0x1400f4f60
and eax, 0x10
jne 0x1400f4f70
jmp 0x1400f4f60
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r15 + 8], 0xffffffffffffffff
mov eax, 2
test rdi, rdi
jne 0x1400f4ec9
mov qword [r15 + 8], rax
mov byte [r14], 0
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
mov rbx, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x1400f4fe7
add esi, 1
cmp esi, 0x63
ja 0x1400f4ff0
pause
jmp 0x1400f4ff4
xor ecx, ecx
call rbx
cmp byte [r14], 0
jne 0x1400f4fe4
mov al, 1
xchg byte [r14], al
test al, al
jne 0x1400f4fe4
jmp 0x1400f4e97
mov qword [rsp + 0x20], 0
lea rdx, str.ERROR:_Cant_create_directory:
mov ecx, 2
mov r8d, 0x1f
xor r9d, r9d
call method.__sanitizer.WriteToFile_void__void_const__unsigned_long_long__unsigned_long_long__unsigned_int_
mov r8, 0xffffffffffffffff
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [r15 + r8 + 0x11], 0
lea r8, [r8 + 1]
jne 0x1400f5040
mov qword [rsp + 0x20], 0
mov ecx, 2
mov rdx, rsi
xor r9d, r9d
call method.__sanitizer.WriteToFile_void__void_const__unsigned_long_long__unsigned_long_long__unsigned_int_
call method.__sanitizer.Die__
movsx edx, byte [rdi]
movsx r8d, byte [rdi + 1]
movsx r9d, byte [rdi + 2]
movsx eax, byte [rdi + 3]
movsx ecx, byte [rdi + 4]
movsx ebx, byte [rdi + 5]
movsx esi, byte [rdi + 6]
movsx edi, byte [rdi + 7]
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
lea rcx, str.ERROR:_Path_is_too_long:__c_c_c_c_c_c_c_c..._n
call method.__sanitizer.Report_char_const__..._
call method.__sanitizer.Die__
int3