Function at 0x140001b30
Capabilities:
Check if file exists
Create directory
Get disk information
Get file attributes

Disassembly:
push rbx
push rbp
sub rsp, 0x798
mov rax, qword [0x14007b960]
xor rax, rsp
mov qword [rsp + 0x780], rax
mov rbp, rdx
mov rdx, rcx
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathRemoveBackslashA]
movsx ecx, byte [rsp + 0x60]
call fcn.14003e580
xor ebx, ebx
test eax, eax
je 0x140001bbd
cmp byte [rsp + 0x61], 0x3a
jne 0x140001bbd
cmp byte [rsp + 0x62], 0x5c
jne 0x140001bbd
cmp byte [rsp + 0x63], bl
jne 0x140001bbd
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbx
lea rcx, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
neg eax
sbb eax, eax
neg eax
sub eax, 1
jne 0x140001bf0
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x790], rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp edi, 0xffffffff
je 0x140001c0a
test dil, 0x10
jne 0x140001c0f
or ebx, 0xffffffff
mov rdi, qword [rsp + 0x790]
mov eax, ebx
mov rcx, qword [rsp + 0x780]
xor rcx, rsp
call fcn.14003dbe0
add rsp, 0x798
pop rbp
pop rbx
ret
cmp eax, 5
jne 0x140001c23
lea rcx, [rsp + 0x60]
call fcn.140001980
test eax, eax
jne 0x140001e3e
jmp 0x140001be3
lea rcx, [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp eax, 1
je 0x140001e3e
mov qword [rsp + 0x40], 0x100
lea rax, [rsp + 0x680]
lea r9, [rsp + 0x480]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x580]
mov qword [rsp + 0x30], 0x100
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
mov r8d, 3
mov qword [rsp + 0x20], 0x100
call fcn.14003e9d0
lea r9, [rsp + 0x480]
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x270]
mov edx, 0x208
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.14003ecb0
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x140001be3
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x270]
mov qword [rsp + 0x7c0], rsi
mov edi, ebx
call fcn.140001b30
test eax, eax
je 0x140001d5d
lea rcx, [rsp + 0x270]
call qword [sym.imp.SHLWAPI.dll_PathRemoveBackslashA]
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
lea rsi, [rsp + rcx + 0x270]
nop
nop
lea rdx, [0x140066450]
mov r8d, edi
mov rcx, rsi
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [rsp + 0x270]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashA]
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x270]
call fcn.140001b30
add edi, 1
test eax, eax
jne 0x140001d20
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
lea r9, [rsp + 0x480]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x270]
mov r8d, 3
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 0x100
call fcn.14003e9d0
lea rax, [rsp + 0x580]
lea r9, [rsp + 0x480]
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x60]
mov edx, 0x208
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.14003ecb0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x60]
mov edi, ebx
call fcn.140001b30
test eax, eax
mov ebx, eax
je 0x140001e36
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathRemoveBackslashA]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
lea rsi, [rsp + rcx + 0x60]
nop
lea rdx, [0x140066450]
mov r8d, edi
mov rcx, rsi
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashA]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x60]
call fcn.140001b30
add edi, 1
test eax, eax
mov ebx, eax
jne 0x140001e00
mov rsi, qword [rsp + 0x7c0]
test rbp, rbp
je 0x140001be6
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashA]
lea rdx, [rsp + 0x60]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x140001be6