Function at 0x1000068cc
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 r13
push r14
lea rbp, [rax - 0x188]
sub rsp, 0x270
mov rax, qword [0x10000f100]
xor rax, rsp
mov qword [rbp + 0x160], rax
lea rcx, [0x1000017e0]
xor r8d, r8d
xor edx, edx
call fcn.100005680
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 0x10000695e
xor r9d, r9d
xor r8d, r8d
mov edx, 0x4b5
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], InitCommonControls
call fcn.100005420
call fcn.100007924
mov dword [0x100010488], eax
xor eax, eax
jmp 0x100006d6e
lea rcx, [0x1000017e0]
mov r8d, esi
mov rdx, rax
call fcn.100005680
test eax, eax
jne 0x1000069a7
xor r9d, r9d
xor r8d, r8d
mov edx, 0x4b1
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], InitCommonControls
call fcn.100005420
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [0x100010488], 0x80070714
jmp 0x100006957
lea rdx, [0x1000017b0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcmpA]
mov ecx, dword [0x100010ec0]
mov r12d, 1
test eax, eax
cmove ecx, r12d
mov dword [0x100010ec0], ecx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r11b, byte [0x10001151e]
test r11b, r11b
je 0x100006a36
cmp r11b, 0x5c
jne 0x1000069f6
cmp byte [0x10001151f], r11b
mov r8d, ebx
je 0x1000069f9
mov r8d, r12d
lea rcx, [0x10001151e]
xor edx, edx
call fcn.100006704
test eax, eax
je 0x100006a13
mov eax, r12d
jmp 0x100006d6e
xor r9d, r9d
xor r8d, r8d
mov edx, 0x4be
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], InitCommonControls
call fcn.100005420
jmp 0x100006957
cmp dword [0x100011404], ebx
jne 0x100006d4b
cmp dword [0x100010ec0], ebx
jne 0x100006d4b
lea r14, [0x100010670]
mov r13d, 0x104
mov rdx, r14
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x100006acd
mov r8d, 3
mov edx, r12d
mov rcx, r14
call fcn.100006704
test eax, eax
jne 0x100006a0b
lea rcx, [rbp + 0x50]
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x100006aa2
lea rdx, [rbp + 0x50]
mov rcx, r14
call fcn.100002cbc
mov r11d, eax
jmp 0x100006ab2
mov al, byte [rbp + 0x50]
mov r11d, ebx
cmp byte [0x100010670], al
sete r11b
test r11d, r11d
jne 0x100006acd
mov r8d, r12d
mov edx, r12d
mov rcx, r14
call fcn.100006704
test eax, eax
jne 0x100006a0b
lea rsi, [0x1000018a4]
lea rax, [rsp + 0x40]
sub rsi, rax
mov rdx, r13
lea rcx, [rsp + 0x40]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x100006b01
mov al, byte [rsi + rcx]
test al, al
je 0x100006b01
mov byte [rcx], al
add rcx, r12
sub rdx, r12
jne 0x100006ae4
test rdx, rdx
jne 0x100006b09
sub rcx, r12
mov byte [rcx], bl
cmp byte [rsp + 0x40], 0x5a
jg 0x100006d1d
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov edi, eax
cmp eax, 6
je 0x100006b2d
cmp eax, 3
jne 0x100006b41
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x100006bc2
cmp edi, 2
jne 0x100006bb2
mov al, byte [rsp + 0x40]
cmp al, 0x41
je 0x100006bb6
cmp al, 0x42
je 0x100006bb6
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x30], ebx
test al, al
je 0x100006bb6
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 0x100006bb2
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 0x100006bb2
cmp eax, 0x19000
jae 0x100006bc2
mov al, byte [rsp + 0x40]
add al, r12b
mov byte [rsp + 0x40], al
jmp 0x100006d15
xor r8d, r8d
lea rcx, [rsp + 0x40]
lea edx, [r8 + 3]
call fcn.100006eec
test eax, eax
jne 0x100006c26
lea rcx, [rbp + 0x50]
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x100006bff
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.100002cbc
mov r11d, eax
mov al, byte [rsp + 0x40]
jmp 0x100006c0d
mov al, byte [rsp + 0x40]
mov r11d, ebx
cmp al, byte [rbp + 0x50]
sete r11b
test r11d, r11d
jne 0x100006bb6
lea rcx, [rsp + 0x40]
xor r8d, r8d
mov edx, r12d
call fcn.100006eec
test eax, eax
je 0x100006bb2
lea rcx, [rbp + 0x50]
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x100006c4a
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.100002cbc
mov r11d, eax
jmp 0x100006c58
mov al, byte [rbp + 0x50]
mov r11d, ebx
cmp byte [rsp + 0x40], al
sete r11b
test r11d, r11d
je 0x100006c6b
lea rcx, [rsp + 0x40]
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea r8, [0x1000018a8]
lea rcx, [rsp + 0x40]
mov edx, r13d
call fcn.100007ddc
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x100006c9e
lea rcx, [rsp + 0x40]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
jmp 0x100006ca1
and eax, 0x10
test eax, eax
jne 0x100006cb6
mov al, byte [rsp + 0x40]
mov byte [rsp + 0x43], bl
add al, r12b
mov byte [rsp + 0x40], al
jmp 0x100006d15
lea rcx, [rsp + 0x40]
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea rdx, [rsp + 0x40]
mov r11, r13
sub rdx, r14
mov rcx, r14
lea rax, [r11 + 0x7ffffefa]
test rax, rax
je 0x100006cf1
mov al, byte [rcx + rdx]
test al, al
je 0x100006cf1
mov byte [rcx], al
add rcx, r12
sub r11, r12
jne 0x100006cd4
test r11, r11
jne 0x100006cf9
sub rcx, r12
mov byte [rcx], bl
xor r8d, r8d
mov edx, r12d
mov rcx, r14
call fcn.100006704
test eax, eax
jne 0x100006a0b
mov al, byte [rsp + 0x40]
cmp al, 0x5a
jle 0x100006b16
lea rcx, [rsp + 0x40]
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edx, 3
lea rcx, [rsp + 0x40]
lea r8d, [rdx + 1]
call fcn.100006eec
test eax, eax
je 0x100006957
jmp 0x100006adc
lea r8, [0x100003e00]
xor r9d, r9d
xor edx, edx
mov ecx, 0x7d2
mov qword [rsp + 0x20], rbx
call fcn.100007c80
test rax, rax
setne bl
mov eax, ebx
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.10000c380
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 r14
pop r13
pop rbp
ret