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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b8]
sub rsp, 0x280
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x1400c5a08]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rdx
mov r14, rcx
xor r12d, r12d
mov qword [rsp + 0x20], r12
xor r15d, r15d
mov qword [rsp + 0x28], r15
xor r13d, r13d
mov qword [rsp + 0x30], r13
xor esi, esi
mov qword [rsp + 0x38], rsi
test rcx, rcx
jne 0x1400173c8
mov edi, 0x80070057
mov ecx, edi
call fcn.140025d30
jmp 0x1400177ad
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400173e3
shr ebx, 4
and ebx, 1
jmp 0x1400173e5
xor ebx, ebx
xor ecx, ecx
call fcn.140025d50
xor ecx, ecx
call fcn.140025d50
test ebx, ebx
jne 0x140017409
mov rcx, r14
call fcn.14002436c
mov edi, eax
test eax, eax
jns 0x140017409
mov ecx, eax
jmp 0x1400173be
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_memset
mov edx, 0x104
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x140017462
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
test eax, eax
jne 0x14001744f
mov edi, 0x80004005
jmp 0x1400173bc
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
jmp 0x1400173bc
lea r9, [rsp + 0x20]
lea rdx, [0x1400a3cf0]
lea rcx, [rsp + 0x60]
call fcn.140024234
mov edi, eax
test eax, eax
jns 0x14001748f
mov ecx, eax
call fcn.140025d30
mov r12, qword [rsp + 0x20]
jmp 0x1400177ad
mov r12, qword [rsp + 0x20]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
or edi, 0xffffffff
cmp eax, edi
je 0x1400174b4
shr ebx, 4
and ebx, 1
jmp 0x1400174b6
xor ebx, ebx
xor ecx, ecx
call fcn.140025d50
xor ecx, ecx
call fcn.140025d50
test ebx, ebx
je 0x140017592
lea r9, [rsp + 0x28]
lea rdx, str.MoSetup
mov rcx, r14
call fcn.140024234
mov edi, eax
test eax, eax
jns 0x1400174f7
mov ecx, eax
call fcn.140025d30
mov r15, qword [rsp + 0x28]
jmp 0x1400177ad
mov r15, qword [rsp + 0x28]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
or edi, 0xffffffff
cmp eax, edi
je 0x14001751c
shr ebx, 4
and ebx, 1
jmp 0x14001751e
xor ebx, ebx
xor ecx, ecx
call fcn.140025d50
xor ecx, ecx
call fcn.140025d50
test ebx, ebx
jne 0x140017549
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x140017435
mov r8, r15
mov rdx, r12
lea rcx, str.SetupHost:_Copying_MoSetup_log_files_from:___s_______s_...
call fcn.14000568c
mov rdx, r15
mov rcx, r12
call fcn.14002eeec
test eax, eax
je 0x140017578
lea rcx, str.SetupHost:_Successfully_copied_MoSetup_folder_
call fcn.14000568c
jmp 0x140017592
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edx, eax
lea rcx, str.SetupHost:_Unable_to_copy_MoSetup_logs____0x_X_
call fcn.14000568c
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14001769d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
cmp eax, edi
je 0x1400175bd
shr ebx, 4
and ebx, 1
jmp 0x1400175bf
xor ebx, ebx
xor ecx, ecx
call fcn.140025d50
xor ecx, ecx
call fcn.140025d50
test ebx, ebx
je 0x14001769d
lea r9, [rsp + 0x30]
lea rdx, str.Panther
mov rcx, r14
call fcn.140024234
mov edi, eax
test eax, eax
jns 0x140017600
mov ecx, eax
call fcn.140025d30
mov r13, qword [rsp + 0x30]
jmp 0x1400177ad
mov r13, qword [rsp + 0x30]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 0xffffffff
je 0x140017623
shr ebx, 4
and ebx, 1
jmp 0x140017625
xor ebx, ebx
xor ecx, ecx
call fcn.140025d50
xor ecx, ecx
call fcn.140025d50
test ebx, ebx
jne 0x140017650
xor edx, edx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x140017435
mov r8, r13
mov rdx, qword [rsp + 0x40]
lea rcx, str.SetupHost:_Copying_failure_log_files_from:___s_______s_...
call fcn.14000568c
mov rdx, r13
mov rcx, qword [rsp + 0x40]
call fcn.14002eeec
test eax, eax
je 0x140017683
lea rcx, str.SetupHost:_Successfully_copied_Panther_folder_
call fcn.14000568c
jmp 0x14001769d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edx, eax
lea rcx, str.SetupHost:_Unable_to_copy_Panther_logs____0x_X_
call fcn.14000568c
xor edi, edi
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1400177ad
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400176cb
shr ebx, 4
and ebx, 1
jmp 0x1400176cd
xor ebx, ebx
xor ecx, ecx
call fcn.140025d50
xor ecx, ecx
call fcn.140025d50
test ebx, ebx
je 0x1400177ad
lea r9, [rsp + 0x38]
lea rdx, str.Rollback
mov rcx, r14
call fcn.140024234
mov edi, eax
test eax, eax
jns 0x14001770e
mov ecx, eax
call fcn.140025d30
mov rsi, qword [rsp + 0x38]
jmp 0x1400177ad
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 0xffffffff
je 0x140017731
shr ebx, 4
and ebx, 1
jmp 0x140017733
xor ebx, ebx
xor ecx, ecx
call fcn.140025d50
xor ecx, ecx
call fcn.140025d50
xor edi, edi
test ebx, ebx
jne 0x140017760
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop dword [rax + rax]
test eax, eax
je 0x140017435
mov r8, rsi
mov rdx, qword [rsp + 0x48]
lea rcx, str.SetupHost:_Copying_failure_log_files_from:___s_______s_...
call fcn.14000568c
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call fcn.14002eeec
test eax, eax
je 0x140017793
lea rcx, str.SetupHost:_Successfully_copied_Rollback_folder_
call fcn.14000568c
jmp 0x1400177ad
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edx, eax
lea rcx, str.SetupHost:_Unable_to_copy_Rollback_logs____0x_X_
call fcn.14000568c
mov ecx, edi
call fcn.140025d50
nop
test rsi, rsi
je 0x1400177e3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [rsi - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
nop
test r13, r13
je 0x140017811
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [r13 - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
nop
test r15, r15
je 0x14001783f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [r15 - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
nop
test r12, r12
je 0x14001786d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [r12 - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov eax, edi
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.140094220
mov rbx, qword [rsp + 0x2d8]
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret