Function at 0x10042f9c0
Capabilities:
Get file attributes

Disassembly:
push r15
mov eax, 0x10e8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.100672980
sub rsp, rax
mov rax, qword [sym.vim.exe_curwin]
xor edx, edx
mov rbp, qword [rax]
mov r14, rcx
mov ecx, 0x6f
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 0x10042fcb5
test rax, rax
je 0x10042fcb0
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 0x10042fd10
mov rcx, qword [r14]
xor edx, edx
call sym.vim.exe_FullName_save
mov r15, rax
mov rcx, rax
test rax, rax
je 0x10042fd30
mov r8d, 1
mov edx, 1
call sym.vim.exe_vim_strsave_shellescape
mov rsi, rax
test rax, rax
je 0x10042fd28
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 [rsp + 0x58], rax
call sym.vim.exe_alloc
mov rbx, rax
test rax, rax
je 0x10042fd19
lea rdi, [rsp + 0xe0]
mov edx, 0x1000
mov rcx, rdi
call sym.vim.exe_mch_dirname
cmp eax, 1
je 0x10042fdc0
mov byte [rsp + 0xe0], 0
mov rax, qword [sym.vim.exe_p_pex]
mov rax, qword [rax]
cmp byte [rax], 0
je 0x10042fd80
mov rdx, r15
test r15, r15
je 0x10042fe00
mov r8, r12
mov rcx, r13
call sym.vim.exe_eval_patch
cmp byte [rsp + 0xe0], 0
jne 0x10042fd60
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, [rsp + 0x60]
mov rcx, r12
call sub.msys_2.0.dll_stat
test eax, eax
js 0x10042fd40
cmp qword [rsp + 0x88], 0
je 0x10042fd40
mov rax, qword [sym.vim.exe_curbuf]
mov rax, qword [rax]
mov rdi, qword [rax + 0x98]
test rdi, rdi
je 0x10042fbf2
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 0x10042fbf2
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 [0x100682634]
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 0x10042fd19
mov dword [r14 + 0x28], 0x1b8
mov rdx, rbp
mov rcx, r14
mov qword [r14], r12
call sym.vim.exe_do_exedit
mov rax, qword [sym.vim.exe_curwin]
cmp qword [rax], rbp
je 0x10042fd19
mov rcx, rbp
call sym.vim.exe_win_valid
test eax, eax
je 0x10042fd19
mov rax, qword [sym.vim.exe_curwin]
mov edx, 1
mov rcx, qword [rax]
call sym.vim.exe_diff_win_options
mov edx, 1
mov rcx, rbp
call sym.vim.exe_diff_win_options
test rdi, rdi
je 0x10042fd19
mov qword [r14], rdi
mov rcx, r14
call sym.vim.exe_ex_file
lea rcx, [0x1006af9fa]
call sym.vim.exe_au_has_group
test eax, eax
je 0x10042fd19
lea rcx, str.:doau_filetypedetect_BufRead
call sym.vim.exe_do_cmdline_cmd
jmp 0x10042fd19
test r13, r13
jne 0x10042fd10
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 0x10042fcd3
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 rbp
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
xor r15d, r15d
xor edi, edi
xor ebx, ebx
mov rcx, r13
call sub.msys_2.0.dll_unlink
jmp 0x10042fcbe
xor edi, edi
xor ebx, ebx
jmp 0x10042fd19
mov rcx, qword [r14]
jmp 0x10042fa83
mov rcx, qword [sym.vim.exe_e_cannot_read_patch_output]
xor edi, edi
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x10042fd19
mov rcx, rdi
call sym.vim.exe_mch_chdir
test eax, eax
jne 0x10042fe10
mov ecx, 1
call sym.vim.exe_shorten_fnames
jmp 0x10042fb3e
mov qword [rsp + 0x28], rsi
mov rdx, qword [rsp + 0x58]
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 0x10042fb30
mov rcx, rdi
call sym.vim.exe_mch_chdir
test eax, eax
jne 0x10042fafe
mov rax, qword [sym.vim.exe_vim_tempdir]
mov rcx, qword [rax]
test rcx, rcx
je 0x10042fe29
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 0x10042fb06
mov rdx, qword [r14]
jmp 0x10042fb25
mov rcx, qword [sym.vim.exe_e_cannot_go_back_to_previous_directory]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
call sym.vim.exe_emsg
jmp 0x10042fd70
lea rcx, [0x1006af9e1]
jmp 0x10042fddf