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

Disassembly:
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
mov r13, rcx
mov rsi, rdx
mov rcx, qword [rcx]
mov rbx, r8
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r12d, eax
cmp eax, 0xffffffff
je 0x4941e0
test rbx, rbx
je 0x4940ff
mov dword [rbx], 0
call method.boost::system.system_category__
mov qword [rbx + 8], rax
test r12d, 0x400
jne 0x4941a0
mov edx, r12d
and r12d, 0x10
mov rcx, r13
je 0x494150
call sym._anonymous_namespace_::make_permissions_boost::filesystem::path_const__unsigned_long_
mov dword [rsp + 0x48], 3
mov dword [rsp + 0x4c], eax
test rbx, rbx
je 0x4942d0
mov edx, dword [rbx]
test edx, edx
je 0x494330
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
ret
call sym._anonymous_namespace_::make_permissions_boost::filesystem::path_const__unsigned_long_
mov dword [rsp + 0x48], 2
mov dword [rsp + 0x4c], eax
test rbx, rbx
jne 0x494132
mov rcx, qword [r13]
mov rdx, qword [rsi]
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_CopyFileW]
xor ecx, ecx
test eax, eax
je 0x494340
lea rax, str.boost::filesystem::copy_file
mov r9, rbx
mov r8, rsi
mov rdx, r13
mov qword [rsp + 0x20], rax
call sym._anonymous_namespace_::error_unsigned_long__boost::filesystem::path_const__boost::filesystem::path_const__boost::system::error_code__char_const_
jmp 0x49413c
mov rcx, r13
call sym._anonymous_namespace_::is_reparse_point_a_symlink_boost::filesystem::path_const_
mov edx, r12d
mov rcx, r13
test al, al
je 0x494230
call sym._anonymous_namespace_::make_permissions_boost::filesystem::path_const__unsigned_long_
mov dword [rsp + 0x48], 4
mov dword [rsp + 0x4c], eax
test rbx, rbx
je 0x49435a
mov eax, dword [rbx]
test eax, eax
jne 0x49413c
jmp 0x494210
lea rcx, [rsp + 0x48]
mov r8, rbx
mov rdx, r13
call sym._anonymous_namespace_::process_status_failure_boost::filesystem::path_const__boost::system::error_code_
test rbx, rbx
je 0x494308
mov ecx, dword [rbx]
test ecx, ecx
jne 0x49413c
mov eax, dword [rsp + 0x48]
cmp eax, 4
jne 0x494311
call method.boost::system.system_category__
mov dword [rbx], 0x32
mov qword [rbx + 8], rax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
ret
call sym._anonymous_namespace_::make_permissions_boost::filesystem::path_const__unsigned_long_
mov dword [rsp + 0x48], 9
mov dword [rsp + 0x4c], eax
test rbx, rbx
jne 0x494132
mov ecx, 0x50
lea r14, [rsp + 0x50]
call sym.__cxa_allocate_exception
mov r12, rax
call method.boost::system.system_category__
lea rdx, str.boost::filesystem::copy
mov rcx, r14
mov rdi, rax
call fcn.0085be40
lea rax, [rsp + 0x30]
mov rcx, r12
mov r9, rsi
mov r8, r13
mov qword [rsp + 0x20], rax
mov rdx, r14
mov qword [rsp + 0x30], 0x32
mov qword [rsp + 0x38], rdi
call sym._ZN5boost10filesystem16filesystem_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_4pathESC_NS_6system10err
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x60]
cmp rcx, rax
je 0x4942b0
call sym.operator_delete_void_
lea r8, [sym.boost::filesystem::filesystem_error::filesystem_error__]
lea rdx, [0x0093d330]
mov rcx, r12
call sym.__cxa_throw
nop word cs:[rax + rax]
mov rcx, qword [r13]
mov rdx, qword [rsi]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CreateDirectoryExW]
xor ecx, ecx
test eax, eax
je 0x494350
lea rax, str.boost::filesystem::copy_directory
mov r9, rbx
mov r8, rsi
mov rdx, r13
mov qword [rsp + 0x20], rax
call sym._anonymous_namespace_::error_unsigned_long__boost::filesystem::path_const__boost::filesystem::path_const__boost::system::error_code__char_const_
jmp 0x49413c
mov eax, dword [rsp + 0x48]
cmp eax, 4
je 0x49435a
cmp eax, 3
je 0x4942d0
cmp eax, 2
je 0x494166
test rbx, rbx
jne 0x494210
jmp 0x49424a
mov eax, dword [rsp + 0x48]
jmp 0x494311
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
jmp 0x494183
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
jmp 0x4942e6
mov ecx, 0x50
lea r14, [rsp + 0x50]
call sym.__cxa_allocate_exception
mov r12, rax
call method.boost::system.system_category__
lea rdx, str.boost::filesystem::copy_symlink
mov rcx, r14
mov rdi, rax
call fcn.0085be40
lea rax, [rsp + 0x30]
mov rcx, r12
mov r9, r13
mov r8, rsi
mov qword [rsp + 0x20], rax
mov rdx, r14
mov qword [rsp + 0x30], 0x32
mov qword [rsp + 0x38], rdi
call sym._ZN5boost10filesystem16filesystem_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_4pathESC_NS_6system10err
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x60]
cmp rcx, rax
je 0x4943c0
call sym.operator_delete_void_
lea r8, [sym.boost::filesystem::filesystem_error::filesystem_error__]
lea rdx, [0x0093d330]
mov rcx, r12
call sym.__cxa_throw
mov r13, rax
mov rcx, r12
call sym.__cxa_free_exception
mov rcx, r13
call sym._Unwind_Resume
mov rcx, r12
call sym.__cxa_free_exception
call method.std.terminate__
nop
nop word [rax + rax]