Function at 0x10040ffc0
Capabilities:
Get file attributes

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov eax, dword [rsp + 0xb0]
mov rbx, rdx
mov edx, dword [rsp + 0xa0]
mov rsi, rcx
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x2c], r9d
xor ecx, ecx
mov dword [rsp + 0x30], edx
mov edx, eax
shr edx, 8
and edx, 1
mov dword [rsp + 0x34], edx
mov edx, eax
shr eax, 0xa
shr edx, 9
and eax, 1
and edx, 1
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x38], edx
test rbx, rbx
je 0x10040fe67
cmp qword [rbx], 0
je 0x10040fe67
mov eax, 1
nop word [rax + rax]
mov rcx, rax
add rax, 1
cmp qword [rbx + rax*8 - 8], 0
jne 0x10040fe58
add ecx, 2
mov edx, 8
movsxd rcx, ecx
call sub.msys_gcrypt_20.dll_gcry_xcalloc
mov edx, 0x2f
mov rcx, rsi
mov rdi, rax
call sub.msys_2.0.dll_strrchr
mov qword [rdi], rax
test rax, rax
je 0x10040ff76
add rax, 1
mov qword [rdi], rax
test rbx, rbx
je 0x10040fec2
mov rdx, qword [rbx]
test rdx, rdx
je 0x10040fec2
mov eax, 8
nop dword [rax]
mov qword [rdi + rax], rdx
add rax, 8
mov rdx, qword [rbx + rax - 8]
test rdx, rdx
jne 0x10040feb0
xor ebx, ebx
lea rbp, [rsp + 0x34]
lea r12, [rsp + 0x28]
mov edx, dword [rbp + rbx*4]
test edx, edx
jne 0x10040fedd
cmp dword [r12 + rbx*4], 0xffffffff
je 0x10040ff39
add rbx, 1
cmp rbx, 3
jne 0x10040fece
xor ebx, ebx
mov eax, dword [rbp + rbx*4]
test eax, eax
jne 0x10040ff08
mov ecx, dword [rsp + rbx*4 + 0x28]
cmp ecx, ebx
je 0x10040ff08
mov edx, ebx
mov r12d, ebx
call sub.msys_2.0.dll_dup2
cmp eax, 0xffffffff
je 0x10040ff83
add rbx, 1
cmp rbx, 3
jne 0x10040fee9
mov rdx, qword [rsp + 0xa8]
mov ecx, 3
call fcn.10040fd50
mov rcx, rsi
mov rdx, rdi
call sub.msys_2.0.dll_execv
mov ecx, 0x7f
call sub.msys_2.0.dll__exit
xor edx, edx
lea r13, str._dev_null
test ebx, ebx
setne dl
mov rcx, r13
call sub.msys_2.0.dll_open
mov dword [r12 + rbx*4], eax
add eax, 1
jne 0x10040fedd
call sub.msys_2.0.dll___errno
mov ecx, dword [rax]
call sub.msys_2.0.dll_strerror
mov rdx, r13
lea rcx, str.failed_to_open__s:__s_n
mov r8, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_fatal
mov rcx, rsi
call sub.msys_gcrypt_20.dll_gcry_xstrdup
jmp 0x10040fe97
call sub.msys_2.0.dll___errno
mov ecx, dword [rax]
call sub.msys_2.0.dll_strerror
lea rdx, [0x100416ad4]
mov r8, rax
test ebx, ebx
je 0x10040ffb3
sub r12d, 1
lea rdx, [0x100416ad0]
lea rax, [0x100416ad7]
cmove rdx, rax
lea rcx, str.dup2_std_s_failed:__s_n
call sub.msys_gpg_error_0.dll_gpgrt_log_fatal
nop
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa0
call fcn.10040fcc0
mov edx, 4
mov ecx, 0x20
mov r13d, eax
call sub.msys_2.0.dll_calloc
mov r12, rax
test rax, rax
je 0x1004100a7
test r13d, r13d
jle 0x100410084
xor esi, esi
xor ebx, ebx
lea r14, [rsp + 0x20]
mov edi, 0x20
jmp 0x100410056
lea ebp, [rsi + 1]
movsxd rax, ebp
cmp rax, rdi
jb 0x100410047
cmp rdi, 0x100
mov rcx, r12
sbb rax, rax
and al, 0x20
lea rdi, [rdi + rax + 0x100]
lea rdx, [rdi*4]
call sub.msys_2.0.dll_realloc
test rax, rax
je 0x10041009f
mov r12, rax
mov dword [r12 + rsi*4], ebx
add ebx, 1
movsxd rsi, ebp
cmp r13d, ebx
je 0x100410080
mov rdx, r14
mov ecx, ebx
call sub.msys_2.0.dll_fstat
cmp eax, 0xffffffff
jne 0x100410010
call sub.msys_2.0.dll___errno
cmp dword [rax], 9
jne 0x100410010
add ebx, 1
cmp r13d, ebx
jne 0x100410056
nop word [rax + rax]
lea rax, [r12 + rsi*4]
mov dword [rax], 0xffffffff
mov rax, r12
add rsp, 0xa0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rcx, r12
call sub.msys_2.0.dll_free
xor r12d, r12d
jmp 0x10041008a