Function at 0x100495b90
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
mov rsi, qword [rcx + 0x150]
mov r14d, dword [rcx + 0x158]
lea r13, [rsp + 0x50]
mov rbx, rcx
mov rdx, rcx
mov rcx, r13
call sym.vim.exe_set_bufref
cmp qword [rbx + 0x88], 0
je 0x100495bef
cmp qword [rbx + 8], 0
je 0x100495bef
mov rcx, rbx
call sym.vim.exe_bt_normal
test eax, eax
je 0x100495bef
mov eax, dword [rbx + 0x108]
or eax, dword [0x1007218e0]
je 0x100495c10
xor r12d, r12d
mov eax, r12d
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call sym.vim.exe_isNetbeansBuffer
mov r12d, eax
test eax, eax
jne 0x100495bef
cmp qword [rbx + 0x2470], 0
jne 0x100495bef
mov edi, dword [rbx + 0x7c]
and edi, 8
jne 0x100495c3f
cmp qword [rbx + 0x130], 0
jne 0x100495dd7
mov eax, dword [rbx + 0x7c]
and eax, 0x30
cmp eax, 0x10
je 0x100495c54
mov rcx, r13
call sym.vim.exe_bufref_valid
jmp 0x100495bf2
mov rcx, qword [rbx + 0x88]
call sym.vim.exe_vim_fexists
test eax, eax
je 0x100495c4a
lea rcx, str.W13:_Warning:_File___s__has_been_created_after_editing_started
call sub.msys_intl_8.dll_libintl_gettext
or dword [rbx + 0x7c], 0x20
mov r15, rax
test rax, rax
je 0x100495e5a
mov rdx, qword [rbx + 0x98]
mov rcx, rbx
call sym.vim.exe_home_replace_save
mov rbp, rax
test rax, rax
je 0x100495da0
mov rcx, rax
call sub.msys_2.0.dll_strlen
mov rcx, r15
mov rsi, rax
call sub.msys_2.0.dll_strlen
lea rcx, [rsi + rax + 2]
call sym.vim.exe_alloc
mov r8, rbp
mov rdx, r15
mov rsi, rax
mov rcx, rax
call sub.msys_2.0.dll_sprintf
mov r8d, 0xffffffff
mov rdx, rsi
mov ecx, 4
call sym.vim.exe_set_vim_var_string
lea rcx, str.OK_nLoad_File_nLoad_File_and_Options
call sub.msys_intl_8.dll_libintl_gettext
lea rcx, str.Warning
mov rdi, rax
call sub.msys_intl_8.dll_libintl_gettext
mov r9, rdi
mov r8, rsi
mov ecx, 2
mov dword [rsp + 0x30], 1
mov rdx, rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 1
call sym.vim.exe_do_dialog
cmp eax, 2
je 0x100495f32
cmp eax, 3
jne 0x100495ee0
mov rcx, rbp
mov r12d, 1
call sym.vim.exe_vim_free
mov rcx, rsi
call sym.vim.exe_vim_free
mov r8d, r12d
mov edx, r14d
mov rcx, rbx
call sym.vim.exe_buf_reload
mov eax, dword [rbx + 0x1dd8]
test eax, eax
je 0x100495da0
cmp qword [rbx + 0x88], 0
je 0x100495da0
mov rsi, qword [sym.vim.exe_curbuf]
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov rbp, qword [rsi]
mov qword [rsi], rbx
call sym.vim.exe_u_compute_hash
mov r9, rdi
mov r8, rbx
xor edx, edx
xor ecx, ecx
call sym.vim.exe_u_write_undo
mov qword [rsi], rbp
nop dword [rax]
mov r12d, 1
mov rcx, r13
call sym.vim.exe_bufref_valid
test eax, eax
je 0x100495bf2
mov rdx, qword [rbx + 0x98]
mov qword [rsp + 0x20], rbx
xor r9d, r9d
mov ecx, 0x2c
mov r8, rdx
call sym.vim.exe_apply_autocmds
jmp 0x100495bf2
mov rcx, qword [rbx + 0x88]
lea rdx, [rsp + 0x80]
call sub.msys_2.0.dll_stat
mov rbp, qword [rbx + 0x130]
mov r15d, eax
test eax, eax
js 0x100495f20
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xa8]
mov edi, dword [rsp + 0x90]
mov rcx, qword [rsp + 0xc0]
cmp qword [rbx + 0x138], rdx
je 0x100496024
mov qword [rbx + 0x130], rcx
mov qword [rbx + 0x138], rdx
mov dword [rbx + 0x158], edi
mov rcx, qword [rbx + 0x98]
mov qword [rbx + 0x150], rax
call sym.vim.exe_mch_isdir
mov edi, eax
test eax, eax
je 0x100495efb
mov rcx, r13
mov r12d, 1
call sym.vim.exe_bufref_valid
test eax, eax
jne 0x100495db6
jmp 0x100495bf2
lea rcx, [rsi + rax + 2]
call sym.vim.exe_alloc
mov r8, rbp
mov rdx, r15
mov rsi, rax
mov rcx, rax
call sub.msys_2.0.dll_sprintf
mov r8d, 0xffffffff
mov rdx, rsi
mov ecx, 4
call sym.vim.exe_set_vim_var_string
mov rax, qword [sym.vim.exe_State]
mov eax, dword [rax]
cmp eax, 0x1001
jg 0x1004961ca
and eax, 8
or eax, dword [0x1007218f0]
jne 0x1004961ca
mov rax, qword [sym.vim.exe_autocmd_busy]
cmp dword [rax], 0
je 0x1004961dd
mov dword [0x1007218f0], 1
mov r12d, 1
mov rcx, rbp
call sym.vim.exe_vim_free
mov rcx, rsi
call sym.vim.exe_vim_free
jmp 0x100495da6
mov ecx, dword [rbx + 0x1d80]
test ecx, ecx
js 0x100495f47
je 0x100495f54
mov rcx, rbx
call sym.vim.exe_bufIsChanged
test eax, eax
jne 0x100495f54
test r15d, r15d
js 0x100495f5d
xor r12d, r12d
jmp 0x100495d4b
mov qword [rbx + 0x130], 0xffffffffffffffff
xor eax, eax
jmp 0x100495e37
mov rcx, rbp
call sym.vim.exe_vim_free
mov rcx, rsi
call sym.vim.exe_vim_free
jmp 0x100495d4b
mov rax, qword [sym.vim.exe_p_ar]
mov edx, dword [rax]
test edx, edx
jne 0x100495f07
test r15d, r15d
jns 0x100496050
lea r15, str.deleted
mov r8d, 0xffffffff
mov rdx, r15
mov ecx, 0x25
mov dword [0x1007218e0], 1
call sym.vim.exe_set_vim_var_string
mov r8d, 0xffffffff
mov ecx, 0x26
lea rdx, [0x1006c0700]
call sym.vim.exe_set_vim_var_string
mov rsi, qword [sym.vim.exe_allbuf_lock]
xor r9d, r9d
mov rdx, qword [rbx + 0x98]
mov ecx, 0x2b
add dword [rsi], 1
mov r8, rdx
mov qword [rsp + 0x20], rbx
call sym.vim.exe_apply_autocmds
sub dword [rsi], 1
mov dword [0x1007218e0], 0
test eax, eax
jne 0x100496080
movzx eax, byte [r15]
cmp al, 0x64
je 0x1004960f3
cmp byte [r15 + 2], 0x6e
je 0x100496266
cmp byte [r15 + 1], 0x68
je 0x100496290
cmp al, 0x6d
je 0x1004962ba
mov rax, qword [rbx + 0x130]
mov r12d, 1
mov qword [rbx + 0x140], rax
mov rax, qword [rbx + 0x138]
mov qword [rbx + 0x148], rax
jmp 0x100495da6
cmp rbp, rcx
jne 0x100495e29
cmp qword [rbx + 0x150], rax
jne 0x100495e29
cmp dword [rbx + 0x158], edi
jne 0x100495e29
jmp 0x100495c3f
mov rcx, rbx
lea r15, str.conflict
call sym.vim.exe_bufIsChanged
test eax, eax
jne 0x100495f64
cmp qword [rbx + 0x150], rsi
je 0x1004962e4
lea r15, str.changed
jmp 0x100495f64
mov rcx, r13
call sym.vim.exe_bufref_valid
test eax, eax
je 0x100496242
mov ecx, 0x26
call sym.vim.exe_get_vim_var_str
lea rdx, str.reload
mov rcx, rax
mov rsi, rax
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x1004960ba
cmp byte [r15], 0x64
jne 0x100495f18
lea rdx, [0x1006c0a2d]
mov rcx, rsi
call sub.msys_2.0.dll_strcmp
test eax, eax
je 0x10049625b
lea rdx, [0x1006c0a32]
mov rcx, rsi
call sub.msys_2.0.dll_strcmp
test eax, eax
je 0x100495fd3
mov r12d, 2
jmp 0x100495bf2
add rbp, 1
je 0x100495da0
mov rcx, qword [sym.vim.exe_e_file_str_no_longer_available]
call sub.msys_intl_8.dll_libintl_gettext
mov r15, rax
lea rax, [0x1006c0700]
mov qword [rsp + 0x48], rax
test r15, r15
je 0x100495da0
mov rdx, qword [rbx + 0x98]
mov rcx, rbx
call sym.vim.exe_home_replace_save
mov rbp, rax
test rax, rax
je 0x100495da0
mov rcx, rax
call sub.msys_2.0.dll_strlen
mov rcx, r15
mov rsi, rax
call sub.msys_2.0.dll_strlen
test edi, edi
je 0x100495e75
mov rdi, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov rcx, rdi
call sub.msys_2.0.dll_strlen
mov rdx, qword [rsp + 0x40]
mov r8, rax
lea rax, [rsi + rdx + 2]
lea rcx, [rax + r8]
call sym.vim.exe_alloc
mov r8, rbp
mov rdx, r15
mov rsi, rax
mov rcx, rax
call sub.msys_2.0.dll_sprintf
mov r8d, 0xffffffff
mov rdx, rsi
mov ecx, 4
call sym.vim.exe_set_vim_var_string
cmp byte [rdi], 0
je 0x100495cdc
mov rcx, rsi
call sub.msys_2.0.dll_strlen
mov rdx, rdi
mov byte [rsi + rax], 0xa
lea rcx, [rsi + rax + 1]
call sub.msys_2.0.dll_strcpy
jmp 0x100495cdc
mov rcx, rsi
mov r12d, 2
call sym.vim.exe_emsg
jmp 0x100495ee6
call sym.vim.exe_msg_start
mov rax, qword [sym.vim.exe_highlight_attr]
mov rcx, rsi
mov edx, dword [rax + 0x10]
add edx, 0x1000
call sym.vim.exe_msg_puts_attr
call sym.vim.exe_msg_clr_eos
call sym.vim.exe_msg_end
mov rax, qword [sym.vim.exe_emsg_silent]
mov rdx, qword [sym.vim.exe_in_assert_fails]
mov eax, dword [rax]
or eax, dword [rdx]
jne 0x100495ed6
call sym.vim.exe_out_flush
mov edx, 1
mov ecx, 0x3ec
call sym.vim.exe_ui_delay
mov rax, qword [sym.vim.exe_redraw_cmdline]
mov dword [rax], 0
jmp 0x100495ed6
mov rcx, qword [sym.vim.exe_e_filechangedshell_autocommand_deleted_buffer]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x100496090
mov r12d, 1
jmp 0x100495d4b
lea rcx, str.W12:_Warning:_File___s__has_changed_and_the_buffer_was_changed_in_Vim_as_well
mov edi, 1
call sub.msys_intl_8.dll_libintl_gettext
lea rcx, str.See__:help_W12__for_more_info.
mov r15, rax
call sub.msys_intl_8.dll_libintl_gettext
mov qword [rsp + 0x48], rax
jmp 0x100496118
lea rcx, str.W11:_Warning:_File___s__has_changed_since_editing_started
mov edi, 1
call sub.msys_intl_8.dll_libintl_gettext
lea rcx, str.See__:help_W11__for_more_info.
mov r15, rax
call sub.msys_intl_8.dll_libintl_gettext
mov qword [rsp + 0x48], rax
jmp 0x100496118
lea rcx, str.W16:_Warning:_Mode_of_file___s__has_changed_since_editing_started
mov edi, 1
call sub.msys_intl_8.dll_libintl_gettext
lea rcx, str.See__:help_W16__for_more_info.
mov r15, rax
call sub.msys_intl_8.dll_libintl_gettext
mov qword [rsp + 0x48], rax
jmp 0x100496118
mov rcx, rbx
call sym.vim.exe_buf_contents_changed
test eax, eax
jne 0x100496074
cmp dword [rbx + 0x158], r14d
lea r15, [0x1006c0a21]
lea rax, [0x1006c07ef]
cmove r15, rax
jmp 0x100495f64