Function at 0x140008c90
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.140009040
mov ebx, eax
test eax, eax
jne 0x140008d10
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.14001cdf4
test eax, eax
je 0x140008d28
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 0x140008eac
call fcn.14001c700
mov r9d, dword [rax]
lea rdx, str.rename_file:_failed_to_read_file_status_info:__S__err:__d
mov r8, rdi
call fcn.140013970
mov ebx, 6
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140027fe0
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 0x140008da2
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 0x140008d8e
test bpl, bpl
je 0x140008d8e
cmp eax, ecx
jg 0x140008f2e
call fcn.14001c700
mov r9d, dword [rax]
lea rdx, str.rename_file:_path_present__but_not_a_file:__S__err:__d
mov r8, rdi
call fcn.140013970
mov ebx, 0x30
jmp 0x140008d10
cmp eax, ecx
jg 0x140008f6f
lea rdx, str.rename_file:_proceeding_to_rename_the_directory
call fcn.140013970
xor ebx, ebx
mov rcx, rsi
xor edx, edx
call fcn.140020324
test eax, eax
je 0x140008e11
mov rcx, rdi
mov rdx, rsi
call fcn.140020f2c
test eax, eax
je 0x140008d10
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 0x140008eed
call fcn.14001c700
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.140013970
mov ebx, 7
jmp 0x140008d10
mov rcx, rsi
mov edx, 0x180
call fcn.140020600
mov rcx, rsi
call fcn.140020f04
test eax, eax
je 0x140008db2
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 0x140008fb0
call fcn.14001c700
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.140013970
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 0x140008ff1
lea rdx, str.rename_file:_destination_file_exists_and_could_not_be_removed:__S
mov r8, rsi
call fcn.140013970
mov ebx, 0x3e
jmp 0x140008d10
lea rcx, [0x14004fe88]
call fcn.140015430
cmp dword [0x14004fe88], 0xffffffff
jne 0x140008cf4
mov qword [0x14004fc78], 0
lea rcx, [0x1400086f0]
call fcn.1400155c8
lea rcx, [0x14004fe88]
call fcn.140015498
jmp 0x140008cf4
lea rcx, [0x14004fe88]
call fcn.140015430
cmp dword [0x14004fe88], 0xffffffff
jne 0x140008dea
mov qword [0x14004fc78], 0
lea rcx, [0x1400086f0]
call fcn.1400155c8
lea rcx, [0x14004fe88]
call fcn.140015498
jmp 0x140008dea
lea rcx, [0x14004fe88]
call fcn.140015430
cmp dword [0x14004fe88], 0xffffffff
jne 0x140008d70
mov qword [0x14004fc78], 0
lea rcx, [0x1400086f0]
call fcn.1400155c8
lea rcx, [0x14004fe88]
call fcn.140015498
jmp 0x140008d70
lea rcx, [0x14004fe88]
call fcn.140015430
cmp dword [0x14004fe88], 0xffffffff
jne 0x140008d96
mov qword [0x14004fc78], 0
lea rcx, [0x1400086f0]
call fcn.1400155c8
lea rcx, [0x14004fe88]
call fcn.140015498
jmp 0x140008d96
lea rcx, [0x14004fe88]
call fcn.140015430
cmp dword [0x14004fe88], 0xffffffff
jne 0x140008e51
mov qword [0x14004fc78], 0
lea rcx, [0x1400086f0]
call fcn.1400155c8
lea rcx, [0x14004fe88]
call fcn.140015498
jmp 0x140008e51
lea rcx, [0x14004fe88]
call fcn.140015430
cmp dword [0x14004fe88], 0xffffffff
jne 0x140008e93
mov qword [0x14004fc78], 0
lea rcx, [0x1400086f0]
call fcn.1400155c8
lea rcx, [0x14004fe88]
call fcn.140015498
jmp 0x140008e93