Function at 0x6fbf20
Capabilities:
Copy file
Move file
Set file attributes

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
mov rbp, rsp
mov rax, rcx
mov rsi, rdx
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0xa8], rbp
lea rdi, [rbp + 0xe0]
mov ecx, 9
rep movsq qword [rdi], qword [rsi]
mov qword [rbp + 0x170], rax
lea rcx, [rbp + 0xe0]
mov rdx, qword [0x006fbb90]
call fcn.00411190
nop
lea rcx, [0x006fc684]
mov rdx, qword [rbp + 0xf8]
call fcn.004107d0
cmp eax, 1
je 0x6fc058
lea rcx, [rbp + 0xa0]
mov rdx, qword [rbp + 0xf8]
call fcn.00438d10
lea rcx, [rbp + 0x128]
lea rdx, [0x006fc684]
mov r8, qword [rbp + 0xa0]
call fcn.004102f0
jmp 0x6fc06b
lea rcx, [rbp + 0x128]
mov rdx, qword [rbp + 0xf8]
call fcn.00438d10
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0x128]
call fcn.00438d70
mov rcx, qword [rbp + 0x170]
mov rdx, qword [rbp + 0x100]
mov r8, qword [rbp + 0x108]
mov r9, qword [rbp + 0x98]
call fcn.006fbc60
mov rax, qword [rbp + 0x170]
cmp qword [rax], 0
je 0x6fc0dd
mov byte [rbp + 0x137], 0
cmp byte [rbp + 0x118], 1
jne 0x6fc0e4
lea rcx, [rbp + 0x90]
mov rdx, qword [rbp + 0x110]
call fcn.00410060
mov rcx, qword [rbp + 0x90]
call fcn.006fb740
jmp 0x6fc0e4
mov byte [rbp + 0x137], 1
nop
lea rcx, [rbp + 0xc0]
mov rdx, qword [rbp + 0xf0]
call fcn.0042d660
mov dword [rbp + 0xdc], 0
mov rcx, qword [rbp + 0xe0]
mov edx, 0xa
call sub.kernel32.dll_WaitForSingleObject
cmp eax, 0x102
je 0x6fc143
mov rcx, qword [rbp + 0x170]
lea rdx, [0x006fc698]
call fcn.0040e6f0
xor rcx, rcx
mov rdx, qword [rbp + 0xa8]
call fcn.006fc580
jmp 0x6fc4f2
cmp dword [rbp + 0xdc], 0
jle 0x6fc1b2
lea rcx, [rbp + 0x80]
mov edx, dword [rbp + 0xdc]
call fcn.0042bdc0
lea rcx, [rbp + 0x88]
mov edx, 4
lea r8, [0x006fc6b8]
mov r9, qword [rbp + 0x80]
lea rax, [0x006fc6c8]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x28], rax
call fcn.00410420
lea rcx, [rbp + 0xc8]
mov rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0x88]
call fcn.0042d370
jmp 0x6fc1c5
lea rcx, [rbp + 0xc8]
mov rdx, qword [rbp + 0xf0]
call fcn.0040e770
lea rcx, [rbp + 0x78]
mov rdx, qword [rbp + 0x128]
mov r8, qword [rbp + 0xc8]
call fcn.004102f0
lea rcx, [rbp + 0xb8]
mov rdx, qword [rbp + 0x78]
call fcn.0042d440
mov rcx, qword [rbp + 0xb8]
mov dl, 1
call fcn.0042cbf0
test al, al
jne 0x6fc2c1
nop
mov rcx, qword [rbp + 0xb8]
call fcn.0042cd30
test al, al
jne 0x6fc2c1
call sub.kernel32.dll_GetLastError_2
mov dword [rbp + 0xb4], eax
cmp byte [rbp + 0x137], 0
jne 0x6fc23f
xor rcx, rcx
mov rdx, qword [rbp + 0xa8]
call fcn.006fc580
jmp 0x6fc4f2
lea rcx, [rbp + 0x70]
mov edx, dword [rbp + 0xb4]
call fcn.00435d20
mov rcx, qword [rbp + 0x170]
lea rdx, [0x006fc6d8]
mov r8, qword [rbp + 0x70]
call fcn.004102f0
xor rcx, rcx
mov rdx, qword [rbp + 0xa8]
call fcn.006fc580
jmp 0x6fc4f2
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x128]
mov r8, qword [rbp + 0xc8]
call fcn.004102f0
mov rcx, qword [rbp + 0x68]
mov dl, 1
call fcn.0042cb00
test al, al
je 0x6fc2f3
add dword [rbp + 0xdc], 1
jmp 0x6fc102
nop
mov qword [rbp + 0xd0], 0
mov rcx, qword [rbp + 0xe8]
call fcn.0040feb0
mov rbx, rax
lea rcx, [rbp + 0x60]
mov edx, 3
mov r8, qword [rbp + 0x128]
mov r9, qword [rbp + 0xc8]
lea rax, [0x006fc70c]
mov qword [rsp + 0x20], rax
call fcn.00410420
mov rcx, qword [rbp + 0x60]
call fcn.0040feb0
mov rcx, rbx
mov rdx, rax
lea r8, [0x006fbc20]
lea r9, [rbp + 0xe0]
mov rax, qword [rbp + 0xd0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 2
call sub.kernel32.dll_CopyFileExW
test eax, eax
setne al
test al, al
jne 0x6fc3d8
call sub.kernel32.dll_GetLastError_2
mov dword [rbp + 0xb4], eax
cmp byte [rbp + 0x137], 0
jne 0x6fc39e
xor rcx, rcx
mov rdx, qword [rbp + 0xa8]
call fcn.006fc580
jmp 0x6fc4f2
lea rcx, [rbp + 0x58]
mov edx, dword [rbp + 0xb4]
call fcn.00435d20
mov rcx, qword [rbp + 0x170]
lea rdx, [0x006fc728]
mov r8, qword [rbp + 0x58]
call fcn.004102f0
xor rcx, rcx
mov rdx, qword [rbp + 0xa8]
call fcn.006fc580
jmp 0x6fc4f2
lea rcx, [rbp + 0x50]
mov edx, 3
mov r8, qword [rbp + 0x128]
mov r9, qword [rbp + 0xc8]
lea rax, [0x006fc70c]
mov qword [rsp + 0x20], rax
call fcn.00410420
mov rcx, qword [rbp + 0x50]
call fcn.0040feb0
mov rcx, rax
xor rdx, rdx
call sub.kernel32.dll_SetFileAttributesW
lea rcx, [rbp + 0x48]
mov edx, 3
mov r8, qword [rbp + 0x128]
mov r9, qword [rbp + 0xc8]
lea rax, [0x006fc70c]
mov qword [rsp + 0x20], rax
call fcn.00410420
mov rcx, qword [rbp + 0x48]
call fcn.0040feb0
mov rbx, rax
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0x128]
mov r8, qword [rbp + 0xc8]
call fcn.004102f0
mov rcx, qword [rbp + 0x40]
call fcn.0040feb0
mov rcx, rbx
mov rdx, rax
call sub.kernel32.dll_MoveFileW
test eax, eax
setne al
test al, al
jne 0x6fc4c0
call sub.kernel32.dll_GetLastError_2
mov dword [rbp + 0xb4], eax
lea rcx, [rbp + 0x38]
mov edx, dword [rbp + 0xb4]
call fcn.00435d20
mov rcx, qword [rbp + 0x170]
lea rdx, [0x006fc750]
mov r8, qword [rbp + 0x38]
call fcn.004102f0
xor rcx, rcx
mov rdx, qword [rbp + 0xa8]
call fcn.006fc580
jmp 0x6fc4f2
mov rcx, qword [rbp + 0x170]
call fcn.0040e080
nop
cmp byte [rbp + 0x137], 1
jne 0x6fc4f1
mov rcx, qword [rbp + 0x128]
call fcn.0040feb0
mov rcx, rax
xor rdx, rdx
or r8d, 0xffffffff
call sub.mpr.dll_WNetCancelConnection2W
nop
lea rcx, [rbp + 0x38]
mov edx, 0xb
call fcn.0040e160
lea rcx, [rbp + 0x90]
call fcn.0040e120
lea rcx, [rbp + 0x98]
mov edx, 2
call fcn.0040e160
lea rcx, [rbp + 0xb8]
mov edx, 3
call fcn.0040e160
lea rcx, [rbp + 0xe0]
mov rdx, qword [0x006fbb90]
call fcn.00410f50
lea rcx, [rbp + 0x128]
call fcn.0040e080
mov rax, qword [rbp + 0x170]
lea rsp, [rbp + 0x148]
pop rbx
pop rsi
pop rdi
pop rbp
ret