Function at 0x14001b56c
Capabilities:
Move file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140060010]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rsi, rcx
call fcn.14001b4fc
xor edi, edi
test al, al
jne 0x14001b5a9
mov al, 1
jmp 0x14001b6b4
mov rdx, rsi
lea rcx, [rbp - 0x60]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
nop
or r8, 0xffffffffffffffff
lea rdx, [0x140043b50]
lea rcx, [rbp - 0x60]
call qword [sym.imp.Cmmlib.dll_public:_unsigned_long_long_unsigned___int64____cdecl_Cmm::CStringT_wchar_t_::find_last_of_wchar_t_const____ptr64__unsigned_long_long_unsigned___int64__const___ptr64]
mov rbx, rax
lea rcx, [rbp - 0x60]
call qword [sym.imp.Cmmlib.dll_public:_unsigned_long_long_unsigned___int64____cdecl_Cmm::CStringT_wchar_t_::length_void_const___ptr64]
dec rax
cmp rbx, rax
jne 0x14001b5fd
lea rcx, [rbp - 0x60]
call qword [sym.imp.Cmmlib.dll_public:_unsigned_long_long_unsigned___int64____cdecl_Cmm::CStringT_wchar_t_::length_void_const___ptr64]
lea rdx, [rax - 1]
or r8, 0xffffffffffffffff
lea rcx, [rbp - 0x60]
call qword [sym.imp.Cmmlib.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_Cmm::CStringT_wchar_t_::erase_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, str._to_delete
lea rcx, [rbp - 0x38]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_wchar_t_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::operator_wchar_t_const____ptr64_void_const___ptr64]
mov rdx, rax
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.Cmmlib.dll_public:_wchar_t____ptr64___cdecl_Cmm::CStringT_wchar_t_::Find_wchar_t_const____ptr64__int_const___ptr64]
test rax, rax
jne 0x14001b63b
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x60]
call qword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____ptr64___cdecl_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const____ptr64____ptr64]
mov rdx, rsi
lea rcx, [rbp - 0x60]
call qword [reloc.Cmmlib.dll___9__CStringT__W_Cmm__QEBA_NAEBV01__Z]
test al, al
je 0x14001b68a
lea rcx, [rbp - 0x60]
call fcn.14001b4fc
test al, al
je 0x14001b664
mov dl, 1
lea rcx, [rbp - 0x60]
call fcn.14001b2dc
lea rcx, [rbp - 0x60]
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
mov rbx, rax
mov rcx, rsi
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x14001b69c
mov dl, 1
lea rcx, [rbp - 0x60]
call fcn.14001b2dc
test eax, eax
jne 0x14001b69c
mov dil, 1
lea rcx, [rbp - 0x38]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov al, dil
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140037640
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret