Function at 0x10049d530
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x138
mov ebx, 1
mov rdi, rcx
movzx ecx, byte [rcx]
mov r12, rdi
call sym.vim.exe_vim_ispathsep
test eax, eax
jne 0x10049d600
lea rax, [rdi + 2]
cmp r12, rax
jbe 0x10049d585
mov rcx, r12
lea rsi, [rdi + 1]
call sub.msys_2.0.dll_strlen
mov rdx, r12
mov rcx, rsi
mov r12, rsi
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
movzx ecx, byte [r12]
mov r14, r12
xor r13d, r13d
xor esi, esi
mov rbp, qword [sym.vim.exe_mb_ptr2len]
jmp 0x10049d5bb
cmp byte [r14], 0x2e
je 0x10049d620
mov rcx, r14
add esi, 1
call sym.vim.exe_getnextcomp
movzx ecx, byte [rax]
mov r14, rax
test cl, cl
je 0x10049d5e7
call sym.vim.exe_vim_ispathsep
lea r15, [r14 + 1]
test eax, eax
je 0x10049d5a0
mov rcx, r15
call sub.msys_2.0.dll_strlen
mov rcx, r14
mov rdx, r15
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
movzx ecx, byte [r14]
test cl, cl
jne 0x10049d5bb
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx ecx, byte [r12 + 1]
add r12, 1
call sym.vim.exe_vim_ispathsep
mov ebx, eax
test eax, eax
jne 0x10049d600
jmp 0x10049d55e
movzx ecx, byte [r14 + 1]
call sym.vim.exe_vim_ispathsep
test eax, eax
je 0x10049d660
movzx ecx, byte [r14 + 1]
cmp r14, r12
jne 0x10049d700
test bl, 1
je 0x10049d700
test cl, cl
je 0x10049d5e7
movzx ecx, byte [r14 + 2]
add r14, 2
jmp 0x10049d5b7
movzx eax, byte [r14 + 1]
test al, al
jne 0x10049d690
cmp r14, r12
jne 0x10049d677
test bl, 1
jne 0x10049d5e7
cmp r12, r14
lea r15, [r14 + 1]
sbb r14, 0
jmp 0x10049d5c8
cmp byte [r14], 0x2e
jne 0x10049d5a6
cmp al, 0x2e
jne 0x10049d5a6
movzx ecx, byte [r14 + 2]
call sym.vim.exe_vim_ispathsep
movzx ecx, byte [r14 + 2]
test eax, eax
jne 0x10049d6bd
test cl, cl
jne 0x10049d5a6
lea r15, [r14 + 2]
jmp 0x10049d6d7
mov rcx, r15
call qword [rbp]
cdqe
add r15, rax
movzx ecx, byte [r15]
call sym.vim.exe_vim_ispathsep
test eax, eax
jne 0x10049d6c8
test esi, esi
je 0x10049d735
test r13d, r13d
je 0x10049d75d
movzx ecx, byte [r15]
mov r14, r15
mov esi, eax
jmp 0x10049d5b7
lea r15, [r14 + 1]
test cl, cl
jne 0x10049d727
cmp r12, r14
sbb r14, 0
jmp 0x10049d5c8
mov rcx, r15
call qword [rbp]
cdqe
add r15, rax
movzx ecx, byte [r15]
call sym.vim.exe_vim_ispathsep
test eax, eax
jne 0x10049d718
jmp 0x10049d5c8
cmp r14, r12
jne 0x10049d743
test bl, 1
je 0x10049d5c8
lea rax, [r12 + 2]
cmp r14, rax
je 0x10049d836
movzx ecx, byte [r15]
mov r14, r15
jmp 0x10049d5b7
movzx r8d, byte [r14 - 1]
mov byte [r14 - 1], 0
mov rcx, rdi
sub r14, 1
lea rax, [rsp + 0x30]
mov rdx, rax
mov byte [rsp + 0x2f], r8b
mov qword [rsp + 0x20], rax
call sub.msys_2.0.dll_lstat
movzx r8d, byte [rsp + 0x2f]
mov dword [rsp + 0x28], eax
mov byte [r14], r8b
cmp r14, r12
ja 0x10049d7d4
jmp 0x10049d7e3
mov rdx, qword [sym.vim.exe_has_mbyte]
mov rax, 0xffffffffffffffff
mov ecx, dword [rdx]
test ecx, ecx
je 0x10049d7cc
mov rax, qword [sym.vim.exe_mb_head_off]
lea rdx, [r14 - 1]
mov rcx, r12
call qword [rax]
add eax, 1
cdqe
neg rax
add r14, rax
cmp r14, r12
jbe 0x10049d7e3
mov rdx, r14
mov rcx, r12
call sym.vim.exe_after_pathsep
test eax, eax
je 0x10049d7a0
mov edx, dword [rsp + 0x28]
test edx, edx
jns 0x10049d875
cmp r12, r14
jne 0x10049d822
test bl, 1
je 0x10049d822
cmp byte [r15 - 1], 0x2e
je 0x10049d866
mov rcx, r15
call sub.msys_2.0.dll_strlen
mov rdx, r15
mov rcx, r14
mov r15, r14
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
lea eax, [rsi - 1]
jmp 0x10049d6e9
cmp r12, r14
jae 0x10049d800
xor eax, eax
cmp byte [r15 - 1], 0x2e
sete al
sub r14, rax
jmp 0x10049d800
cmp byte [r14 - 2], 0x2e
jne 0x10049d751
mov rcx, r14
call sub.msys_2.0.dll_strlen
mov rdx, r14
mov rcx, r12
lea r14, [r15 - 2]
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
movzx ecx, byte [r15 - 2]
jmp 0x10049d5b7
mov eax, 0x2e
lea r15, [r14 + 1]
mov word [r14], ax
jmp 0x10049d81a
movzx r8d, byte [r15]
mov rdx, qword [rsp + 0x20]
mov byte [r15], 0
mov rcx, rdi
mov byte [rsp + 0x28], r8b
call sub.msys_2.0.dll_stat
movzx r8d, byte [rsp + 0x28]
test eax, eax
mov byte [r15], r8b
js 0x10049d8e8
cmp r12, r14
jne 0x10049d8f5
test bl, 1
je 0x10049d8f5
lea rdx, [rsp + 0xb0]
lea rcx, [0x1006c0cff]
call sub.msys_2.0.dll_stat
mov rax, qword [rsp + 0x38]
cmp qword [rsp + 0xb8], rax
je 0x10049d8d0
xor eax, eax
jmp 0x10049d6e9
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0xb0], eax
je 0x10049d7ef
xor eax, eax
jmp 0x10049d6e9
xor eax, eax
mov r13d, 1
jmp 0x10049d6e9
movzx r8d, byte [r14]
mov byte [r14], 0
lea rdx, [rsp + 0xb0]
mov rcx, rdi
mov byte [rsp + 0x28], r8b
call sub.msys_2.0.dll_stat
movzx r8d, byte [rsp + 0x28]
mov byte [r14], r8b
jmp 0x10049d8ba