Function at 0x1006097a0
Capabilities:
Get file attributes

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
mov rax, qword [sym.vim.exe_p_viminfofile]
lea rdi, [0x1006c9742]
mov rsi, qword [rax]
mov r8, rcx
mov ecx, 5
mov dword [rbp + 0x198], edx
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x1006097f9
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, r8
call fcn.100605930
mov qword [rbp - 0x48], rax
test rax, rax
je 0x1006097e5
lea rdx, [0x1006c96fc]
mov rcx, rax
call sub.msys_2.0.dll_fopen
mov qword [rbp - 0x50], rax
test rax, rax
je 0x100609a78
mov rcx, qword [rbp - 0x50]
call sub.msys_2.0.dll_fileno
lea rdx, [rbp + 0x40]
mov ecx, eax
call sub.msys_2.0.dll_fstat
test eax, eax
js 0x1006699ad
mov eax, dword [rbp + 0x50]
and eax, 0xf000
cmp eax, 0x4000
je 0x1006699ad
call sub.msys_2.0.dll_getuid
test eax, eax
jne 0x100609a58
xor edi, edi
lea rsi, [rbp - 0x40]
nop dword [rax + rax]
mov rdx, qword [rbp - 0x48]
xor r9d, r9d
lea r8, str..tmp
mov ecx, edi
call sym.vim.exe_buf_modname
mov r12, rax
test rax, rax
je 0x100669956
mov rcx, rax
call sub.msys_2.0.dll_strlen
mov rcx, r12
lea rbx, [r12 + rax - 5]
call sym.vim.exe_gettail
cmp rbx, rax
jb 0x100609a48
mov r15d, 0x7a
jmp 0x1006098e1
test edi, edi
jne 0x1006098d0
mov eax, dword [rbp + 0x40]
cmp dword [rbp - 0x40], eax
je 0x100609a28
cmp r15d, 0x60
je 0x100609bc6
mov byte [rbx], r15b
sub r15d, 1
mov rdx, rsi
mov rcx, r12
call sub.msys_2.0.dll_stat
test eax, eax
je 0x1006098c0
xor ecx, ecx
call sub.msys_2.0.dll_umask
movzx r8d, byte [rbp + 0x50]
mov rcx, r12
mov edx, 0x100a01
mov r13d, eax
or r8d, 0x180
call sub.msys_2.0.dll_open
mov ecx, r13d
mov r14d, eax
call sub.msys_2.0.dll_umask
test r14d, r14d
js 0x100609a10
lea rdx, [0x1006c9747]
mov ecx, r14d
call sub.msys_2.0.dll_fdopen
test rax, rax
je 0x1006098d0
lea rdx, [rbp + 0xc0]
mov rcx, r12
mov qword [rbp - 0x58], rax
call sub.msys_2.0.dll_stat
mov r10, qword [rbp - 0x58]
test eax, eax
js 0x100609b82
mov r13d, dword [rbp + 0x58]
cmp r13d, dword [rbp + 0xd8]
jne 0x100609ab8
mov ebx, dword [rbp + 0x5c]
cmp ebx, dword [rbp + 0xdc]
jne 0x100609ae6
mov rax, qword [sym.vim.exe_p_verbose]
cmp qword [rax], 0
jg 0x100609b97
cmp dword [rbp + 0x198], 1
mov rcx, qword [rbp - 0x50]
mov rdx, r10
mov qword [rbp - 0x58], r10
mov dword [0x100710908], 0
sbb r8d, r8d
and r8d, 3
call fcn.100606280
mov r10, qword [rbp - 0x58]
mov rcx, r10
call fcn.10065e4f0
cmp eax, 0xffffffff
jne 0x1006099cb
add dword [0x100710908], 1
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x1006099f6
mov rcx, rax
call fcn.10065e4f0
mov eax, dword [0x100710908]
test eax, eax
je 0x100609b62
test eax, eax
jle 0x1006099f6
mov rcx, r12
call sub.msys_2.0.dll_unlink
mov rcx, qword [rbp - 0x48]
call sym.vim.exe_vim_free
mov rcx, r12
call sym.vim.exe_vim_free
jmp 0x1006097e5
call sub.msys_2.0.dll___errno
cmp dword [rax], 0x11
je 0x1006098d0
jmp 0x100669994
mov rax, qword [rbp + 0x48]
cmp qword [rbp - 0x38], rax
jne 0x1006098d0
mov rcx, r12
mov edi, 1
call sym.vim.exe_vim_free
jmp 0x100609870
mov rcx, r12
call sym.vim.exe_gettail
mov rbx, rax
jmp 0x1006098af
mov ebx, dword [rbp + 0x58]
call sub.msys_2.0.dll_getuid
cmp ebx, eax
jne 0x100609a95
test byte [rbp + 0x50], 0x80
jne 0x100609862
jmp 0x1006699ad
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp - 0x40]
call sub.msys_2.0.dll_stat
test eax, eax
jne 0x100609b24
xor r12d, r12d
jmp 0x1006099f6
mov ebx, dword [rbp + 0x5c]
call sub.msys_2.0.dll_getgid
cmp ebx, eax
je 0x100609b88
test byte [rbp + 0x50], 2
jne 0x100609862
jmp 0x1006699ad
mov rcx, r10
mov qword [rbp - 0x58], r10
call sub.msys_2.0.dll_fileno
mov edx, r13d
mov r8d, 0xffffffff
mov ecx, eax
call sub.msys_2.0.dll_fchown
mov rdx, qword [sym.vim.exe_vim_ignored]
mov r10, qword [rbp - 0x58]
mov dword [rdx], eax
jmp 0x10060996b
mov rcx, r10
mov qword [rbp - 0x58], r10
call sub.msys_2.0.dll_fileno
mov r8d, ebx
mov edx, 0xffffffff
mov ecx, eax
call sub.msys_2.0.dll_fchown
mov r10, qword [rbp - 0x58]
cmp eax, 0xffffffff
jne 0x10060997a
mov edx, 0x180
mov rcx, r12
call sym.vim.exe_mch_setperm
mov r10, qword [rbp - 0x58]
jmp 0x10060997a
mov rcx, qword [rbp - 0x48]
mov r8d, 0x180
mov edx, 0x100a01
call sub.msys_2.0.dll_open
mov ecx, eax
test eax, eax
js 0x100609a8d
lea rdx, [0x1006c9747]
call sub.msys_2.0.dll_fdopen
mov r10, rax
test rax, rax
je 0x100669a0c
xor r12d, r12d
jmp 0x10060997a
mov rdx, qword [rbp - 0x48]
mov rcx, r12
call sym.vim.exe_vim_rename
cmp eax, 0xffffffff
je 0x1006699e2
mov eax, dword [0x100710908]
jmp 0x1006099ea
mov qword [rbp - 0x58], r10
jmp 0x100609b0e
test byte [rbp + 0x50], 0x10
jne 0x100609862
jmp 0x1006699ad
mov qword [rbp - 0x58], r10
call sym.vim.exe_verbose_enter
lea rcx, str.Writing_viminfo_file___s_
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp - 0x48]
mov rcx, rax
call sym.vim.exe_smsg
call sym.vim.exe_verbose_leave
mov r10, qword [rbp - 0x58]
jmp 0x10060998b
jmp 0x10066997d
lea rcx, str.E138:_Cant_write_viminfo_file__s_
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp - 0x48]
mov rcx, rax
call sym.vim.exe_semsg
mov rcx, qword [rbp - 0x50]
call fcn.10065e4f0
nop
jmp 0x1006099f6
lea rcx, str.E929:_Too_many_viminfo_temp_files__like__s_
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r12
mov rcx, rax
call sym.vim.exe_semsg
lea rcx, str.E138:_Cant_write_viminfo_file__s_
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, r12
mov rcx, rax
call sym.vim.exe_semsg
jmp 0x10066996e
mov rbx, qword [sym.vim.exe_msg_didany]
lea rcx, str.E137:_Viminfo_file_is_not_writable:__s
xor r12d, r12d
mov esi, dword [rbx]
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp - 0x48]
mov rcx, rax
call sym.vim.exe_semsg
mov rcx, qword [rbp - 0x50]
mov dword [rbx], esi
call fcn.10065e4f0
nop
jmp 0x1006099f6
lea rcx, str.E886:_Cant_rename_viminfo_file_to__s_
add dword [0x100710908], 1
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp - 0x48]
mov rcx, rax
call sym.vim.exe_semsg
mov eax, dword [0x100710908]
jmp 0x1006099ea
lea rcx, str.E138:_Cant_write_viminfo_file__s_
xor r12d, r12d
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, qword [rbp - 0x48]
mov rcx, rax
call sym.vim.exe_semsg
nop
jmp 0x1006099f6