Function at 0x100490390
Capabilities:
Get file attributes
Move file

Disassembly:
push r15
mov eax, 0x10c8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.100672980
sub rsp, rax
mov r15, rcx
mov rsi, rdx
call sym.vim.exe_vim_fnamecmp
test eax, eax
jne 0x100490470
mov rax, qword [sym.vim.exe_p_fic]
mov eax, dword [rax]
test eax, eax
jne 0x1004903e8
xor edi, edi
mov eax, edi
add rsp, 0x10c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rsi
mov edi, 1
call sym.vim.exe_gettail
mov rcx, r15
mov r12, rax
call sym.vim.exe_gettail
mov rdx, r12
mov rcx, rax
call sub.msys_2.0.dll_strcmp
test eax, eax
je 0x1004903c9
lea rbp, [rsp + 0x30]
mov rcx, r15
mov rdx, rbp
call sub.msys_2.0.dll_stat
test eax, eax
js 0x100490463
lea r12, [rsp + 0xb0]
mov rcx, rsi
mov rdx, r12
call sub.msys_2.0.dll_stat
test eax, eax
js 0x10049044b
mov eax, dword [rsp + 0xb0]
cmp dword [rsp + 0x30], eax
je 0x100490670
test edi, edi
je 0x100490510
mov rcx, r15
call sub.msys_2.0.dll_strlen
cmp rax, 0xffa
jbe 0x100490478
mov edi, 0xffffffff
jmp 0x1004903cb
xor edi, edi
jmp 0x10049040f
mov r9d, 0x1001
lea r8, [rax + 1]
mov rdx, r15
mov rcx, r12
call fcn.100672a10
mov ebx, 0x7b
lea rdi, [0x1006c07d6]
jmp 0x1004904ab
add ebx, 1
cmp ebx, 0x1869f
je 0x100490463
mov rcx, r12
call sym.vim.exe_gettail
mov rdx, rdi
mov r8d, ebx
mov rcx, rax
call sub.msys_2.0.dll_sprintf
mov rdx, rbp
mov rcx, r12
call sub.msys_2.0.dll_stat
test eax, eax
jns 0x1004904a0
mov rdx, r12
mov rcx, r15
call sub.msys_2.0.dll_rename
test eax, eax
jne 0x100490463
mov rdx, rsi
mov rcx, r12
call sub.msys_2.0.dll_rename
mov edi, eax
test eax, eax
je 0x1004903cb
mov rdx, r15
mov rcx, r12
mov edi, 0xffffffff
call sub.msys_2.0.dll_rename
jmp 0x1004903cb
mov rcx, rsi
call sub.msys_2.0.dll_unlink
mov rdx, rsi
mov rcx, r15
call sub.msys_2.0.dll_rename
test eax, eax
je 0x1004903c9
mov rcx, r15
call sym.vim.exe_mch_getperm
mov rcx, r15
mov rbx, rax
call sym.vim.exe_mch_get_acl
xor r8d, r8d
mov edx, 0x10000
mov rcx, r15
mov qword [rsp + 0x20], rax
call sub.msys_2.0.dll_open
mov r13d, eax
cmp eax, 0xffffffff
je 0x100490727
mov r8d, ebx
mov edx, 0x110a01
mov rcx, rsi
call sub.msys_2.0.dll_open
mov r14d, eax
cmp eax, 0xffffffff
je 0x10049071f
mov ecx, 0x2000
call sym.vim.exe_alloc
mov r12, rax
test rax, rax
jne 0x1004905a2
jmp 0x100490717
call sub.msys_2.0.dll___errno
cmp dword [rax], 4
jne 0x1004905bb
mov r8d, 0x2000
mov rdx, r12
mov ecx, r13d
call sub.msys_2.0.dll_read
mov rbx, rax
test rax, rax
js 0x100490598
test ebx, ebx
jle 0x100490688
movsxd rbx, ebx
xor ebp, ebp
jmp 0x1004905dc
add rbp, rax
cmp rbp, rbx
jge 0x100490660
mov r8, rbx
lea rdx, [r12 + rbp]
mov ecx, r14d
sub r8, rbp
call sub.msys_2.0.dll_write
test rax, rax
jns 0x1004905d0
call sub.msys_2.0.dll___errno
cmp dword [rax], 4
je 0x1004905d3
mov rcx, qword [sym.vim.exe_e_error_writing_to_str]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, r12
mov rbx, rax
call sym.vim.exe_vim_free
mov ecx, r13d
call sub.msys_2.0.dll_close
mov ecx, r14d
call sub.msys_2.0.dll_close
test eax, eax
js 0x100490703
mov r14, qword [rsp + 0x20]
mov rcx, rsi
mov rdx, r14
call sym.vim.exe_mch_set_acl
mov rcx, r14
call sym.vim.exe_mch_free_acl
test rbx, rbx
jne 0x100676600
mov rcx, r15
call sub.msys_2.0.dll_unlink
jmp 0x1004903cb
je 0x1004905a2
jmp 0x1004905fd
mov rax, qword [rsp + 0xb8]
cmp qword [rsp + 0x38], rax
jne 0x10049044b
jmp 0x100490453
mov rcx, r12
mov dword [rsp + 0x2c], ebx
call sym.vim.exe_vim_free
mov ecx, r13d
call sub.msys_2.0.dll_close
mov ecx, r14d
call sub.msys_2.0.dll_close
mov edx, dword [rsp + 0x2c]
test eax, eax
js 0x1004906cd
test edx, edx
jne 0x1004906ec
mov rbx, qword [rsp + 0x20]
mov rcx, rsi
mov rdx, rbx
call sym.vim.exe_mch_set_acl
mov rcx, rbx
call sym.vim.exe_mch_free_acl
jmp 0x10049064d
mov rcx, qword [sym.vim.exe_e_error_closing_str]
mov dword [rsp + 0x2c], edx
call sub.msys_intl_8.dll_libintl_gettext
mov edx, dword [rsp + 0x2c]
mov rbx, rax
test edx, edx
je 0x10049062c
mov rcx, qword [sym.vim.exe_e_error_reading_str]
mov rsi, r15
call sub.msys_intl_8.dll_libintl_gettext
mov rbx, rax
jmp 0x10049062c
mov rcx, qword [sym.vim.exe_e_error_closing_str]
call sub.msys_intl_8.dll_libintl_gettext
mov rbx, rax
jmp 0x10049062c
mov ecx, r14d
call sub.msys_2.0.dll_close
mov ecx, r13d
call sub.msys_2.0.dll_close
mov rcx, qword [rsp + 0x20]
call sym.vim.exe_mch_free_acl
jmp 0x100490463
mov rdx, rsi
mov rcx, rbx
or edi, 0xffffffff
call sym.vim.exe_semsg
nop
jmp 0x1004903cb