Function at 0x14008f060
Capabilities:
Check if file exists
Get file attributes
Move file
Set file attributes

Disassembly:
endbr64
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x90
mov r12, qword [0x14023b4a0]
xor r10d, r10d
lea r14, [rsp + 0x60]
mov rsi, rcx
lea rdi, [rsp + 0x30]
mov r13, r8
mov rax, qword [r12]
mov qword [rsp + 0x88], rax
xor eax, eax
mov rcx, r14
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], 0
mov word [rsp + 0x30], r10w
call method.epee::string_tools.utf8_to_utf16_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rax, qword [rsp + 0x60]
lea rbx, [rsp + 0x70]
mov rcx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x68]
cmp rax, rbx
je 0x14008f300
movq xmm0, r8
movhps xmm0, qword [rsp + 0x70]
cmp rcx, rdi
je 0x14008f2a0
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
movups xmmword [rsp + 0x28], xmm0
test rcx, rcx
je 0x14008f2aa
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], 0
xor r8d, r8d
mov word [rcx], r8w
mov rcx, qword [rsp + 0x60]
cmp rcx, rbx
je 0x14008f134
mov rax, qword [rsp + 0x70]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
xor ecx, ecx
lea rbp, [rsp + 0x50]
mov rdx, r13
mov qword [rsp + 0x48], 0
mov word [rsp + 0x50], cx
mov rcx, r14
mov qword [rsp + 0x40], rbp
call method.epee::string_tools.utf8_to_utf16_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x68]
cmp rax, rbx
je 0x14008f2c0
movq xmm0, r8
movhps xmm0, qword [rsp + 0x70]
cmp rcx, rbp
je 0x14008f280
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x40], rax
movups xmmword [rsp + 0x48], xmm0
test rcx, rcx
je 0x14008f28a
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], 0
xor eax, eax
mov word [rcx], ax
mov rcx, qword [rsp + 0x60]
cmp rcx, rbx
je 0x14008f1cd
mov rax, qword [rsp + 0x70]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rcx, qword [rsp + 0x40]
cmp eax, 0xffffffff
je 0x14008f1f2
and eax, 0xfffffffe
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
mov r8d, 1
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
xor ebx, ebx
test eax, eax
je 0x14008f270
call sym.std::_V2::system_category__
mov dword [rsi], ebx
mov qword [rsi + 8], rax
mov rcx, qword [rsp + 0x40]
cmp rcx, rbp
je 0x14008f230
mov rax, qword [rsp + 0x50]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0x20]
cmp rcx, rdi
je 0x14008f249
mov rax, qword [rsp + 0x30]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
mov rax, qword [rsp + 0x88]
sub rax, qword [r12]
jne 0x14008f395
mov rax, rsi
add rsp, 0x90
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14008f20c
mov qword [rsp + 0x40], rax
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x60], rbx
lea rbx, [rsp + 0x70]
mov rcx, rbx
jmp 0x14008f1a6
mov qword [rsp + 0x20], rax
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x60], rbx
lea rbx, [rsp + 0x70]
mov rcx, rbx
jmp 0x14008f10b
test r8, r8
je 0x14008f2e0
cmp r8, 1
je 0x14008f340
add r8, r8
mov rdx, rbx
call sym.memcpy
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
xor edx, edx
mov qword [rsp + 0x48], r8
mov word [rcx + r8*2], dx
mov rcx, qword [rsp + 0x60]
jmp 0x14008f1a6
test r8, r8
je 0x14008f320
cmp r8, 1
je 0x14008f358
add r8, r8
mov rdx, rbx
call sym.memcpy
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x20]
xor r9d, r9d
mov qword [rsp + 0x28], r8
mov word [rcx + r8*2], r9w
mov rcx, qword [rsp + 0x60]
jmp 0x14008f10b
movzx eax, word [rsp + 0x70]
mov word [rcx], ax
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
jmp 0x14008f2e0
movzx eax, word [rsp + 0x70]
mov word [rcx], ax
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x20]
jmp 0x14008f320
call dbg.__stack_chk_fail
endbr64
mov rcx, rax
call sym.__cxa_begin_catch
call sym.std::_V2::system_category__
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi], eax
mov qword [rsi + 8], rbx
call sym.__cxa_end_catch
jmp 0x14008f230