Function at 0x140004120
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.1400044d0
mov ebx, eax
test eax, eax
jne 0x1400041a0
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.14001cfa4
test eax, eax
je 0x1400041b8
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 0x14000433c
call fcn.14001c8b0
mov r9d, dword [rax]
lea rdx, str.rename_file:_failed_to_read_file_status_info:__S__err:__d
mov r8, rdi
call fcn.1400137e0
mov ebx, 6
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140027f60
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 0x140004232
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 0x14000421e
test bpl, bpl
je 0x14000421e
cmp eax, ecx
jg 0x1400043be
call fcn.14001c8b0
mov r9d, dword [rax]
lea rdx, str.rename_file:_path_present__but_not_a_file:__S__err:__d
mov r8, rdi
call fcn.1400137e0
mov ebx, 0x30
jmp 0x1400041a0
cmp eax, ecx
jg 0x1400043ff
lea rdx, str.rename_file:_proceeding_to_rename_the_directory
call fcn.1400137e0
xor ebx, ebx
mov rcx, rsi
xor edx, edx
call fcn.1400204d4
test eax, eax
je 0x1400042a1
mov rcx, rdi
mov rdx, rsi
call fcn.140021074
test eax, eax
je 0x1400041a0
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 0x14000437d
call fcn.14001c8b0
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.1400137e0
mov ebx, 7
jmp 0x1400041a0
mov rcx, rsi
mov edx, 0x180
call fcn.1400207b0
mov rcx, rsi
call fcn.14002104c
test eax, eax
je 0x140004242
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 0x140004440
call fcn.14001c8b0
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.1400137e0
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 0x140004481
lea rdx, str.rename_file:_destination_file_exists_and_could_not_be_removed:__S
mov r8, rsi
call fcn.1400137e0
mov ebx, 0x3e
jmp 0x1400041a0
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x140004184
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x140004184
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x14000427a
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x14000427a
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x140004200
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x140004200
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x140004226
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x140004226
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x1400042e1
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x1400042e1
lea rcx, [0x14004fe88]
call fcn.140015660
cmp dword [0x14004fe88], 0xffffffff
jne 0x140004323
mov qword [0x14004fc78], 0
lea rcx, [0x140003af0]
call fcn.1400157f8
lea rcx, [0x14004fe88]
call fcn.1400156c8
jmp 0x140004323