Function at 0x140004080
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 [0x140048030]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rcx, rdx
call fcn.140004430
mov ebx, eax
test eax, eax
jne 0x140004100
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.14001af34
test eax, eax
je 0x140004118
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000429b
call fcn.14001a840
mov r9d, dword [rax]
lea rdx, str.rename_file:_failed_to_read_file_status_info:__S__err:__d
mov r8, rdi
call fcn.1400128e0
mov ebx, 6
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140025ef0
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 0x140004191
mov ecx, dword [0x14004be88]
mov edx, dword [0x140048de8]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov edx, dword [rdx + 4]
test bpl, bpl
je 0x14000417d
movzx eax, ax
cmp eax, 0x4000
je 0x14000417d
cmp ecx, edx
jg 0x14000431d
call fcn.14001a840
mov r9d, dword [rax]
lea rdx, str.rename_file:_path_present__but_not_a_file:__S__err:__d
mov r8, rdi
call fcn.1400128e0
mov ebx, 0x30
jmp 0x140004100
cmp ecx, edx
jg 0x14000435e
lea rdx, str.rename_file:_proceeding_to_rename_the_directory
call fcn.1400128e0
xor ebx, ebx
mov rcx, rsi
xor edx, edx
call fcn.14001e464
test eax, eax
je 0x140004200
mov rcx, rdi
mov rdx, rsi
call fcn.14001f004
test eax, eax
je 0x140004100
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400042dc
call fcn.14001a840
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.1400128e0
mov ebx, 7
jmp 0x140004100
mov rcx, rsi
mov edx, 0x180
call fcn.14001e740
mov rcx, rsi
call fcn.14001efdc
test eax, eax
je 0x1400041a1
mov ebp, eax
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000439f
call fcn.14001a840
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.1400128e0
mov eax, dword [0x14004be88]
mov ecx, dword [0x140048de8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400043e0
lea rdx, str.rename_file:_destination_file_exists_and_could_not_be_removed:__S
mov r8, rsi
call fcn.1400128e0
mov ebx, 0x3e
jmp 0x140004100
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x1400040e4
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x1400040e4
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x1400041d9
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x1400041d9
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x14000415f
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x14000415f
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140004185
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140004185
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140004240
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140004240
lea rcx, [0x14004be88]
call fcn.1400135f0
cmp dword [0x14004be88], 0xffffffff
jne 0x140004282
mov qword [0x14004bc78], 0
lea rcx, [0x140003a50]
call fcn.140013788
lea rcx, [0x14004be88]
call fcn.140013658
jmp 0x140004282