Function at 0x10042cbb0
Capabilities:
Get file attributes

Disassembly:
push rbp
mov eax, 0x10e8
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
call fcn.10065e270
sub rsp, rax
lea rbp, [rsp + 0x80]
mov rax, qword [sym.vim.exe_curwin]
xor edx, edx
mov rax, qword [rax]
mov r14, rcx
mov ecx, 0x6f
mov qword [rbp - 0x28], rax
call sym.vim.exe_vim_tempname
xor edx, edx
mov ecx, 0x6e
mov r13, rax
call sym.vim.exe_vim_tempname
mov r12, rax
test r13, r13
je 0x10042cea5
test rax, rax
je 0x10042cea0
mov rax, qword [sym.vim.exe_curbuf]
xor r8d, r8d
mov r9d, 1
mov rdx, r13
mov rcx, qword [rax]
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov rax, qword [rcx]
mov qword [rsp + 0x20], rax
call sym.vim.exe_buf_write
test eax, eax
je 0x10042cf00
mov rcx, qword [r14]
xor edx, edx
call sym.vim.exe_FullName_save
mov r15, rax
mov rcx, rax
test rax, rax
je 0x10042cf20
mov r8d, 1
mov edx, 1
call sym.vim.exe_vim_strsave_shellescape
mov rsi, rax
test rax, rax
je 0x10042cf18
mov rcx, r13
call sub.msys_2.0.dll_strlen
mov rcx, rsi
mov rdi, rax
call sub.msys_2.0.dll_strlen
mov rcx, r12
mov rbx, rax
call sub.msys_2.0.dll_strlen
lea rdx, [rdi + rbx + 0x10]
xor edi, edi
add rax, rdx
mov rcx, rax
mov qword [rbp - 0x30], rax
call sym.vim.exe_alloc
mov rbx, rax
test rax, rax
je 0x10042cf09
lea rdi, [rbp + 0x60]
mov edx, 0x1000
mov rcx, rdi
call sym.vim.exe_mch_dirname
cmp eax, 1
je 0x10042cfb0
mov byte [rbp + 0x60], 0
mov rax, qword [sym.vim.exe_p_pex]
mov rax, qword [rax]
cmp byte [rax], 0
je 0x10042cf70
mov rdx, r15
test r15, r15
je 0x10042cff0
mov r8, r12
mov rcx, r13
call sym.vim.exe_eval_patch
cmp byte [rbp + 0x60], 0
jne 0x10042cf50
mov ecx, 0x32
call sym.vim.exe_redraw_later
mov rdx, r12
mov rcx, rbx
call sub.msys_2.0.dll_stpcpy
mov edx, 0x67
mov rcx, rbx
mov word [rax + 4], dx
mov dword [rax], 0x69726f2e
call sub.msys_2.0.dll_unlink
mov rdx, r12
mov rcx, rbx
call sub.msys_2.0.dll_stpcpy
mov rcx, rbx
mov dword [rax], 0x6a65722e
mov byte [rax + 4], 0
call sub.msys_2.0.dll_unlink
lea rdx, [rbp - 0x20]
mov rcx, r12
call sub.msys_2.0.dll_stat
test eax, eax
js 0x10042cf30
cmp qword [rbp + 8], 0
je 0x10042cf30
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rdi, qword [rax + 0x98]
test rdi, rdi
je 0x10042cddc
mov rcx, rdi
call sub.msys_2.0.dll_strlen
mov rcx, rdi
lea rdx, [rax + 4]
call sym.vim.exe_vim_strnsave
mov rdi, rax
test rax, rax
je 0x10042cddc
mov rcx, rax
call sub.msys_2.0.dll_strlen
add rax, rdi
mov dword [rax], 0x77656e2e
mov byte [rax + 4], 0
mov edx, dword [0x10066d634]
mov rax, qword [sym.vim.exe_cmdmod]
xor ecx, ecx
sar edx, 6
mov dword [rax + 8], 0
and edx, 2
call sym.vim.exe_win_split
test eax, eax
je 0x10042cf09
mov dword [r14 + 0x28], 0x1b7
mov rdx, qword [rbp - 0x28]
mov rcx, r14
mov qword [r14], r12
call sym.vim.exe_do_exedit
mov rcx, qword [sym.vim.exe_curwin]
mov rax, qword [rbp - 0x28]
cmp qword [rcx], rax
je 0x10042cf09
mov rcx, rax
call sym.vim.exe_win_valid
test eax, eax
je 0x10042cf09
mov rax, qword [sym.vim.exe_curwin]
mov edx, 1
mov rcx, qword [rax]
call sym.vim.exe_diff_win_options
mov rcx, qword [rbp - 0x28]
mov edx, 1
call sym.vim.exe_diff_win_options
test rdi, rdi
je 0x10042cf09
mov qword [r14], rdi
mov rcx, r14
call sym.vim.exe_ex_file
lea rcx, [0x10069105f]
call sym.vim.exe_au_has_group
test eax, eax
je 0x10042cf09
lea rcx, str.:doau_filetypedetect_BufRead
call sym.vim.exe_do_cmdline_cmd
jmp 0x10042cf09
test r13, r13
jne 0x10042cf00
xor esi, esi
xor r15d, r15d
xor edi, edi
xor ebx, ebx
mov rcx, r13
call sym.vim.exe_vim_free
test r12, r12
je 0x10042cec3
mov rcx, r12
call sub.msys_2.0.dll_unlink
mov rcx, r12
call sym.vim.exe_vim_free
mov rcx, rdi
call sym.vim.exe_vim_free
mov rcx, rbx
call sym.vim.exe_vim_free
mov rcx, r15
call sym.vim.exe_vim_free
mov rcx, rsi
call sym.vim.exe_vim_free
nop
add rsp, 0x10e8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor esi, esi
xor r15d, r15d
xor edi, edi
xor ebx, ebx
mov rcx, r13
call sub.msys_2.0.dll_unlink
jmp 0x10042ceae
xor edi, edi
xor ebx, ebx
jmp 0x10042cf09
mov rcx, qword [r14]
jmp 0x10042cc7f
lea rcx, str.E816:_Cannot_read_patch_output
xor edi, edi
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x10042cf09
mov rcx, rdi
call sym.vim.exe_mch_chdir
test eax, eax
jne 0x10042d000
mov ecx, 1
call sym.vim.exe_shorten_fnames
jmp 0x10042cd2d
mov qword [rsp + 0x28], rsi
mov rdx, qword [rbp - 0x30]
mov r9, r12
mov rcx, rbx
mov qword [rsp + 0x20], r13
lea r8, str.patch__o__s__s____s
call sym.vim.exe_vim_snprintf
call sym.vim.exe_block_autocmds
mov edx, 5
mov rcx, rbx
call sym.vim.exe_call_shell
call sym.vim.exe_unblock_autocmds
jmp 0x10042cd23
mov rcx, rdi
call sym.vim.exe_mch_chdir
test eax, eax
jne 0x10042ccf5
mov rax, qword [sym.vim.exe_vim_tempdir]
mov rcx, qword [rax]
test rcx, rcx
je 0x10042d019
call sym.vim.exe_mch_chdir
mov rdx, qword [sym.vim.exe_vim_ignored]
mov ecx, 1
mov dword [rdx], eax
call sym.vim.exe_shorten_fnames
jmp 0x10042ccf9
mov rdx, qword [r14]
jmp 0x10042cd18
mov rcx, qword [sym.vim.exe_e_prev_dir]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x10042cf60
lea rcx, [0x100691027]
jmp 0x10042cfcf