Function at 0x10048a2c0
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov eax, edx
mov rbx, rcx
mov edi, edx
mov r15, rcx
and eax, 8
mov dword [rsp + 0x34], eax
je 0x10048a5e8
cmp byte [rbx], 0
jne 0x10048a56e
call sub.msys_2.0.dll___locale_ctype_ptr
movzx ecx, byte [r15]
mov rdx, rax
mov rax, rcx
test byte [rcx + rdx + 1], 3
jne 0x10048a682
test al, al
je 0x10048a63f
mov dword [rsp + 0x38], 0
mov rsi, r15
mov byte [rsp + 0x3e], 0x2e
mov dword [rsp + 0x2c], 0
mov ebp, edi
and edi, 1
mov r14, rsi
mov rbx, rsi
mov dword [rsp + 0x30], edi
and ebp, 2
lea r13, [rsp + 0x40]
mov rdi, rsi
nop word [rax + rax]
cmp al, 0x2f
je 0x10048a430
cmp al, 0x5c
je 0x10048a430
cmp al, 0x2e
je 0x10048a440
mov r12, rdi
cmp rsi, rdi
je 0x10048a377
mov byte [rsi], 0x2f
lea r12, [rsi + 1]
movzx eax, byte [rbx]
test al, al
je 0x10048a3a3
nop
cmp al, 0x2f
je 0x10048a4c0
cmp al, 0x5c
je 0x10048a4c0
add rbx, 1
mov byte [r12], al
add r12, 1
movzx eax, byte [rbx]
test al, al
jne 0x10048a380
test ebp, ebp
je 0x10048a400
movzx esi, byte [r12]
mov byte [r12], 0
call sub.msys_2.0.dll___errno
mov rdx, r13
mov rcx, r15
mov dword [rax], 0
call sub.msys_2.0.dll_stat
test eax, eax
jne 0x10048a3db
mov eax, dword [rsp + 0x50]
and eax, 0xf000
cmp eax, 0x4000
je 0x10048a3eb
mov rcx, r15
call fcn.10048a1f0
test eax, eax
je 0x10048a6ba
mov byte [r12], sil
movzx eax, byte [rbx]
mov rsi, r12
test al, al
jne 0x10048a350
mov r12, rsi
cmp r15, r12
je 0x10048a64c
mov byte [r12], 0
cmp byte [r15], 0x2f
je 0x10048a609
mov rax, r15
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, byte [rbx + 1]
add rbx, 1
jmp 0x10048a3f5
movzx eax, byte [rbx + 1]
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete cl
or dl, cl
jne 0x10048a456
test al, al
jne 0x10048a460
add rbx, 1
jmp 0x10048a3f5
cmp al, 0x2e
jne 0x10048a368
movzx eax, byte [rbx + 2]
cmp al, 0x2f
mov ecx, eax
sete dl
cmp al, 0x5c
sete r9b
or dl, r9b
jne 0x10048a486
test al, al
jne 0x10048a368
lea r12, [rbx + 2]
cmp r14, rsi
jae 0x10048a4d0
mov r10d, dword [rsp + 0x30]
test r10d, r10d
je 0x10048a4ab
jmp 0x10048a518
movzx eax, byte [rsi]
cmp al, 0x2f
je 0x10048a4b4
cmp al, 0x5c
je 0x10048a4b4
sub rsi, 1
cmp rsi, r14
jne 0x10048a4a0
mov eax, ecx
mov rbx, r12
jmp 0x10048a3f5
test ebp, ebp
je 0x10048a3ef
jmp 0x10048a3a7
mov r9d, dword [rsp + 0x2c]
test r9d, r9d
jne 0x10048a510
mov rax, rdi
cmp rsi, rdi
je 0x10048a4e9
mov byte [rsi], 0x2f
lea rax, [rsi + 1]
lea rsi, [rax + 2]
mov r8d, 0x2e2e
mov word [rax], r8w
mov r14, rsi
movzx eax, byte [rbx + 2]
mov rbx, r12
jmp 0x10048a3f5
mov rbx, r12
jmp 0x10048a3f5
movzx eax, byte [rsi]
mov byte [rsi], 0
mov byte [rsp + 0x3f], al
call sub.msys_2.0.dll___errno
lea rdx, [rsp + 0x40]
mov rcx, r15
mov dword [rax], 0
call sub.msys_2.0.dll_stat
test eax, eax
jne 0x10048a54e
mov eax, dword [rsp + 0x50]
and eax, 0xf000
cmp eax, 0x4000
je 0x10048a55e
mov rcx, r15
call fcn.10048a1f0
test eax, eax
je 0x10048a6ba
movzx eax, byte [rsp + 0x3f]
mov byte [rsi], al
movzx ecx, byte [rbx + 2]
jmp 0x10048a4ab
call sub.msys_2.0.dll___locale_ctype_ptr
movzx ecx, byte [rbx]
mov rdx, rax
mov rax, rcx
test byte [rcx + rdx + 1], 3
jne 0x10048a6ab
cmp al, 0x2f
je 0x10048a593
cmp al, 0x5c
jne 0x10048a2f3
call sub.msys_2.0.dll___locale_ctype_ptr
movzx edx, byte [r15]
test byte [rdx + rax + 1], 3
je 0x10048a5ae
cmp byte [r15 + 1], 0x3a
lea rsi, [r15 + 3]
je 0x10048a5b2
lea rsi, [r15 + 1]
cmp byte [rbx], 0x2f
mov dword [rsp + 0x38], 0
je 0x10048a65d
mov dword [rsp + 0x2c], 1
mov byte [rsp + 0x3e], 0x2f
movzx eax, byte [rsi]
test al, al
jne 0x10048a32d
mov r12, rsi
jmp 0x10048a400
call sub.msys_2.0.dll_strlen
lea rcx, [rax + 1]
call sym.bash.exe_xmalloc
mov rdx, rbx
mov rcx, rax
call fcn.100514770
mov r15, rax
jmp 0x10048a2ea
cmp byte [r15 + 1], 0x2f
jne 0x10048a418
mov edx, dword [rsp + 0x38]
movzx eax, byte [r15 + 2]
test edx, edx
jne 0x10048a418
cmp al, 0x2f
je 0x10048a418
test al, al
jne 0x10048a6d4
mov byte [r15 + 1], 0
jmp 0x10048a418
mov dword [rsp + 0x38], 0
mov byte [rsp + 0x3e], 0x2e
movzx eax, byte [rsp + 0x3e]
lea r12, [r15 + 1]
mov byte [r15], al
jmp 0x10048a409
cmp byte [rbx + 1], 0x2f
jne 0x10048a5c3
xor eax, eax
cmp byte [rbx + 2], 0x2f
setne al
mov dword [rsp + 0x38], eax
setne al
movzx eax, al
add rsi, rax
jmp 0x10048a5c3
cmp byte [r15 + 1], 0x3a
jne 0x10048a30d
mov dword [rsp + 0x2c], 0
lea rsi, [r15 + 2]
mov dword [rsp + 0x38], 0
mov byte [rsp + 0x3e], 0x2e
jmp 0x10048a5d0
cmp byte [rbx + 1], 0x3a
jne 0x10048a587
jmp 0x10048a593
mov ecx, dword [rsp + 0x34]
test ecx, ecx
je 0x10048a6ca
xor r15d, r15d
jmp 0x10048a418
mov rcx, r15
call sub.msys_2.0.dll_free
jmp 0x10048a6c2
lea rbx, [r15 + 1]
mov rcx, rbx
call sub.msys_2.0.dll_strlen
mov rdx, rbx
mov rcx, r15
lea r8, [rax + 1]
call sub.msys_2.0.dll_memmove
jmp 0x10048a418