Function at 0x10042fec0
Capabilities:
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
mov qword [rsp + 0x138], rdx
mov rsi, rcx
test rdx, rdx
jne 0x100430204
mov qword [rsp + 0x20], 0x1000
test rcx, rcx
jne 0x10043023c
mov rcx, qword [rsp + 0x20]
call sub.msys_2.0.dll_malloc
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1004301ee
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
lea r15, [rsp + 0x60]
lea rcx, [0x10043c280]
mov rdx, r15
add rbx, rax
mov byte [rbx - 1], 0
call sub.msys_2.0.dll_lstat
test eax, eax
js 0x100430224
mov rdx, r15
mov r12d, dword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
lea rcx, [0x10043c282]
call sub.msys_2.0.dll_lstat
test eax, eax
js 0x100430224
mov r11, qword [rsp + 0x68]
mov eax, dword [rsp + 0x60]
lea rdx, [rbx - 1]
cmp r13, r11
setne r8b
cmp r12d, eax
setne cl
or r8b, cl
mov byte [rsp + 0x30], r8b
je 0x1004302de
mov qword [rsp + 0x38], rdx
xor edi, edi
mov ebp, 0xfffffffe
mov dword [rsp + 0x4c], eax
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x130], rsi
mov ecx, ebp
xor r8d, r8d
lea rdx, [0x10043c284]
call sub.msys_2.0.dll_openat
mov ebp, eax
test eax, eax
js 0x10043028a
mov rdx, r15
mov ecx, eax
call sub.msys_2.0.dll_fstat
test eax, eax
jne 0x100430321
test rdi, rdi
je 0x10042ffe6
mov rcx, rdi
call sub.msys_2.0.dll_closedir
test eax, eax
jne 0x10043026f
mov rax, qword [rsp + 0x68]
mov ecx, ebp
mov r14d, dword [rsp + 0x60]
mov qword [rsp + 0x40], rax
call sub.msys_2.0.dll_fdopendir
mov rdi, rax
test rax, rax
je 0x10043026f
movzx esi, byte [rsp + 0x30]
nop dword [rax]
call sub.msys_2.0.dll___errno
mov rcx, rdi
mov dword [rax], 0
call sub.msys_2.0.dll_readdir
test rax, rax
je 0x100430160
cmp byte [rax + 0x18], 0x2e
je 0x100430198
test sil, sil
je 0x10043004e
cmp qword [rax + 8], r13
sete dl
cmp r12d, r14d
setne cl
or dl, cl
je 0x100430010
mov esi, edx
lea rbx, [rax + 0x18]
mov r9d, 2
mov r8, r15
mov ecx, ebp
mov rdx, rbx
call fcn.100431af0
test eax, eax
jne 0x100430010
mov eax, dword [rsp + 0x70]
and eax, 0xf000
cmp eax, 0x4000
jne 0x100430010
cmp dword [rsp + 0x60], r12d
jne 0x100430010
cmp qword [rsp + 0x68], r13
jne 0x100430010
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
mov rcx, rbx
sub rsi, rax
call sub.msys_2.0.dll_strlen
mov r12, rax
cmp rax, rsi
jb 0x100430113
cmp qword [rsp + 0x138], 0
jne 0x100430393
mov rax, qword [rsp + 0x20]
cmp r12, rax
mov r13, rax
cmovae r13, r12
add rax, r13
mov qword [rsp + 0x58], rax
jb 0x10043036c
mov rcx, qword [rsp + 0x28]
mov rdx, rax
call sub.msys_2.0.dll_realloc
test rax, rax
je 0x10043036c
mov r8, qword [rsp + 0x20]
lea rcx, [r13 + rsi]
lea rdx, [rax + rsi]
mov qword [rsp + 0x28], rax
add rcx, rax
sub r8, rsi
call sub.msys_2.0.dll_memcpy
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x38]
mov r8, r12
mov rdx, rbx
sub rcx, r12
call sub.msys_2.0.dll_memcpy
mov rcx, rax
lea rax, [rax - 1]
mov qword [rsp + 0x38], rax
mov byte [rcx - 1], 0x2f
cmp dword [rsp + 0x4c], r14d
jne 0x10043014d
mov rbx, qword [rsp + 0x40]
cmp qword [rsp + 0x50], rbx
je 0x1004302af
mov r13, qword [rsp + 0x40]
mov r12d, r14d
jmp 0x10042ffa4
call sub.msys_2.0.dll___errno
mov edx, dword [rax]
test edx, edx
jne 0x1004301c0
test sil, sil
je 0x1004301c0
mov rcx, rdi
call sub.msys_2.0.dll_rewinddir
mov rcx, rdi
call sub.msys_2.0.dll_readdir
test rax, rax
je 0x1004301c0
xor esi, esi
cmp byte [rax + 0x18], 0x2e
jne 0x10043004e
nop dword [rax]
cmp byte [rax + 0x19], 0
je 0x100430010
mov edx, dword [rax + 0x18]
and edx, 0xffff00
cmp edx, 0x2e00
jne 0x100430036
jmp 0x100430010
mov rsi, qword [rsp + 0x130]
call sub.msys_2.0.dll___errno
mov eax, dword [rax]
test eax, eax
je 0x100430250
call sub.msys_2.0.dll___errno
mov rcx, rdi
mov ebx, dword [rax]
call sub.msys_2.0.dll_closedir
test rsi, rsi
je 0x100430230
call sub.msys_2.0.dll___errno
mov dword [rax], ebx
xor eax, eax
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
test rcx, rcx
jne 0x10042ff11
jmp 0x10042fef9
call sub.msys_2.0.dll___errno
mov ebx, dword [rax]
test rsi, rsi
jne 0x1004301e7
mov rcx, qword [rsp + 0x28]
call fcn.100410780
jmp 0x1004301e7
call sub.msys_2.0.dll___errno
mov dword [rax], 0x16
jmp 0x1004301ee
call sub.msys_2.0.dll___errno
mov dword [rax], 2
call sub.msys_2.0.dll___errno
mov rcx, rdi
mov ebx, dword [rax]
call sub.msys_2.0.dll_closedir
jmp 0x1004301e2
mov rsi, qword [rsp + 0x130]
call sub.msys_2.0.dll___errno
mov ebx, dword [rax]
mov ecx, ebp
call sub.msys_2.0.dll_close
jmp 0x1004301e2
mov rsi, qword [rsp + 0x130]
call sub.msys_2.0.dll___errno
mov ebx, dword [rax]
test rdi, rdi
je 0x1004301e2
mov rcx, rdi
call sub.msys_2.0.dll_closedir
jmp 0x1004301e2
mov rcx, rdi
mov qword [rsp + 0x30], rax
mov rsi, qword [rsp + 0x130]
call sub.msys_2.0.dll_closedir
test eax, eax
jne 0x100430224
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
add rbx, rax
mov rax, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x20]
lea rax, [rax + rdi - 1]
cmp rdx, rax
je 0x100430353
sub rbx, rdx
mov rcx, qword [rsp + 0x28]
mov r8, rbx
call sub.msys_2.0.dll_memmove
cmp qword [rsp + 0x138], 0
jne 0x100430346
mov rax, qword [rsp + 0x20]
cmp rbx, rax
jb 0x10043035d
mov rax, qword [rsp + 0x28]
jmp 0x1004301f0
mov rsi, qword [rsp + 0x130]
call sub.msys_2.0.dll___errno
mov ebx, dword [rax]
test rdi, rdi
je 0x10043027e
mov rcx, rdi
call sub.msys_2.0.dll_closedir
jmp 0x10043027e
mov rax, rsi
test rax, rax
je 0x100430317
jmp 0x1004301f0
mov byte [rdx - 1], 0x2f
sub rdx, 1
jmp 0x1004302f2
mov rcx, qword [rsp + 0x28]
mov rdx, rbx
call sub.msys_2.0.dll_realloc
jmp 0x100430349
mov rsi, qword [rsp + 0x130]
call sub.msys_2.0.dll___errno
mov dword [rax], 0xc
call sub.msys_2.0.dll___errno
mov rcx, rdi
mov ebx, dword [rax]
call sub.msys_2.0.dll_closedir
jmp 0x1004301e2
mov rsi, qword [rsp + 0x130]
call sub.msys_2.0.dll___errno
mov dword [rax], 0x22
call sub.msys_2.0.dll___errno
mov rcx, rdi
mov ebx, dword [rax]
call sub.msys_2.0.dll_closedir
jmp 0x1004301e2