Function at 0x1400cf1d0
Capabilities:
Copy file

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x108
mov rax, qword [0x1401bf0a0]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov eax, dword [rsp + 0x120]
and eax, 2
test eax, eax
je 0x1400cf215
mov dword [rsp + 0x5c], 1
jmp 0x1400cf21d
mov dword [rsp + 0x5c], 0
mov eax, dword [rsp + 0x120]
and eax, 1
test eax, eax
je 0x1400cf235
mov dword [rsp + 0x58], 1
jmp 0x1400cf23d
mov dword [rsp + 0x58], 0
mov eax, dword [rsp + 0x120]
and eax, 4
test eax, eax
je 0x1400cf255
mov dword [rsp + 0x60], 1
jmp 0x1400cf25d
mov dword [rsp + 0x60], 0
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x5c]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x60]
cmp eax, 1
jle 0x1400cf28d
mov r8d, 0x498
lea rdx, [0x1401705a0]
lea rcx, str.___options__static_cast__unsigned_int___copy_options::overwrite_existing_____0u_____options__static_cast__unsigned_int___copy_options::skip_existing_____0u_____options__static_cast__unsigned_int___copy_options::update_existing_____0u_____1
call fcn.140130b40
xor eax, eax
cmp qword [rsp + 0x128], 0
je 0x1400cf2a5
mov rcx, qword [rsp + 0x128]
call fcn.1400cc080
mov eax, dword [rsp + 0x120]
and eax, 2
test eax, eax
je 0x1400cf2cb
mov eax, dword [rsp + 0x120]
and eax, 1
test eax, eax
jne 0x1400cf2cb
mov dword [rsp + 0x64], 0
jmp 0x1400cf2d3
mov dword [rsp + 0x64], 1
movzx eax, byte [rsp + 0x64]
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x120]
and eax, 4
test eax, eax
je 0x1400cf4f5
lea rcx, [rsp + 0x50]
call fcn.1400d2e10
nop
lea rcx, [rsp + 0x48]
call fcn.1400d2e10
nop
mov rcx, qword [rsp + 0x110]
call fcn.1400c8da0
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.1400c8730
nop
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 7
xor edx, edx
lea rcx, [rsp + 0xa0]
call fcn.1400d31e0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0xa0]
call fcn.140006280
cmp qword [rsp + 0x50], 0xffffffffffffffff
jne 0x1400cf3c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x68], eax
lea rax, [0x140170808]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x128]
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov ecx, dword [rsp + 0x68]
call fcn.1400d47d0
mov byte [rsp + 0x41], 0
lea rcx, [rsp + 0x48]
call fcn.1400d2e50
nop
lea rcx, [rsp + 0x50]
call fcn.1400d2e50
movzx eax, byte [rsp + 0x41]
jmp 0x1400cf5a6
lea r9, [rsp + 0x78]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
jne 0x1400cf3e3
jmp 0x1400cf36d
mov rcx, qword [rsp + 0x118]
call fcn.1400c8da0
mov rdx, rax
lea rcx, [rsp + 0xc8]
call fcn.1400c8730
nop
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 7
xor edx, edx
lea rcx, [rsp + 0xc8]
call fcn.1400d31e0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0xc8]
call fcn.140006280
cmp qword [rsp + 0x48], 0xffffffffffffffff
je 0x1400cf4db
lea r9, [rsp + 0x80]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
jne 0x1400cf471
jmp 0x1400cf36d
mov eax, dword [rsp + 0x7c]
shl rax, 0x20
mov ecx, dword [rsp + 0x78]
or rax, rcx
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x84]
shl rax, 0x20
mov ecx, dword [rsp + 0x80]
or rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x90], rax
ja 0x1400cf4db
mov byte [rsp + 0x42], 0
lea rcx, [rsp + 0x48]
call fcn.1400d2e50
nop
lea rcx, [rsp + 0x50]
call fcn.1400d2e50
movzx eax, byte [rsp + 0x42]
jmp 0x1400cf5a6
mov byte [rsp + 0x40], 0
lea rcx, [rsp + 0x48]
call fcn.1400d2e50
nop
lea rcx, [rsp + 0x50]
call fcn.1400d2e50
movzx eax, byte [rsp + 0x40]
mov dword [rsp + 0x6c], eax
mov rcx, qword [rsp + 0x118]
call fcn.1400c8da0
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x110]
call fcn.1400c8da0
mov ecx, dword [rsp + 0x6c]
mov r8d, ecx
mov rcx, qword [rsp + 0x98]
mov rdx, rcx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CopyFileW]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jne 0x1400cf5a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0x50
je 0x1400cf561
cmp dword [rsp + 0x44], 0xb7
jne 0x1400cf573
mov eax, dword [rsp + 0x120]
and eax, 1
test eax, eax
je 0x1400cf573
xor al, al
jmp 0x1400cf5a6
lea rax, str.boost::filesystem::copy_file
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x128]
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov ecx, dword [rsp + 0x44]
call fcn.1400d47d0
xor al, al
jmp 0x1400cf5a6
mov al, 1
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1400ba210
add rsp, 0x108
ret