Function at 0x10053b8b0
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rax, qword [sym.vim.exe_p_efm]
mov r14d, dword [rcx + 0x28]
mov rax, qword [rax]
mov r12, rcx
mov ecx, r14d
mov qword [rsp + 0x38], rax
call sym.vim.exe_grep_internal
test eax, eax
jne 0x10053bdf0
cmp r14d, 0x100
je 0x10053be78
jg 0x10053ba90
cmp r14d, 0xb9
je 0x10053bd20
lea r13, str.lgrep
cmp r14d, 0xff
jne 0x10053bab0
mov rax, qword [sym.vim.exe_curbuf]
mov r9d, 1
mov rdx, r13
mov ecx, 0x46
mov qword [rsp + 0x40], rax
mov rax, qword [rax]
mov r8, qword [rax + 0x98]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
test eax, eax
jne 0x10053bd30
mov r14d, dword [r12 + 0x28]
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rax, qword [rax + 0x1c68]
cmp byte [rax], 0
mov qword [rsp + 0x48], rax
jne 0x10053b980
mov rax, qword [sym.vim.exe_p_menc]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov ecx, r14d
call sym.vim.exe_is_loclist_cmd
mov qword [rsp + 0x30], 0
test eax, eax
je 0x10053b9a4
mov rax, qword [sym.vim.exe_curwin]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
call sym.vim.exe_autowrite_all
mov rsi, qword [sym.vim.exe_p_mef]
mov rcx, qword [rsi]
movzx eax, byte [rcx]
mov rbx, rcx
test al, al
jne 0x10053b9d4
jmp 0x10053be20
add rbx, 1
test al, al
je 0x10053baf0
mov edx, eax
movzx eax, byte [rbx + 1]
cmp dl, 0x23
jne 0x10053b9c8
cmp al, 0x23
jne 0x10053b9c8
lea rbp, str._d_d
lea rdi, [rbx + 2]
lea r15, [rsp + 0x50]
jmp 0x10053ba00
mov rcx, r14
call sym.vim.exe_vim_free
cmp dword [0x1006986c0], 0xffffffff
je 0x10053be10
add dword [0x100724dc4], 0x13
mov rcx, qword [rsi]
call sub.msys_2.0.dll_strlen
mov edx, 0xa
lea rcx, [rax + 0x1e]
call sym.vim.exe_alloc_id
mov r14, rax
test rax, rax
je 0x10053bd3d
mov rdx, qword [rsi]
mov rcx, rax
call sub.msys_2.0.dll_strcpy
mov r9d, dword [0x100724dc4]
mov rcx, rbx
sub rcx, qword [rsi]
mov r8d, dword [0x1006986c0]
add rcx, r14
mov rdx, rbp
call sub.msys_2.0.dll_sprintf
mov rcx, r14
mov rdx, rdi
call fcn.100673240
mov rcx, r14
call sym.vim.exe_mch_getperm
test rax, rax
jns 0x10053b9f8
mov rdx, r15
mov rcx, r14
call sub.msys_2.0.dll_lstat
test eax, eax
jns 0x10053b9f8
jmp 0x10053bb01
cmp r14d, 0x108
je 0x10053bae0
cmp r14d, 0x121
jne 0x10053bac4
lea r13, str.make
jmp 0x10053b91d
lea r13, str.grep
cmp r14d, 0xb8
je 0x10053b91d
mov rax, qword [sym.vim.exe_curbuf]
xor r13d, r13d
mov qword [rsp + 0x40], rax
jmp 0x10053b958
lea r13, str.lmake
jmp 0x10053b91d
call sym.vim.exe_vim_strsave
mov r14, rax
test rax, rax
je 0x10053bd3d
mov rcx, r14
call sub.msys_2.0.dll_unlink
mov rbp, qword [sym.vim.exe_p_shq]
mov rdi, qword [r12]
mov rcx, qword [rbp]
call sub.msys_2.0.dll_strlen
mov rcx, rdi
mov rbx, rax
call sub.msys_2.0.dll_strlen
mov rsi, qword [sym.vim.exe_p_sp]
lea ebx, [rax + rbx*2 + 1]
mov rcx, qword [rsi]
cmp byte [rcx], 0
je 0x10053bb52
call sub.msys_2.0.dll_strlen
mov rcx, r14
mov r15, rax
call sub.msys_2.0.dll_strlen
lea ebx, [rbx + r15 + 3]
add ebx, eax
mov ecx, ebx
mov edx, 0xf
call sym.vim.exe_alloc_id
mov rcx, r14
mov r15, rax
test rax, rax
je 0x10053bd04
mov r8, qword [rbp]
mov r9, rdi
lea rdx, [0x1006cff63]
mov rcx, rax
mov qword [rsp + 0x20], r8
call sub.msys_2.0.dll_sprintf
mov r8, qword [rsi]
cmp byte [r8], 0
jne 0x10053be60
mov rax, qword [sym.vim.exe_msg_col]
mov edx, dword [rax]
test edx, edx
jne 0x10053bbaf
mov rax, qword [sym.vim.exe_msg_didout]
mov dword [rax], 0
call sym.vim.exe_msg_start
lea rcx, [0x1006cff6a]
call sym.vim.exe_msg_puts
mov rcx, r15
call sym.vim.exe_msg_outtrans
mov rax, qword [rsi]
xor edx, edx
mov rcx, r15
cmp byte [rax], 0
setne dl
shl edx, 3
call sym.vim.exe_do_shell
mov esi, dword [r12 + 0x28]
add dword [0x100724e50], 1
cmp esi, 0x121
je 0x10053bc09
cmp esi, 0x108
je 0x10053bc09
mov rax, qword [sym.vim.exe_p_gefm]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
mov rax, qword [r12 + 0x18]
lea rbx, [0x1007249c0]
mov edx, 0x401
lea r8, [0x1006cfeeb]
mov rcx, rbx
mov r9, qword [rax]
call sym.vim.exe_vim_snprintf
cmp esi, 0xb9
mov qword [rsp + 0x20], rbx
mov rdx, r14
sete r9b
cmp esi, 0x100
mov rdi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
sete al
or r9d, eax
mov rax, qword [rsp + 0x48]
mov rcx, rdi
xor r9d, 1
mov qword [rsp + 0x28], rax
and r9d, 1
call sym.vim.exe_qf_init
mov ebx, eax
test rdi, rdi
je 0x10053bd58
mov rcx, qword [rdi + 8]
call sym.vim.exe_bt_quickfix
test eax, eax
je 0x10053bc96
mov rdi, qword [rdi + 0x2320]
test rdi, rdi
jne 0x10053bd5f
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x2318]
test rdi, rdi
jne 0x10053bd5f
nop dword [rax + rax]
sub dword [0x100724e50], 1
jne 0x10053bcf1
mov r12, qword [0x100724e58]
test r12, r12
je 0x10053bcf1
nop dword [rax]
mov rax, qword [r12]
lea rcx, [r12 + 8]
mov qword [0x100724e58], rax
call fcn.1005337d0
mov rcx, r12
call sym.vim.exe_vim_free
mov r12, qword [0x100724e58]
test r12, r12
jne 0x10053bcc8
mov rcx, r14
call sub.msys_2.0.dll_unlink
mov rcx, r14
call sym.vim.exe_vim_free
mov rcx, r15
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.vim.exe_vim_free
lea r13, str.grepadd
jmp 0x10053b91d
call sym.vim.exe_aborting
test eax, eax
je 0x10053b953
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdi, [0x100724e80]
movsxd rax, dword [rdi + 8]
test ebx, ebx
js 0x10053bd78
lea rdx, [rax + rax*8]
shl rdx, 4
add qword [rdi + rdx + 0x98], 1
lea rax, [rax + rax*8]
shl rax, 4
mov esi, dword [rdi + rax + 0x10]
test r13, r13
je 0x10053bdb0
mov rax, qword [rsp + 0x40]
mov r9d, 1
mov rdx, r13
mov ecx, 0x45
mov rax, qword [rax]
mov r8, qword [rax + 0x98]
mov qword [rsp + 0x20], rax
call sym.vim.exe_apply_autocmds
test ebx, ebx
jle 0x10053bcb0
mov eax, dword [r12 + 0x3c]
test eax, eax
jne 0x10053bcb0
mov rcx, qword [rsp + 0x30]
mov edx, esi
call fcn.100532550
test eax, eax
je 0x10053bcb0
xor r8d, r8d
mov edx, esi
mov rcx, rdi
call fcn.100537bf0
jmp 0x10053bcb0
mov rcx, r12
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.vim.exe_ex_vimgrep
call sym.vim.exe_mch_get_pid
mov dword [0x1006986c0], eax
jmp 0x10053ba14
xor edx, edx
mov ecx, 0x65
call sym.vim.exe_vim_tempname
mov r14, rax
test rax, rax
jne 0x10053bb01
mov rcx, qword [sym.vim.exe_e_cant_get_temp_file_name]
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.vim.exe_emsg
mov r9, r14
mov edx, ebx
mov rcx, r15
call sym.vim.exe_append_redir
jmp 0x10053bb95
lea r13, str.lgrepadd
jmp 0x10053b91d