Function at 0x100496f40
Capabilities:
Get file attributes

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x148
lea rbp, [rsp + 0x80]
mov ebx, 1
mov rdi, rcx
movzx ecx, byte [rcx]
mov r12, rdi
call sym.vim.exe_vim_ispathsep
test eax, eax
jne 0x100497020
lea rax, [rdi + 2]
cmp r12, rax
jbe 0x100496f9d
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
mov dword [rbp - 0x44], 0
movzx ecx, byte [r12]
mov r15, r12
xor esi, esi
mov r13, qword [sym.vim.exe_mb_ptr2len]
jmp 0x100496fdb
cmp byte [r15], 0x2e
je 0x100497040
mov rcx, r15
add esi, 1
call sym.vim.exe_getnextcomp
movzx ecx, byte [rax]
mov r15, rax
test cl, cl
je 0x100497007
call sym.vim.exe_vim_ispathsep
lea r14, [r15 + 1]
test eax, eax
je 0x100496fc0
mov rcx, r14
call sub.msys_2.0.dll_strlen
mov rcx, r15
mov rdx, r14
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
movzx ecx, byte [r15]
test cl, cl
jne 0x100496fdb
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movzx ecx, byte [r12 + 1]
add r12, 1
call sym.vim.exe_vim_ispathsep
mov ebx, eax
test eax, eax
jne 0x100497020
jmp 0x100496f76
movzx ecx, byte [r15 + 1]
call sym.vim.exe_vim_ispathsep
test eax, eax
je 0x100497080
movzx ecx, byte [r15 + 1]
cmp r15, r12
jne 0x100497120
test bl, 1
je 0x100497120
test cl, cl
je 0x100497007
movzx ecx, byte [r15 + 2]
add r15, 2
jmp 0x100496fd7
movzx eax, byte [r15 + 1]
test al, al
jne 0x1004970b0
cmp r15, r12
jne 0x100497097
test bl, 1
jne 0x100497007
cmp r12, r15
lea r14, [r15 + 1]
sbb r15, 0
jmp 0x100496fe8
cmp byte [r15], 0x2e
jne 0x100496fc6
cmp al, 0x2e
jne 0x100496fc6
movzx ecx, byte [r15 + 2]
call sym.vim.exe_vim_ispathsep
movzx ecx, byte [r15 + 2]
test eax, eax
jne 0x1004970dd
test cl, cl
jne 0x100496fc6
lea r14, [r15 + 2]
jmp 0x1004970f8
mov rcx, r14
call qword [r13]
cdqe
add r14, rax
movzx ecx, byte [r14]
call sym.vim.exe_vim_ispathsep
test eax, eax
jne 0x1004970e8
test esi, esi
je 0x100497156
mov r8d, dword [rbp - 0x44]
test r8d, r8d
je 0x10049717e
movzx ecx, byte [r14]
mov r15, r14
mov esi, eax
jmp 0x100496fd7
lea r14, [r15 + 1]
test cl, cl
jne 0x100497148
cmp r12, r15
sbb r15, 0
jmp 0x100496fe8
mov rcx, r14
call qword [r13]
cdqe
add r14, rax
movzx ecx, byte [r14]
call sym.vim.exe_vim_ispathsep
test eax, eax
jne 0x100497138
jmp 0x100496fe8
cmp r15, r12
jne 0x100497164
test bl, 1
je 0x100496fe8
lea rax, [r12 + 2]
cmp r15, rax
je 0x100497248
movzx ecx, byte [r14]
mov r15, r14
jmp 0x100496fd7
movzx r8d, byte [r15 - 1]
lea rax, [rbp - 0x40]
mov rcx, rdi
sub r15, 1
mov byte [r15], 0
mov rdx, rax
mov byte [rbp - 0x51], r8b
mov qword [rbp - 0x50], rax
call sub.msys_2.0.dll_lstat
movzx r8d, byte [rbp - 0x51]
mov dword [rbp - 0x48], eax
mov byte [r15], r8b
cmp r15, r12
ja 0x1004971d1
jmp 0x1004971f6
mov rax, qword [sym.vim.exe_mb_head_off]
mov rcx, r12
call qword [rax]
add eax, 1
cdqe
sub r15, rax
cmp r12, r15
jae 0x1004971f6
mov rdx, r15
mov rcx, r12
call sym.vim.exe_after_pathsep
test eax, eax
jne 0x1004971f6
mov rax, qword [sym.vim.exe_has_mbyte]
lea rdx, [r15 - 1]
mov ecx, dword [rax]
test ecx, ecx
jne 0x1004971b8
mov r15, rdx
jmp 0x1004971cc
mov edx, dword [rbp - 0x48]
test edx, edx
jns 0x100497287
cmp r12, r15
jne 0x100497234
test bl, 1
je 0x100497234
cmp byte [r14 - 1], 0x2e
je 0x100497278
mov rcx, r14
call sub.msys_2.0.dll_strlen
mov rdx, r14
mov rcx, r15
mov r14, r15
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
lea eax, [rsi - 1]
jmp 0x10049710e
cmp r12, r15
jae 0x100497212
xor eax, eax
cmp byte [r14 - 1], 0x2e
sete al
sub r15, rax
jmp 0x100497212
cmp byte [r15 - 2], 0x2e
jne 0x100497172
mov rcx, r15
call sub.msys_2.0.dll_strlen
mov rdx, r15
mov rcx, r12
lea r15, [r14 - 2]
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
movzx ecx, byte [r14 - 2]
jmp 0x100496fd7
mov eax, 0x2e
lea r14, [r15 + 1]
mov word [r15], ax
jmp 0x10049722c
movzx r8d, byte [r14]
mov rdx, qword [rbp - 0x50]
mov byte [r14], 0
mov rcx, rdi
mov byte [rbp - 0x48], r8b
call sub.msys_2.0.dll_stat
movzx r8d, byte [rbp - 0x48]
test eax, eax
mov byte [r14], r8b
js 0x1004972e9
cmp r12, r15
jne 0x1004972f7
test bl, 1
je 0x1004972f7
lea rdx, [rbp + 0x40]
lea rcx, [0x1006a3c32]
call sub.msys_2.0.dll_stat
mov rax, qword [rbp - 0x38]
cmp qword [rbp + 0x48], rax
je 0x1004972d6
xor eax, eax
jmp 0x10049710e
mov eax, dword [rbp - 0x40]
cmp dword [rbp + 0x40], eax
je 0x100497201
xor eax, eax
jmp 0x10049710e
mov dword [rbp - 0x44], 1
xor eax, eax
jmp 0x10049710e
movzx r8d, byte [r15]
mov byte [r15], 0
lea rdx, [rbp + 0x40]
mov rcx, rdi
mov byte [rbp - 0x48], r8b
call sub.msys_2.0.dll_stat
movzx r8d, byte [rbp - 0x48]
mov byte [r15], r8b
jmp 0x1004972c5