Function at 0x1400289d0
Capabilities:
Move file

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x298
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x210], 0xfffffffffffffffe
lea rsi, [rbp - 0x60]
xor ecx, ecx
mov rdx, rsi
mov r8d, 0x208
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1f0], xmm0
movaps xmmword [rbp + 0x200], xmm0
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
mov rsi, rax
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
jae 0x140028cd7
cmp rsi, 7
ja 0x140028a65
mov qword [rbp + 0x200], rsi
mov qword [rbp + 0x208], 7
add rsi, rsi
lea rcx, [rbp + 0x1f0]
lea rdx, [rbp - 0x60]
mov r8, rsi
call fcn.14002b030
jmp 0x140028afc
mov rax, rsi
or rax, 7
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x140028ce2
cmp rax, 0xb
mov ebx, 0xa
cmovae rbx, rax
lea rcx, [rbx + rbx]
cmp rbx, 0x7ff
jb 0x140028ac3
movabs rax, 0x7fffffffffffffec
cmp rbx, rax
jae 0x140028ce2
add rcx, 0x29
call fcn.140029c54
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140028acf
add rcx, 2
call fcn.140029c54
mov rdi, rax
mov qword [rbp + 0x1f0], rdi
mov qword [rbp + 0x200], rsi
mov qword [rbp + 0x208], rbx
mov r8, rsi
add r8, rsi
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.14002b030
mov word [rdi + rsi*2], 0
mov qword [rbp + 0x1d8], 0
mov ecx, 0x20
call fcn.140029c54
mov qword [rbp + 0x1d0], rax
movaps xmm0, xmmword [0x140031360]
movups xmmword [rbp + 0x1e0], xmm0
movups xmm0, xmmword [str._old.exe]
movups xmmword [rax], xmm0
mov word [rax + 0x10], 0
movaps xmm0, xmmword [0x140031370]
movaps xmmword [rbp + 0x1c0], xmm0
movaps xmm0, xmmword [str..exe]
movaps xmmword [rbp + 0x1b0], xmm0
lea rsi, [rbp - 0x60]
lea rdi, [rbp + 0x1f0]
lea r8, [rbp + 0x1b0]
lea r9, [rbp + 0x1d0]
mov rcx, rsi
mov rdx, rdi
call fcn.140029490
mov rax, qword [rbp + 0x1c8]
cmp rax, 8
jb 0x140028bc2
mov rcx, qword [rbp + 0x1b0]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140028bbd
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x140028cdc
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, rbx
call fcn.140029c98
mov rax, qword [rbp + 0x1e8]
cmp rax, 8
jb 0x140028c0e
mov rcx, qword [rbp + 0x1d0]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140028c09
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x140028cdc
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, rbx
call fcn.140029c98
cmp qword [rbp - 0x48], 8
jb 0x140028c19
mov rsi, qword [rbp - 0x60]
cmp qword [rbp + 0x208], 8
jb 0x140028c2a
mov rdi, qword [rbp + 0x1f0]
mov rcx, rdi
mov rdx, rsi
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wrename]
test eax, eax
je 0x140028c40
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov rax, qword [rbp - 0x48]
cmp rax, 8
jb 0x140028c82
mov rcx, qword [rbp - 0x60]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140028c7d
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x140028cdc
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, rbx
call fcn.140029c98
mov rax, qword [rbp + 0x208]
cmp rax, 8
jb 0x140028cca
mov rcx, qword [rbp + 0x1f0]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140028cc5
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x140028cdc
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, rbx
call fcn.140029c98
nop
add rsp, 0x298
pop rbx
pop rdi
pop rsi
pop rbp
ret
call fcn.140001590
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.1400015b0
int3