Function at 0x140005f30
Capabilities:
Check if file exists
Move file

Disassembly:
endbr64
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x90
mov rdi, qword [0x14013cc10]
mov r8d, 1
mov edx, 0x23
mov rax, qword [rdi]
mov qword [rsp + 0x88], rax
xor eax, eax
lea rax, [rcx + 0x10]
mov byte [rcx + 0x10], 0
lea rbp, [rsp + 0x20]
mov qword [rcx], rax
mov rbx, rcx
mov qword [rcx + 8], 0
mov rcx, rbp
call method.tools.get_special_folder_path_abi:cxx11__int__bool_
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x28], rax
je 0x1400061d8
mov r8d, 1
lea rdx, [0x14009955a]
mov rcx, rbp
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_append_char_const__unsigned_long_long_
lea rsi, [rsp + 0x50]
lea r8, [rax + 0x10]
mov rdx, qword [rax + 8]
mov qword [rsp + 0x40], rsi
mov rcx, qword [rax]
cmp rcx, r8
je 0x1400060e0
mov qword [rsp + 0x40], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x50], rcx
mov qword [rax], r8
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
sub rax, rdx
mov qword [rsp + 0x48], rdx
cmp rax, 3
jbe 0x140006222
lea r12, [rsp + 0x40]
mov r8d, 4
lea rdx, str.tabo
mov rcx, r12
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_append_char_const__unsigned_long_long_
lea rbp, [rsp + 0x70]
lea r8, [rax + 0x10]
mov rdx, qword [rax + 8]
mov qword [rsp + 0x60], rbp
mov rcx, qword [rax]
cmp rcx, r8
je 0x140006138
mov qword [rsp + 0x60], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x70], rcx
mov qword [rax], r8
mov rcx, rbx
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
mov qword [rsp + 0x68], rdx
lea rdx, [rsp + 0x60]
call fcn.140003900
mov rcx, qword [rsp + 0x60]
cmp rcx, rbp
je 0x140006083
mov rax, qword [rsp + 0x70]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0x40]
cmp rcx, rsi
je 0x14000609b
mov rax, qword [rsp + 0x50]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x30]
cmp rcx, rax
je 0x1400060b8
mov rax, qword [rsp + 0x30]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov rax, qword [rsp + 0x88]
sub rax, qword [rdi]
jne 0x14000621d
mov rax, rbx
add rsp, 0x90
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
add rdx, 1
mov r10, rsi
mov rcx, r8
cmp edx, 8
jae 0x1400061b0
xor r9d, r9d
test dl, 4
je 0x140006107
mov r9d, dword [rcx]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x14000611a
movzx r11d, word [rcx + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x140006128
movzx edx, byte [rcx + r9]
mov byte [r10 + r9], dl
mov rdx, qword [rax + 8]
jmp 0x140005fd9
add rdx, 1
mov r10, rbp
mov rcx, r8
cmp edx, 8
jae 0x140006188
xor r9d, r9d
test dl, 4
je 0x14000615b
mov r9d, dword [rcx]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x14000616e
movzx r11d, word [rcx + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x14000617c
movzx edx, byte [rcx + r9]
mov byte [r10 + r9], dl
mov rdx, qword [rax + 8]
jmp 0x14000604a
mov r11d, edx
xor ecx, ecx
and r11d, 0xfffffff8
mov r9d, ecx
add ecx, 8
mov r10, qword [r8 + r9]
mov qword [rbp + r9], r10
cmp ecx, r11d
jb 0x140006191
lea r10, [rbp + rcx]
add rcx, r8
jmp 0x140006147
mov r11d, edx
xor ecx, ecx
and r11d, 0xfffffff8
mov r9d, ecx
add ecx, 8
mov r10, qword [r8 + r9]
mov qword [rsi + r9], r10
cmp ecx, r11d
jb 0x1400061b9
lea r10, [rsi + rcx]
add rcx, r8
jmp 0x1400060f3
mov rax, qword [rsp + 0x88]
sub rax, qword [rdi]
jne 0x14000621d
lea rcx, [0x140098884]
call sym.std::__throw_length_error_char_const_
endbr64
mov rcx, r12
mov rsi, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rcx, rbp
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rcx, rbx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rax, qword [rsp + 0x88]
sub rax, qword [rdi]
je 0x140006252
call dbg.__stack_chk_fail
mov rax, qword [rsp + 0x88]
sub rax, qword [rdi]
jne 0x14000621d
lea rcx, [0x140098884]
lea r12, [rsp + 0x40]
call sym.std::__throw_length_error_char_const_
endbr64
mov rsi, rax
jmp 0x140006200
mov rcx, rsi
call sym._Unwind_Resume
nop
nop dword [rax + rax]