Function at 0x1400d8ad0
Capabilities:
Check if file exists
Copy file
Delete directory
Get file attributes
Move file
Set file attributes

Disassembly:
push r15
mov eax, 0x4058
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1401d92a0
sub rsp, rax
mov rsi, qword [0x14022c040]
mov rax, qword [rsi]
mov qword [rsp + 0x4048], rax
xor eax, eax
mov rbp, rcx
lea rsi, [rsp + 0x40]
mov r12, rdx
mov dword [rsp + 0x3c], 0
call fcn.1400d1230
mov r9d, 0xffffffff
mov rdx, rbp
mov rcx, rsi
mov r8d, 0x1000
mov ebx, eax
call fcn.1400d25c0
test eax, eax
js 0x1400d8c90
mov r9d, ebx
mov r8d, 0x104
mov edx, eax
mov rcx, rsi
call fcn.1400d3b90
test eax, eax
js 0x1400d8bfc
call fcn.1400d1230
lea rbx, [rsp + 0x2040]
mov r9d, 0xffffffff
mov rdx, r12
mov r8d, 0x1000
mov rcx, rbx
mov edi, eax
call fcn.1400d25c0
test eax, eax
js 0x1400d8c90
mov r9d, edi
mov r8d, 0x104
mov edx, eax
mov rcx, rbx
call fcn.1400d3b90
test eax, eax
js 0x1400d8bfc
mov r14, qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0xffffffff
mov r8d, 3
mov rdx, rbx
mov rcx, rsi
call r14
test eax, eax
jne 0x1400d8e10
call r13
mov r15d, eax
cmp eax, 5
je 0x1400d8cc0
cmp edi, 0xffffffff
je 0x1400d8cb0
mov edx, edi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp r15d, 0x20
je 0x1400d8c60
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, r15d
mov rbx, rax
call fcn.1400d0b80
mov dword [rbx], eax
mov eax, 0xffffffff
mov rdi, qword [0x14022c040]
mov rdx, qword [rsp + 0x4048]
sub rdx, qword [rdi]
jne 0x1400d8e17
add rsp, 0x4058
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp r15d, 5
jne 0x1400d8cb0
mov r15, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rcx, rbx
call r15
mov edi, eax
cmp eax, 0xffffffff
je 0x1400d8c60
test al, 0x10
jne 0x1400d8d48
test al, 1
jne 0x1400d8dd0
nop word [rax + rax]
lea rcx, [rsp + 0x3c]
mov r9, r12
mov r8, rbp
lea rdx, str.Rename_from__s_to__s_failed._Should_I_try_again_
call fcn.1400d3470
test eax, eax
jne 0x1400d8ba9
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0xd
jmp 0x1400d8bfc
mov rbx, qword [sym.imp.msvcrt.dll__errno]
call rbx
cmp dword [rax], 0x22
jne 0x1400d8bfc
call rbx
mov dword [rax], 0x26
jmp 0x1400d8bfc
cmp r15d, 0x20
jne 0x1400d8be9
jmp 0x1400d8c36
call fcn.1400d8a40
test eax, eax
je 0x1400d8d18
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x1400d8cec
mov rcx, rbp
call fcn.1400d6940
test eax, eax
je 0x1400d8e10
call r13
mov r15d, eax
cmp edi, 0xffffffff
je 0x1400d8c30
mov edx, edi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp r15d, 5
je 0x1400d8c60
jmp 0x1400d8be3
mov r15, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rcx, rsi
call r15
test al, 1
jne 0x1400d8d78
cmp edi, 0xffffffff
je 0x1400d8c3d
mov edx, edi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x1400d8c60
mov rcx, rsi
call r15
cmp eax, 0xffffffff
je 0x1400d8deb
test al, 0x10
je 0x1400d8deb
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wrmdir]
test eax, eax
je 0x1400d8ba9
jmp 0x1400d8bfc
mov dword [rsp + 0x2c], eax
mov edx, eax
mov rax, qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, rsi
and edx, 0xfffffffe
mov qword [rsp + 0x20], rax
call rax
mov r8d, 3
mov rdx, rbx
mov rcx, rsi
call r14
mov r9d, dword [rsp + 0x2c]
test eax, eax
jne 0x1400d8dfc
mov dword [rsp + 0x2c], r9d
call r13
mov edx, dword [rsp + 0x2c]
mov rcx, rsi
mov r15d, eax
mov rax, qword [rsp + 0x20]
call rax
jmp 0x1400d8cf2
mov edx, eax
mov rcx, rbx
and edx, 0xfffffffe
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x1400d8c60
jmp 0x1400d8ba9
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x15
jmp 0x1400d8bfc
mov rax, qword [rsp + 0x20]
mov edx, r9d
mov rcx, rbx
call rax
nop dword [rax]
xor eax, eax
jmp 0x1400d8c01
call fcn.1401d96b0
nop
nop dword [rax]