Function at 0x1400040a0
Capabilities:
Move file

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov ebp, r8d
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x14004c030]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rcx, rdx
call fcn.140004450
mov ebx, eax
test eax, eax
jne 0x140004120
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.14001cee4
test eax, eax
je 0x140004138
mov eax, dword [0x14004fe88]
mov ecx, dword [0x14004cde8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400042bc
call fcn.14001c7f0
mov r9d, dword [rax]
lea rdx, str.rename_file:_failed_to_read_file_status_info:__S__err:__d
mov r8, rdi
call fcn.140013720
mov ebx, 6
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140027ea0
mov eax, ebx
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
ret
movzx eax, word [rsp + 0x36]
and eax, 0xf000
cmp eax, 0x8000
je 0x1400041b2
movzx edx, ax
mov eax, dword [0x14004fe88]
mov ecx, dword [0x14004cde8]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
mov ecx, dword [rcx + 4]
cmp edx, 0x4000
je 0x14000419e
test bpl, bpl
je 0x14000419e
cmp eax, ecx
jg 0x14000433e
call fcn.14001c7f0
mov r9d, dword [rax]
lea rdx, str.rename_file:_path_present__but_not_a_file:__S__err:__d
mov r8, rdi
call fcn.140013720
mov ebx, 0x30
jmp 0x140004120
cmp eax, ecx
jg 0x14000437f
lea rdx, str.rename_file:_proceeding_to_rename_the_directory
call fcn.140013720
xor ebx, ebx
mov rcx, rsi
xor edx, edx
call fcn.140020414
test eax, eax
je 0x140004221
mov rcx, rdi
mov rdx, rsi
call fcn.140020fb4
test eax, eax
je 0x140004120
mov eax, dword [0x14004fe88]
mov ecx, dword [0x14004cde8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400042fd
call fcn.14001c7f0
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
lea rdx, str.rename_file:_failed_to_rename_file___src:__S__dst:_S__err:__d
mov r8, rdi
mov r9, rsi
call fcn.140013720
mov ebx, 7
jmp 0x140004120
mov rcx, rsi
mov edx, 0x180
call fcn.1400206f0
mov rcx, rsi
call fcn.140020f8c
test eax, eax
je 0x1400041c2
mov ebp, eax
mov eax, dword [0x14004fe88]
mov ecx, dword [0x14004cde8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400043c0
call fcn.14001c7f0
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
lea rdx, str.ensure_remove:_failed_to_remove_file:__S__rv:__d__err:__d
mov r8, rsi
mov r9d, ebp
call fcn.140013720
mov eax, dword [0x14004fe88]
mov ecx, dword [0x14004cde8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140004401
lea rdx, str.rename_file:_destination_file_exists_and_could_not_be_removed:__S
mov r8, rsi
call fcn.140013720
mov ebx, 0x3e
jmp 0x140004120
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x140004104
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x140004104
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x1400041fa
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x1400041fa
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x140004180
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x140004180
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x1400041a6
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x1400041a6
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x140004261
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x140004261
lea rcx, [0x14004fe88]
call fcn.1400155a0
cmp dword [0x14004fe88], 0xffffffff
jne 0x1400042a3
mov qword [0x14004fc78], 0
lea rcx, [0x140003a70]
call fcn.140015738
lea rcx, [0x14004fe88]
call fcn.140015608
jmp 0x1400042a3