Function at 0x1400063e0
Capabilities:
Check if file exists
Create directory
Get common file path
Get disk information
Get disk size
Get file attributes
Set file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rax - 0x188]
sub rsp, 0x270
mov rax, qword [0x140009110]
xor rax, rsp
mov qword [rbp + 0x160], rax
lea rcx, [0x140001248]
xor r8d, r8d
xor edx, edx
call fcn.140005094
mov ecx, 0x40
lea edx, [rax + 1]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
xor ebx, ebx
mov rdi, rax
test rax, rax
jne 0x140006472
xor r9d, r9d
xor r8d, r8d
mov edx, 0x4b5
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 0x10
call fcn.140004e14
call fcn.140007450
mov dword [0x14000b07c], eax
xor eax, eax
jmp 0x140006882
lea rcx, [0x140001248]
mov r8d, esi
mov rdx, rax
call fcn.140005094
test eax, eax
jne 0x1400064bb
xor r9d, r9d
xor r8d, r8d
mov edx, 0x4b1
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 0x10
call fcn.140004e14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [0x14000b07c], 0x80070714
jmp 0x14000646b
lea rdx, [0x140001218]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcmpA]
mov ecx, dword [0x14000b060]
mov r14d, 1
test eax, eax
cmove ecx, r14d
mov dword [0x14000b060], ecx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r11b, byte [0x140009efe]
test r11b, r11b
je 0x14000654a
cmp r11b, 0x5c
jne 0x14000650a
cmp byte [0x140009eff], r11b
mov r8d, ebx
je 0x14000650d
mov r8d, r14d
lea rcx, [0x140009efe]
xor edx, edx
call fcn.140006218
test eax, eax
je 0x140006527
mov eax, r14d
jmp 0x140006882
xor r9d, r9d
xor r8d, r8d
mov edx, 0x4be
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 0x10
call fcn.140004e14
jmp 0x14000646b
cmp dword [0x140009de4], ebx
jne 0x14000685f
cmp dword [0x14000b060], ebx
jne 0x14000685f
lea r12, [0x14000a810]
mov r15d, 0x104
mov rdx, r12
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x1400065e1
mov r8d, 3
mov edx, r14d
mov rcx, r12
call fcn.140006218
test eax, eax
jne 0x14000651f
lea rcx, [rbp + 0x50]
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x1400065b6
lea rdx, [rbp + 0x50]
mov rcx, r12
call fcn.140002674
mov r11d, eax
jmp 0x1400065c6
mov al, byte [rbp + 0x50]
mov r11d, ebx
cmp byte [0x14000a810], al
sete r11b
test r11d, r11d
jne 0x1400065e1
mov r8d, r14d
mov edx, r14d
mov rcx, r12
call fcn.140006218
test eax, eax
jne 0x14000651f
lea rsi, [0x14000130c]
lea rax, [rsp + 0x40]
sub rsi, rax
mov rdx, r15
lea rcx, [rsp + 0x40]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x140006615
mov al, byte [rsi + rcx]
test al, al
je 0x140006615
mov byte [rcx], al
add rcx, r14
sub rdx, r14
jne 0x1400065f8
test rdx, rdx
jne 0x14000661d
sub rcx, r14
mov byte [rcx], bl
cmp byte [rsp + 0x40], 0x5a
jg 0x140006831
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov edi, eax
cmp eax, 6
je 0x140006641
cmp eax, 3
jne 0x140006655
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, reloc.msvcrt.dll___C_specific_handler
jne 0x1400066d6
cmp edi, 2
jne 0x1400066c6
mov al, byte [rsp + 0x40]
cmp al, 0x41
je 0x1400066ca
cmp al, 0x42
je 0x1400066ca
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x30], ebx
test al, al
je 0x1400066ca
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x3c]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x34]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceA]
test eax, eax
je 0x1400066c6
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x30]
mov r8d, 0x400
imul ecx, dword [rsp + 0x34]
call qword [sym.imp.KERNEL32.dll_MulDiv]
test eax, eax
je 0x1400066c6
cmp eax, 0x19000
jae 0x1400066d6
mov al, byte [rsp + 0x40]
add al, r14b
mov byte [rsp + 0x40], al
jmp 0x140006829
xor r8d, r8d
lea rcx, [rsp + 0x40]
lea edx, [r8 + 3]
call fcn.140006a10
test eax, eax
jne 0x14000673a
lea rcx, [rbp + 0x50]
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x140006713
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140002674
mov r11d, eax
mov al, byte [rsp + 0x40]
jmp 0x140006721
mov al, byte [rsp + 0x40]
mov r11d, ebx
cmp al, byte [rbp + 0x50]
sete r11b
test r11d, r11d
jne 0x1400066ca
lea rcx, [rsp + 0x40]
xor r8d, r8d
mov edx, r14d
call fcn.140006a10
test eax, eax
je 0x1400066c6
lea rcx, [rbp + 0x50]
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x14000675e
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140002674
mov r11d, eax
jmp 0x14000676c
mov al, byte [rbp + 0x50]
mov r11d, ebx
cmp byte [rsp + 0x40], al
sete r11b
test r11d, r11d
je 0x14000677f
lea rcx, [rsp + 0x40]
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea r8, [0x140001310]
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400078e4
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, reloc.msvcrt.dll___C_specific_handler
jne 0x1400067b2
lea rcx, [rsp + 0x40]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
jmp 0x1400067b5
and eax, 0x10
test eax, eax
jne 0x1400067ca
mov al, byte [rsp + 0x40]
mov byte [rsp + 0x43], bl
add al, r14b
mov byte [rsp + 0x40], al
jmp 0x140006829
lea rcx, [rsp + 0x40]
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea rdx, [rsp + 0x40]
mov r11, r15
sub rdx, r12
mov rcx, r12
lea rax, [r11 + 0x7ffffefa]
test rax, rax
je 0x140006805
mov al, byte [rcx + rdx]
test al, al
je 0x140006805
mov byte [rcx], al
add rcx, r14
sub r11, r14
jne 0x1400067e8
test r11, r11
jne 0x14000680d
sub rcx, r14
mov byte [rcx], bl
xor r8d, r8d
mov edx, r14d
mov rcx, r12
call fcn.140006218
test eax, eax
jne 0x14000651f
mov al, byte [rsp + 0x40]
cmp al, 0x5a
jle 0x14000662a
lea rcx, [rsp + 0x40]
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edx, 3
lea rcx, [rsp + 0x40]
lea r8d, [rdx + 1]
call fcn.140006a10
test eax, eax
je 0x14000646b
jmp 0x1400065f0
lea r8, [0x1400037ec]
xor r9d, r9d
xor edx, edx
mov ecx, 0x7d2
mov qword [rsp + 0x20], rbx
call fcn.1400077a0
test rax, rax
setne bl
mov eax, ebx
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.1400080a0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret