Function at 0x14001374c
Capabilities:
Copy file
Set file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], r9
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov ebx, dword [rsp + 0x98]
xor edi, edi
mov rsi, rdx
mov r12, rcx
test ebx, 0xffffffe0
je 0x140013799
lea ecx, [rdi + 0x57]
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
xor eax, eax
jmp 0x1400139ac
mov ecx, ebx
mov eax, ebx
and ecx, 1
and eax, 8
mov r15d, ecx
bts r15d, 0xc
test al, al
cmove r15d, ecx
xor edx, edx
mov rcx, r12
call fcn.14001452c
mov r13, rax
test rax, rax
je 0x1400139aa
xor edx, edx
mov rcx, rsi
call fcn.14001452c
mov r14, rax
test rax, rax
je 0x140013965
xor ebp, ebp
mov dword [rsp + 0x28], r15d
xor r9d, r9d
and qword [rsp + 0x20], 0
xor r8d, r8d
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CopyFileExW]
nop dword [rax + rax]
mov edi, eax
test eax, eax
jne 0x1400138b3
mov ecx, ebx
and ecx, 2
test cl, cl
je 0x1400138b3
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
and dword [rsp + 0x98], edi
lea r8, [rsp + 0x88]
and dword [rsp + 0x88], edi
lea rdx, [rsp + 0x98]
mov ecx, eax
mov r11d, eax
inc ebp
call fcn.1400139d0
test eax, eax
je 0x140013865
cmp ebp, dword [rsp + 0x98]
jae 0x1400138b3
mov edi, dword [rsp + 0x88]
jmp 0x14001386f
cmp ebp, 2
jae 0x1400138b3
mov edi, 0xbb8
mov dword [rsp + 0x30], edi
lea r8, str.WdsCopyFileEx:_Failed_to_copy___s__to___s___GLE__0x_x__will_retry_in__u_ms
mov dword [rsp + 0x28], r11d
lea rcx, [0x14003f810]
mov r9, r12
mov qword [rsp + 0x20], rsi
mov edx, 0x4000000
call fcn.140013654
test edi, edi
je 0x1400137df
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
nop dword [rax + rax]
jmp 0x1400137df
test edi, edi
je 0x140013965
and ebx, 4
test bl, bl
je 0x140013965
mov edx, 0x80
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
nop dword [rax + rax]
mov edi, eax
test eax, eax
jne 0x140013965
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
lea r15d, [rdi + 0x1f]
mov ebp, 0x2000000
test eax, eax
lea r8, str.WdsCopyFileEx:_Failed_to_strip_file_attributes_for__s__will_delete._GLE__0x_x
mov ebx, eax
lea rcx, [0x14003f810]
cmove ebx, r15d
mov r9, rsi
mov edx, ebp
mov dword [rsp + 0x20], ebx
call fcn.140013654
mov rcx, rsi
call fcn.140013d5c
test eax, eax
jne 0x140013957
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r9, rsi
lea r8, str.WdsCopyFileEx:_Failed_to_delete__s._GLE__0x_x
test eax, eax
lea rcx, [0x14003f810]
mov edx, ebp
cmove eax, r15d
mov dword [rsp + 0x20], eax
call fcn.140013654
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r14, r14
je 0x1400139aa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, edi
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret