Function at 0x1004054a0
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
movzx r10d, byte [rdx]
mov rsi, rcx
test r10b, r10b
je 0x100405528
mov r8d, r10d
mov rdi, rdx
mov rbx, rdx
xor r11d, r11d
jmp 0x100405505
cmp r8b, 0x3f
je 0x10040550b
cmp r8b, 0x5b
je 0x100405562
cmp r8b, 0x5c
sete al
movzx ebp, al
movzx eax, al
cmp byte [rbx + rax], 0x2f
je 0x1004055c0
lea rbx, [rbx + rax + 1]
movzx r8d, byte [rbx]
test r8b, r8b
je 0x10040551f
cmp r8b, 0x2a
jne 0x1004054d0
movzx r8d, byte [rbx + 1]
add rbx, 1
mov r11d, 1
test r8b, r8b
jne 0x100405505
test r11d, r11d
jne 0x100405623
mov rcx, qword [0x10041b120]
mov rax, rsi
jmp 0x100405551
add rax, 1
mov byte [rax - 1], r10b
cmp byte [rdx], 0
lea r8, [rdx + 1]
je 0x100405600
movzx r10d, byte [rdx + 1]
mov rdx, r8
cmp r10b, 0x5c
jne 0x100405534
movzx r10d, byte [rdx + 1]
add rdx, 1
jmp 0x100405534
movzx r8d, byte [rbx + 1]
lea rbp, [rbx + 1]
mov r9, rbp
cmp r8b, 0x21
mov eax, r8d
jne 0x100405594
jmp 0x1004055f0
cmp al, 0x2f
je 0x1004055b0
test al, al
je 0x1004055b0
movzx eax, byte [rcx + 1]
lea r9, [rcx + 1]
cmp al, 0x5d
je 0x1004055e0
cmp al, 0x5c
mov rcx, r9
jne 0x100405580
movzx eax, byte [r9 + 1]
add rcx, 1
cmp al, 0x2f
jne 0x100405584
nop dword [rax + rax]
mov rbx, rbp
jmp 0x100405500
test r11d, r11d
jne 0x100405625
lea rdi, [rbx + rax + 1]
movzx r8d, byte [rdi]
mov rbx, rdi
jmp 0x100405500
mov rbx, rbp
mov r11d, 1
jmp 0x100405500
lea r9, [rbx + 2]
movzx eax, byte [rbx + 2]
jmp 0x100405594
cmp rsi, rcx
jne 0x10040576e
call fcn.100405460
nop
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor ebp, ebp
cmp rdx, rdi
jb 0x100405766
mov rcx, qword [0x10041b120]
cmp rsi, rcx
je 0x1004057bc
lea rax, [rcx + 1]
cmp rsi, rax
je 0x1004057d2
mov byte [rsi - 1], 0
call sub.cygwin1.dll_opendir
test rax, rax
mov r12, rax
je 0x10040560f
cmp rsi, qword [0x10041b120]
je 0x100405669
mov byte [rsi - 1], 0x2f
cmp byte [rbx], 0
mov dword [rsp + 0x2c], 1
je 0x100405689
movsxd rax, ebp
mov byte [rbx], 0
mov dword [rsp + 0x2c], 0
lea rbx, [rbx + rax + 1]
movzx r14d, byte [rdi]
cmp r14b, 0x5c
je 0x1004057c8
mov r13, qword [0x100416ee0]
nop
mov eax, dword [r13]
test eax, eax
jne 0x100405710
mov rcx, r12
call sub.cygwin1.dll_readdir
test rax, rax
je 0x100405710
cmp byte [rax + 0x18], 0x2e
jne 0x1004056c1
cmp r14b, 0x2e
jne 0x1004056a0
lea r15, [rax + 0x18]
mov rcx, rdi
mov rdx, r15
call fcn.100405020
test eax, eax
je 0x1004056a0
mov ecx, dword [rsp + 0x2c]
mov rdx, rsi
test ecx, ecx
jne 0x1004057a0
add r15, 1
movzx eax, byte [r15 - 1]
lea rcx, [rdx + 1]
test al, al
mov byte [rcx - 1], al
jne 0x100405790
mov byte [rdx], 0x2f
mov rdx, rbx
call fcn.1004054a0
mov eax, dword [r13]
test eax, eax
je 0x1004056a8
nop
mov rcx, r12
call sub.cygwin1.dll_closedir
mov eax, dword [rsp + 0x2c]
test eax, eax
jne 0x10040560f
mov edx, ebp
neg edx
cmp ebp, 1
sbb eax, eax
movsxd rdx, edx
and eax, 0xffffffd3
add eax, 0x5c
mov byte [rbx + rdx - 1], al
jmp 0x10040560f
movzx r10d, byte [rdx + 1]
add rdx, 1
lea rax, [rdx + 1]
add rsi, 1
mov byte [rsi - 1], r10b
cmp rax, rdi
jae 0x10040562e
movzx r10d, byte [rdx + 1]
mov rdx, rax
cmp r10b, 0x5c
jne 0x100405749
jmp 0x100405740
lea rdx, [rsp + 0x30]
call sub.cygwin1.dll_lstat
test eax, eax
js 0x10040560f
mov rcx, qword [0x10041b120]
jmp 0x100405609
mov rdx, rcx
jmp 0x1004056e3
mov rcx, rsi
mov rdx, r15
call sub.cygwin1.dll_strcpy
mov rcx, qword [0x10041b120]
call fcn.100405460
jmp 0x1004056a0
lea rcx, [0x1004145a4]
jmp 0x10040564f
movzx r14d, byte [rdi + 1]
jmp 0x100405697
cmp byte [rcx], 0x2f
jne 0x10040564b
lea rcx, [0x1004145a6]
jmp 0x10040564f