Function at 0x444330
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 0x444377
mov rax, 0xffffffffffffffff
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp byte [rdi + rax + 1], 0
lea rax, [rax + 1]
jne 0x444360
cmp rax, 0xf9d
jae 0x44455a
mov r14, qword [r15]
mov al, 1
xchg byte [r14], al
test al, al
jne 0x4444c9
mov rcx, qword [r15 + 8]
lea rax, [rcx + 1]
cmp rax, 3
ja 0x444495
cmp rax, 1
je 0x444495
mov qword [r15 + 8], 0xffffffffffffffff
mov eax, 2
test rdi, rdi
je 0x4444b1
cmp byte [rdi], 0x73
jne 0x444418
mov bl, 0x73
mov edx, 1
lea rcx, str.stderr
nop dword [rax]
test bl, bl
je 0x4444b1
movzx ebx, byte [rdi + rdx]
lea rsi, [rdx + 1]
cmp bl, byte [rdx + rcx]
mov rdx, rsi
je 0x4443d0
mov dl, 0x73
mov eax, 1
lea rcx, str.stdout
mov ebx, 1
nop dword [rax + rax]
test dl, dl
je 0x4444b1
movzx edx, byte [rdi + rbx]
lea rsi, [rbx + 1]
cmp dl, byte [rbx + rcx]
mov rbx, rsi
je 0x444400
lea rsi, [r15 + 0x10]
lea r8, [0x0057791e]
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 0x4444b5
lea rdi, [r15 + 0x11]
mov r13, qword [sym.imp.kernel32.dll_GetFileAttributesA]
mov r12, qword [sym.imp.kernel32.dll_CreateDirectoryA]
jmp 0x444466
mov rcx, rsi
xor edx, edx
call r12
test eax, eax
je 0x4444f8
mov byte [rdi], bl
add rdi, 1
movzx ebx, byte [rdi]
cmp bl, 0x2f
je 0x444480
cmp bl, 0x5c
je 0x444480
test bl, bl
jne 0x444462
jmp 0x4444b5
mov byte [rdi], 0
mov rcx, rsi
call r13
cmp eax, 0xffffffff
je 0x444450
and eax, 0x10
jne 0x444460
jmp 0x444450
call qword [sym.imp.kernel32.dll_CloseHandle]
mov qword [r15 + 8], 0xffffffffffffffff
mov eax, 2
test rdi, rdi
jne 0x4443b9
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.kernel32.dll_Sleep]
jmp 0x4444d7
add esi, 1
cmp esi, 0x63
ja 0x4444e0
pause
jmp 0x4444e4
xor ecx, ecx
call rbx
cmp byte [r14], 0
jne 0x4444d4
mov al, 1
xchg byte [r14], al
test al, al
jne 0x4444d4
jmp 0x444387
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 0x444530
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