Function at 0x10049b0c0
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x198
mov r10d, dword [0x100721904]
mov eax, dword [rcx]
mov qword [rsp + 0x1e0], rcx
movsxd rbp, r8d
mov qword [rsp + 0x1e8], rdx
mov dword [rsp + 0x1f8], r9d
mov dword [rsp + 0x3c], eax
test r10d, r10d
jle 0x10049b116
call sym.vim.exe_ui_breakcheck
mov rax, qword [sym.vim.exe_got_int]
mov eax, dword [rax]
test eax, eax
jne 0x10049b4f0
mov rcx, qword [rsp + 0x1e8]
call sub.msys_2.0.dll_strlen
add rax, 0x400
mov rcx, rax
mov qword [rsp + 0x40], rax
call sym.vim.exe_alloc
mov r14, rax
test rax, rax
je 0x10049b4f0
mov rax, qword [rsp + 0x1e8]
lea rsi, [r14 + rbp]
movzx eax, byte [rax]
mov byte [rsp + 0x38], al
test al, al
je 0x10049b741
mov r15, qword [rsp + 0x1e8]
mov rdi, r14
mov rbx, r14
xor r13d, r13d
add rbp, qword [rsp + 0x1e8]
jmp 0x10049b1a9
mov rax, qword [sym.vim.exe_mb_ptr2len]
mov rcx, r15
call qword [rax]
mov rdx, r15
mov rcx, rbx
movsxd r12, eax
mov r8, r12
add r15, r12
add rbx, r12
call sub.msys_2.0.dll_strncpy
cmp byte [r15], 0
je 0x10049b1e0
cmp rbp, r15
jbe 0x10049b438
cmp byte [r15], 0x2f
je 0x10049b460
mov r12, qword [sym.vim.exe_has_mbyte]
mov ecx, dword [r12]
test ecx, ecx
jne 0x10049b180
movzx eax, byte [r15]
add r15, 1
add rbx, 1
mov byte [rbx - 1], al
cmp byte [r15], 0
jne 0x10049b1a9
mov byte [rbx], 0
nop dword [rax + rax]
cmp rdi, rsi
jbe 0x10049b224
mov rcx, rsi
mov r12, rsi
add rsi, 1
call sym.vim.exe_rem_backslash
test eax, eax
je 0x10049b1e8
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 0x10049b1ed
movzx eax, byte [rdi]
mov byte [rsp + 0x38], al
cmp rbx, rdi
jbe 0x10049b75c
mov rax, rdi
xor esi, esi
mov edx, 1
nop
cmp byte [rax], 0x2a
jne 0x10049b24c
cmp byte [rax + 1], 0x2a
cmove esi, edx
add rax, 1
cmp rax, rbx
jne 0x10049b240
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call sym.vim.exe_file_pat_to_reg_pat
mov r13, rax
test rax, rax
je 0x10049b705
mov eax, 1
test dword [rsp + 0x1f8], 0x100
je 0x10049b4e0
mov dword [rsp + 0x188], eax
test dword [rsp + 0x1f8], 0x600
jne 0x10049b4b0
mov edx, 1
mov rcx, r13
call sym.vim.exe_vim_regcomp
mov qword [rsp + 0xe0], rax
mov rcx, r13
call sym.vim.exe_vim_free
cmp qword [rsp + 0xe0], 0
je 0x10049b6f0
mov edx, dword [rsp + 0x200]
test edx, edx
jne 0x10049b300
mov ebp, dword [0x100721904]
cmp ebp, 0x63
jg 0x10049b300
test sil, 1
je 0x10049b300
mov rax, rbx
sub rax, rdi
cmp rax, 2
je 0x10049b781
nop dword [rax + rax]
mov byte [rdi], 0
lea rcx, [0x1006c0cb9]
cmp byte [r14], 0
cmovne rcx, r14
call sub.msys_2.0.dll_opendir
mov r13, rax
test rax, rax
je 0x10049b570
mov rax, rdi
sub rax, r14
add rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x48], rax
mov rcx, r13
call sub.msys_2.0.dll_readdir
mov rbp, rax
test rax, rax
je 0x10049b568
cmp byte [rax + 0x18], 0x2e
jne 0x10049b35b
cmp byte [rsp + 0x38], 0x2e
jne 0x10049b630
cmp qword [rsp + 0xe0], 0
je 0x10049b510
lea r12, [rbp + 0x18]
xor r8d, r8d
lea rcx, [rsp + 0xe0]
mov rdx, r12
call sym.vim.exe_vim_regexec
test eax, eax
je 0x10049b510
mov rdx, r12
mov rcx, rdi
call sub.msys_2.0.dll_strcpy
mov rcx, r14
call sub.msys_2.0.dll_strlen
mov r11, qword [rsp + 0x40]
movsxd r12, eax
mov rbp, rax
sub r11, r12
lea r10, [r14 + r12]
test esi, esi
je 0x10049b3bf
cmp dword [0x100721904], 0x63
jle 0x10049b68f
mov rcx, r10
mov r9, r15
lea r8, [0x1006c0cbb]
mov rdx, r11
call sym.vim.exe_vim_snprintf
mov rcx, r15
call sym.vim.exe_mch_has_exp_wildcard
test eax, eax
jne 0x10049b718
cmp byte [r15], 0
jne 0x10049b680
test dword [rsp + 0x1f8], 0x1000
je 0x10049b668
lea rdx, [rsp + 0x60]
mov rcx, r14
call sub.msys_2.0.dll_lstat
test eax, eax
js 0x10049b336
mov r8d, dword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1e0]
mov rdx, r14
call sym.vim.exe_addfile
jmp 0x10049b336
mov rcx, r15
call sym.vim.exe_rem_backslash
test eax, eax
je 0x10049b480
movzx eax, byte [r15]
mov r12, qword [sym.vim.exe_has_mbyte]
add rbx, 1
add r15, 1
mov byte [rbx - 1], al
jmp 0x10049b1c3
test r13, r13
jne 0x10049b1e0
mov r12, qword [sym.vim.exe_has_mbyte]
lea rdi, [rbx + 1]
jmp 0x10049b1c3
movzx edx, byte [r15]
cmp dl, 0x2f
je 0x10049b460
lea rcx, [0x1006c0cc9]
call sym.vim.exe_vim_strchr
test rax, rax
je 0x10049b5d8
mov r13, rbx
jmp 0x10049b1bc
mov rbp, qword [sym.vim.exe_emsg_silent]
mov edx, 1
mov rcx, r13
add dword [rbp], 1
call sym.vim.exe_vim_regcomp
sub dword [rbp], 1
mov qword [rsp + 0xe0], rax
jmp 0x10049b2b5
mov rax, qword [sym.vim.exe_p_fic]
mov eax, dword [rax]
jmp 0x10049b288
xor r13d, r13d
mov eax, r13d
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test dword [rsp + 0x1f8], 0x400
je 0x10049b336
mov rax, qword [sym.vim.exe_p_fic]
mov r8, rbx
lea r12, [rbp + 0x18]
sub r8, rdi
mov eax, dword [rax]
test eax, eax
jne 0x10049b76c
mov rcx, qword [rsp + 0x48]
mov rdx, r12
call sub.msys_2.0.dll_strncmp
test eax, eax
je 0x10049b389
mov rcx, r13
call sub.msys_2.0.dll_readdir
mov rbp, rax
test rax, rax
jne 0x10049b34a
nop dword [rax]
mov rcx, r13
call sub.msys_2.0.dll_closedir
mov rcx, r14
call sym.vim.exe_vim_free
mov rcx, qword [rsp + 0xe0]
call sym.vim.exe_vim_regfree
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax]
mov r13d, eax
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x3c]
sub r13d, eax
test r13d, r13d
jle 0x10049b4f3
movsxd rcx, eax
movsxd rdx, r13d
mov rax, qword [rsp + 0x1e0]
lea r9, [0x10049c440]
mov r8d, 8
mov rax, qword [rax + 0x10]
lea rcx, [rax + rcx*8]
call fcn.100673050
jmp 0x10049b4f3
mov rax, qword [sym.vim.exe_p_fic]
mov r12, qword [sym.vim.exe_has_mbyte]
mov r9d, dword [rax]
test r9d, r9d
jne 0x10049b1c3
test dword [rsp + 0x1f8], 0x100
je 0x10049b1c3
mov r8d, dword [r12]
test r8d, r8d
je 0x10049b763
mov rax, qword [sym.vim.exe_mb_ptr2char]
mov rcx, r15
call qword [rax]
mov ecx, eax
call sym.vim.exe_vim_isalpha
test eax, eax
cmovne r13, rbx
jmp 0x10049b1c3
test dword [rsp + 0x1f8], 0x4000
je 0x10049b336
cmp byte [rax + 0x19], 0
je 0x10049b336
mov eax, dword [rax + 0x18]
and eax, 0xffff00
cmp eax, 0x2e00
jne 0x10049b35b
jmp 0x10049b336
mov rcx, r14
call sym.vim.exe_mch_getperm
test rax, rax
js 0x10049b336
jmp 0x10049b414
lea rcx, [r14 + r12 + 1]
call sym.vim.exe_backslash_halve
jmp 0x10049b3ee
mov rdx, r11
mov rcx, r10
mov r9, r15
mov qword [rsp + 0x58], r11
lea r8, [0x1006c0cd0]
mov qword [rsp + 0x50], r10
call sym.vim.exe_vim_snprintf
mov dword [rsp + 0x20], 1
lea r8d, [rbp + 1]
mov rdx, r14
mov r9d, dword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1e0]
add dword [0x100721904], 1
call sym.vim.exe_unix_expandpath
mov r11, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
sub dword [0x100721904], 1
jmp 0x10049b3bf
mov r13d, dword [rsp + 0x1f8]
and r13d, 0x400
jne 0x10049b2cc
mov rcx, r14
call sym.vim.exe_vim_free
jmp 0x10049b4f3
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x1f8]
lea r8d, [rbp + 1]
mov rdx, r14
mov rcx, qword [rsp + 0x1e0]
call sym.vim.exe_unix_expandpath
jmp 0x10049b336
mov byte [r14], 0
mov r15, qword [rsp + 0x1e8]
mov rbx, r14
mov rdi, r14
cmp r14, rsi
ja 0x10049b1ed
xor esi, esi
jmp 0x10049b255
movzx ecx, byte [r15]
jmp 0x10049b61e
mov rcx, qword [rsp + 0x48]
movsxd r8, r8d
mov rdx, r12
call sym.vim.exe_mb_strnicmp
jmp 0x10049b549
cmp byte [r15], 0x2f
jne 0x10049b300
lea rdx, [r15 + 1]
mov rcx, rdi
add ebp, 1
call sub.msys_2.0.dll_strcpy
mov dword [rsp + 0x20], 1
mov r8d, edi
mov rdx, r14
mov r9d, dword [rsp + 0x1f8]
sub r8d, r14d
mov rcx, qword [rsp + 0x1e0]
mov dword [0x100721904], ebp
call sym.vim.exe_unix_expandpath
sub dword [0x100721904], 1
jmp 0x10049b300