Function at 0x14008e960
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 [0x14023b4a0]
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 0x14008ec08
mov r8d, 1
lea rdx, [0x140189862]
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 0x14008eb10
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, 5
jbe 0x14008ec52
lea r12, [rsp + 0x40]
mov r8d, 6
lea rdx, str.lunexa
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 0x14008eb68
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.14008cdc0
mov rcx, qword [rsp + 0x60]
cmp rcx, rbp
je 0x14008eab3
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 0x14008eacb
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 0x14008eae8
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 0x14008ec4d
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 0x14008ebe0
xor r9d, r9d
test dl, 4
je 0x14008eb37
mov r9d, dword [rcx]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x14008eb4a
movzx r11d, word [rcx + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x14008eb58
movzx edx, byte [rcx + r9]
mov byte [r10 + r9], dl
mov rdx, qword [rax + 8]
jmp 0x14008ea09
add rdx, 1
mov r10, rbp
mov rcx, r8
cmp edx, 8
jae 0x14008ebb8
xor r9d, r9d
test dl, 4
je 0x14008eb8b
mov r9d, dword [rcx]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x14008eb9e
movzx r11d, word [rcx + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x14008ebac
movzx edx, byte [rcx + r9]
mov byte [r10 + r9], dl
mov rdx, qword [rax + 8]
jmp 0x14008ea7a
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 0x14008ebc1
lea r10, [rbp + rcx]
add rcx, r8
jmp 0x14008eb77
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 0x14008ebe9
lea r10, [rsi + rcx]
add rcx, r8
jmp 0x14008eb23
mov rax, qword [rsp + 0x88]
sub rax, qword [rdi]
jne 0x14008ec4d
lea rcx, [0x1401890a7]
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 0x14008ec82
call dbg.__stack_chk_fail
mov rax, qword [rsp + 0x88]
sub rax, qword [rdi]
jne 0x14008ec4d
lea rcx, [0x1401890a7]
lea r12, [rsp + 0x40]
call sym.std::__throw_length_error_char_const_
endbr64
mov rsi, rax
jmp 0x14008ec30
mov rcx, rsi
call sym._Unwind_Resume
nop
nop dword [rax + rax]