Function at 0x100494b80
Capabilities:
Get file attributes

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x198
lea rbp, [rsp + 0x80]
mov eax, dword [rcx]
mov qword [rbp + 0x160], rcx
mov ecx, dword [0x1007088a4]
movsxd r12, r8d
mov qword [rbp + 0x168], rdx
mov dword [rbp + 0x178], r9d
mov dword [rbp - 0x34], eax
test ecx, ecx
jle 0x100494bd8
call sym.vim.exe_ui_breakcheck
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
jne 0x100494fd0
mov rcx, qword [rbp + 0x168]
call sub.msys_2.0.dll_strlen
lea rcx, [rax + 0x400]
call sym.vim.exe_alloc
mov qword [rbp - 0x28], rax
test rax, rax
je 0x100494fd0
mov rax, qword [rbp + 0x168]
movzx edi, byte [rax]
mov rax, qword [rbp - 0x28]
mov byte [rbp - 0x30], dil
lea rsi, [rax + r12]
test dil, dil
je 0x100495218
mov qword [rbp - 0x30], rsi
mov rdi, rax
mov rbx, rax
xor r13d, r13d
mov r15, qword [rbp + 0x168]
mov r14, qword [sym.vim.exe_has_mbyte]
add r12, qword [rbp + 0x168]
jmp 0x100494c57
movzx eax, byte [r15]
mov rdx, rbx
add r15, 1
mov byte [rdx], al
add rbx, 1
cmp byte [r15], 0
je 0x100494c9a
cmp r12, r15
jbe 0x100494ee8
cmp byte [r15], 0x2f
je 0x100494f18
mov eax, dword [r14]
test eax, eax
je 0x100494c40
mov rax, qword [sym.vim.exe_mb_ptr2len]
mov rcx, r15
call qword [rax]
mov rdx, r15
mov rcx, rbx
movsxd rsi, eax
mov r8, rsi
add r15, rsi
add rbx, rsi
call sub.msys_2.0.dll_strncpy
cmp byte [r15], 0
jne 0x100494c57
mov byte [rbx], 0
mov rsi, qword [rbp - 0x30]
nop dword [rax]
cmp rdi, rsi
jbe 0x100494ce4
mov rcx, rsi
mov r12, rsi
add rsi, 1
call sym.vim.exe_rem_backslash
test eax, eax
je 0x100494ca8
mov rcx, rsi
sub rdi, 1
sub rbx, 1
call sub.msys_2.0.dll_strlen
mov rdx, rsi
mov rcx, r12
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
cmp rdi, rsi
ja 0x100494cad
movzx eax, byte [rdi]
mov byte [rbp - 0x30], al
cmp rdi, rbx
jae 0x100495235
mov edx, eax
xor esi, esi
mov rax, rdi
mov ecx, 1
jmp 0x100494d0b
movzx edx, byte [rax]
cmp dl, 0x2a
jne 0x100494d17
cmp byte [rax + 1], 0x2a
cmove esi, ecx
add rax, 1
cmp rax, rbx
jne 0x100494d08
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call sym.vim.exe_file_pat_to_reg_pat
mov r12, rax
test rax, rax
je 0x100494fa7
mov eax, 1
test dword [rbp + 0x178], 0x100
je 0x100494fb8
mov dword [rbp + 0x108], eax
test dword [rbp + 0x178], 0x600
jne 0x100494f60
mov edx, 1
mov rcx, r12
call sym.vim.exe_vim_regcomp
mov rcx, r12
mov qword [rbp + 0x60], rax
call sym.vim.exe_vim_free
cmp qword [rbp + 0x60], 0
je 0x100494f93
mov eax, dword [rbp + 0x180]
test eax, eax
jne 0x100494dc0
mov r12d, dword [0x1007088a4]
cmp r12d, 0x63
jg 0x100494dc0
test sil, 1
je 0x100494dc0
mov rax, rbx
sub rax, rdi
cmp rax, 2
je 0x10049526d
nop dword [rax]
mov r14, qword [rbp - 0x28]
mov byte [rdi], 0
lea rcx, [0x1006a3ba4]
cmp byte [r14], 0
cmovne rcx, r14
call sub.msys_2.0.dll_opendir
mov r12, rax
test rax, rax
je 0x100495050
mov rax, rdi
sub rax, r14
add rax, qword [rbp + 0x168]
mov qword [rbp - 0x40], rax
mov rcx, r12
call sub.msys_2.0.dll_readdir
mov r13, rax
test rax, rax
je 0x100495048
cmp byte [rax + 0x18], 0x2e
jne 0x100494e1c
cmp byte [rbp - 0x30], 0x2e
jne 0x1004950e0
cmp qword [rbp + 0x60], 0
je 0x100494ff0
lea r14, [r13 + 0x18]
xor r8d, r8d
lea rcx, [rbp + 0x60]
mov rdx, r14
call sym.vim.exe_vim_regexec
test eax, eax
je 0x100494ff0
mov rdx, r14
mov rcx, rdi
call sub.msys_2.0.dll_strcpy
mov rcx, qword [rbp - 0x28]
call sub.msys_2.0.dll_strlen
movsxd r14, eax
mov r13, rax
mov rax, qword [rbp - 0x28]
lea r10, [rax + r14]
test esi, esi
je 0x100494e7d
mov r8d, dword [0x1007088a4]
cmp r8d, 0x63
mov dword [rbp - 0x38], r8d
jle 0x100495130
mov rcx, r10
mov rdx, r15
call sub.msys_2.0.dll_strcpy
mov rcx, r15
call sym.vim.exe_mch_has_exp_wildcard
test eax, eax
jne 0x1004951f0
cmp byte [r15], 0
jne 0x100495190
test dword [rbp + 0x178], 0x1000
je 0x100495118
mov rcx, qword [rbp - 0x28]
lea rdx, [rbp - 0x20]
call sub.msys_2.0.dll_lstat
test eax, eax
js 0x100494df8
mov r8d, dword [rbp + 0x178]
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x160]
call sym.vim.exe_addfile
jmp 0x100494df8
mov rcx, r15
call sym.vim.exe_rem_backslash
test eax, eax
je 0x100494f30
movzx eax, byte [r15]
add rbx, 1
add r15, 1
mov byte [rbx - 1], al
mov rax, qword [sym.vim.exe_has_mbyte]
mov eax, dword [rax]
jmp 0x100494c6d
test r13, r13
jne 0x100494c9a
mov eax, dword [r14]
lea rdi, [rbx + 1]
jmp 0x100494c6d
movzx edx, byte [r15]
cmp dl, 0x2f
je 0x100494f18
lea rcx, [0x1006a3bb4]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x1004950b0
mov rax, qword [sym.vim.exe_has_mbyte]
mov r13, rbx
mov eax, dword [rax]
jmp 0x100494c6d
mov r14, qword [sym.vim.exe_emsg_silent]
mov edx, 1
mov rcx, r12
add dword [r14], 1
call sym.vim.exe_vim_regcomp
mov rcx, r12
sub dword [r14], 1
mov qword [rbp + 0x60], rax
call sym.vim.exe_vim_free
cmp qword [rbp + 0x60], 0
jne 0x100494d8c
mov r12d, dword [rbp + 0x178]
and r12d, 0x400
jne 0x100494d8c
mov rcx, qword [rbp - 0x28]
call sym.vim.exe_vim_free
jmp 0x100494fd3
mov rax, qword [sym.vim.exe_p_fic]
mov eax, dword [rax]
jmp 0x100494d52
xor r12d, r12d
mov eax, r12d
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
test dword [rbp + 0x178], 0x400
je 0x100494df8
mov rax, qword [sym.vim.exe_p_fic]
mov r8, rbx
lea r14, [r13 + 0x18]
sub r8, rdi
cmp qword [rax], 0
jne 0x10049523c
mov rcx, qword [rbp - 0x40]
mov rdx, r14
call sub.msys_2.0.dll_strncmp
test eax, eax
je 0x100494e42
mov rcx, r12
call sub.msys_2.0.dll_readdir
mov r13, rax
test rax, rax
jne 0x100494e0c
nop dword [rax + rax]
mov rcx, r12
call sub.msys_2.0.dll_closedir
mov rcx, qword [rbp - 0x28]
call sym.vim.exe_vim_free
mov rcx, qword [rbp + 0x60]
call sym.vim.exe_vim_regfree
mov rax, qword [rbp + 0x160]
mov eax, dword [rax]
mov r12d, eax
mov dword [rbp - 0x28], eax
mov eax, dword [rbp - 0x34]
sub r12d, eax
test r12d, r12d
jle 0x100494fd3
movsxd rcx, eax
mov rax, qword [rbp + 0x160]
movsxd rdx, r12d
lea r9, [0x100495ef0]
mov r8d, 8
mov rax, qword [rax + 0x10]
lea rcx, [rax + rcx*8]
call sub.msys_2.0.dll_qsort
jmp 0x100494fd3
mov rax, qword [sym.vim.exe_p_fic]
cmp qword [rax], 0
jne 0x1004950cd
test dword [rbp + 0x178], 0x100
jne 0x1004951a3
mov rax, qword [sym.vim.exe_has_mbyte]
mov eax, dword [rax]
jmp 0x100494c6d
test dword [rbp + 0x178], 0x4000
je 0x100494df8
cmp byte [rax + 0x19], 0
je 0x100494df8
mov eax, dword [rax + 0x18]
and eax, 0xffff00
cmp eax, 0x2e00
jne 0x100494e1c
jmp 0x100494df8
mov rcx, qword [rbp - 0x28]
call sym.vim.exe_mch_getperm
test rax, rax
js 0x100494df8
jmp 0x100494ec7
mov dword [r10], 0x2a2a2f
lea rcx, [rax + r14 + 3]
mov rdx, r15
mov qword [rbp - 0x48], r10
call sub.msys_2.0.dll_strcpy
mov r8d, dword [rbp - 0x38]
mov r9d, dword [rbp + 0x178]
mov dword [rsp + 0x20], 1
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x160]
add r8d, 1
mov dword [0x1007088a4], r8d
lea r8d, [r13 + 1]
call sym.vim.exe_unix_expandpath
sub dword [0x1007088a4], 1
mov r10, qword [rbp - 0x48]
jmp 0x100494e7d
mov rax, qword [rbp - 0x28]
lea rcx, [rax + r14 + 1]
call sym.vim.exe_backslash_halve
jmp 0x100494ea2
call sub.msys_2.0.dll___locale_ctype_ptr
mov rsi, rax
mov rax, qword [sym.vim.exe_has_mbyte]
mov edx, dword [rax]
test edx, edx
je 0x100495250
mov rax, qword [sym.vim.exe_mb_ptr2char]
mov rcx, r15
call qword [rax]
cdqe
test byte [rsi + rax + 1], 3
mov rax, qword [sym.vim.exe_has_mbyte]
mov eax, dword [rax]
je 0x100494c6d
mov r13, rbx
jmp 0x100494c6d
mov dword [rsp + 0x20], 0
mov rdx, qword [rbp - 0x28]
lea r8d, [r13 + 1]
mov r9d, dword [rbp + 0x178]
mov rcx, qword [rbp + 0x160]
call sym.vim.exe_unix_expandpath
jmp 0x100494df8
mov rax, qword [rbp - 0x28]
mov r15, qword [rbp + 0x168]
mov byte [rax], 0
mov rbx, rax
mov rdi, rax
cmp rsi, rax
jb 0x100494cad
xor esi, esi
jmp 0x100494d20
mov rcx, qword [rbp - 0x40]
movsxd r8, r8d
mov rdx, r14
call sym.vim.exe_mb_strnicmp
jmp 0x100495027
movzx ecx, byte [r15]
mov rax, rcx
test byte [rsi + rcx + 1], 3
je 0x100494c40
mov r13, rbx
mov rdx, rbx
jmp 0x100494c47
cmp byte [r15], 0x2f
jne 0x100494dc0
lea rdx, [r15 + 1]
mov rcx, rdi
add r12d, 1
call sub.msys_2.0.dll_strcpy
mov rdx, qword [rbp - 0x28]
mov r8d, edi
mov dword [rsp + 0x20], 1
mov r9d, dword [rbp + 0x178]
mov rcx, qword [rbp + 0x160]
mov dword [0x1007088a4], r12d
sub r8d, edx
call sym.vim.exe_unix_expandpath
sub dword [0x1007088a4], 1
jmp 0x100494dc0