Function at 0x210094d80
Capabilities:
Get file attributes
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
cmp qword [r8], 0
mov r13, rcx
mov rbp, rdx
mov rdi, r8
jne 0x210094dc0
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call method.fhandler_base.is_nonblocking__
mov rcx, qword [r13 + 0x1d8]
test al, al
je 0x210094e40
lea r15, [rsp + 0x70]
mov r8d, 5
mov qword [rsp + 0x70], 0
mov rdx, r15
call sym.cygwait_void___LARGE_INTEGER__unsigned_int_
cmp eax, 1
je 0x210094e52
cmp eax, 1
jbe 0x210094e88
cmp eax, 2
je 0x21009559a
cmp eax, 0x102
jne 0x210095338
test byte [0x210273880], 1
jne 0x210095410
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov dword [rax], 0xb
call sym.msys_2.0.dll___errno
mov dword [rax], 0xb
mov qword [rdi], 0xffffffffffffffff
jmp 0x210094da2
xor edx, edx
mov r8d, 5
call sym.cygwait_void___LARGE_INTEGER__unsigned_int_
cmp eax, 1
jne 0x210094df1
test byte [0x210273880], 1
jne 0x210095450
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov dword [rax], 4
call sym.msys_2.0.dll___errno
mov dword [rax], 4
mov qword [rdi], 0xffffffffffffffff
jmp 0x210094da2
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sym.CreateEventA
mov r12, rax
test rax, rax
je 0x2100954bd
mov rsi, qword [rdi]
xor ebx, ebx
lea r15, [rsp + 0x70]
lea r14, [rsp + 0x60]
lea rax, [method.fhandler_base.get_handle__]
mov qword [rsp + 0x50], rax
test rsi, rsi
je 0x21009553c
mov rcx, r12
sub esi, ebx
call sym.ResetEvent
mov rax, qword [r13]
mov rax, qword [rax + 0x280]
cmp rax, qword [rsp + 0x50]
jne 0x2100950d8
mov rcx, qword [r13 + 0x18]
mov r9d, 0x28
mov r8, r15
mov rdx, r14
mov dword [rsp + 0x20], 0x18
call sym.NtQueryInformationFile
mov r10d, eax
test eax, eax
js 0x210094f16
mov eax, dword [rsp + 0x84]
test eax, eax
jne 0x210094f1f
test rbx, rbx
jne 0x210095013
mov rax, qword [r13]
mov rax, qword [rax + 0x280]
cmp rax, qword [rsp + 0x50]
jne 0x210095110
mov dword [rsp + 0x30], esi
mov rcx, qword [r13 + 0x18]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x40], 0
mov rdx, r12
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r14
call sym.NtReadFile
mov r10d, eax
cmp eax, 0x103
je 0x210095154
test byte [r13 + 9], 8
je 0x210095068
test byte [0x210273880], 1
mov dword [rsp + 0x50], r10d
jne 0x210095360
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov dword [rax], 9
call sym.msys_2.0.dll___errno
mov r10d, dword [rsp + 0x50]
mov dword [rax], 9
test r10d, r10d
js 0x210094fbd
cmp r10d, 0x80000005
je 0x210095017
mov rbx, 0xffffffffffffffff
test rbx, rbx
sete sil
cmp r10d, 0xe0000001
sete al
and esi, eax
mov rcx, qword [r13 + 0x1d8]
mov dword [rsp + 0x50], r10d
call sym.ReleaseMutex
mov rcx, r12
call sym.CloseHandle
test sil, sil
mov r10d, dword [rsp + 0x50]
jne 0x210095490
cmp r10d, 0xe0000002
je 0x21009559a
mov qword [rdi], rbx
jmp 0x210094da2
xor esi, esi
jmp 0x210094fd7
xor esi, esi
mov rbx, 0xffffffffffffffff
jmp 0x210094fd7
mov rcx, r13
call rax
mov rcx, qword [rax]
call sym.CancelIo
mov edx, dword [rsp + 0x5c]
cmp edx, 1
jne 0x210095196
movzx eax, byte [r13 + 9]
mov r10d, dword [rsp + 0x60]
and eax, 8
cmp r10d, 0xc0000120
je 0x2100952f8
test al, al
jne 0x210094f80
nop dword [rax]
mov eax, r10d
not eax
shr eax, 0x1f
cmp r10d, 0x80000005
sete sil
or sil, al
je 0x210095210
mov rax, qword [rsp + 0x68]
add rbp, rax
add rbx, rax
cmp qword [r13 + 0x68], 0
je 0x2100951f8
test rax, rax
jne 0x2100952d0
mov eax, r10d
shr eax, 0x1f
mov esi, eax
test sil, sil
jne 0x210094fc4
cmp r10d, 0x80000005
je 0x210095013
mov rsi, qword [rdi]
cmp rsi, rbx
ja 0x210094ec7
jmp 0x210094fc4
mov rcx, r13
call rax
mov dword [rsp + 0x20], 0x18
mov r8, r15
mov rdx, r14
mov rcx, qword [rax]
mov r9d, 0x28
call sym.NtQueryInformationFile
mov r10d, eax
test eax, eax
jns 0x210094f0b
jmp 0x210094f16
mov rcx, r13
call rax
mov dword [rsp + 0x30], esi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x40], 0
mov rdx, r12
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r14
mov rcx, qword [rax]
call sym.NtReadFile
mov r10d, eax
cmp eax, 0x103
jne 0x210094f75
xor edx, edx
mov r8d, 5
mov rcx, r12
call sym.cygwait_void___LARGE_INTEGER__unsigned_int_
mov edx, eax
mov rax, qword [r13]
mov dword [rsp + 0x5c], edx
mov rax, qword [rax + 0x280]
cmp rax, qword [rsp + 0x50]
jne 0x210095028
mov rcx, qword [r13 + 0x18]
call sym.CancelIo
mov edx, dword [rsp + 0x5c]
cmp edx, 1
je 0x210095042
movzx eax, byte [r13 + 9]
and eax, 8
cmp edx, 2
je 0x2100953a0
mov r10d, dword [rsp + 0x60]
test al, al
je 0x210095068
mov eax, r10d
shr eax, 0x1f
mov esi, eax
test edx, edx
je 0x210094f80
mov dword [rsp + 0x5c], r10d
mov rbx, 0xffffffffffffffff
call sym.GetLastError
mov edx, 0x16a
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_pipe.cc
mov r8d, eax
call sym.seterrno_from_win_error_char_const__int__unsigned_int_
mov r10d, dword [rsp + 0x5c]
jmp 0x2100950ab
test rax, rax
jne 0x2100950b4
test r10d, r10d
jns 0x2100950b4
jmp 0x210094fc4
lea eax, [r10 + 0x1fffffff]
cmp eax, 1
jbe 0x210095306
cmp r10d, 0xe0000001
sete al
cmp r10d, 0xc00000d9
je 0x210095252
cmp r10d, 0xc00000da
jge 0x2100952b0
cmp r10d, 0xc0000011
je 0x2100952bd
cmp r10d, 0xc00000b3
jne 0x2100953e0
test rbx, rbx
jne 0x210094fd7
mov rcx, r13
mov dword [rsp + 0x50], r10d
call method.fhandler_base.is_nonblocking__
mov r10d, dword [rsp + 0x50]
test al, al
je 0x2100953e0
test byte [0x210273880], 1
jne 0x210095555
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov dword [rsp + 0x50], r10d
mov rbx, 0xffffffffffffffff
mov dword [rax], 0xb
call sym.msys_2.0.dll___errno
mov r10d, dword [rsp + 0x50]
mov dword [rax], 0xb
jmp 0x210094fd7
cmp r10d, 0xc000014b
jne 0x2100953e0
test rbx, rbx
sete sil
and esi, eax
jmp 0x210094fd7
mov rax, qword [r13]
mov dword [rsp + 0x5c], r10d
lea rdx, str.raw_read
mov rcx, r13
call qword [rax + 0x340]
mov r10d, dword [rsp + 0x5c]
jmp 0x2100950b4
mov r10d, 0xe0000001
test al, al
jne 0x2100953ae
mov rax, qword [rsp + 0x68]
add rbp, rax
add rbx, rax
cmp qword [r13 + 0x68], 0
jne 0x21009509a
test rax, rax
jne 0x2100950c1
test r10d, r10d
jns 0x2100950c1
jmp 0x210094fc4
call sym.GetLastError
mov edx, 0x131
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_pipe.cc
mov r8d, eax
call sym.seterrno_from_win_error_char_const__int__unsigned_int_
mov qword [rdi], 0xffffffffffffffff
jmp 0x210094da2
lea rax, str.virtual_void_fhandler_pipe::raw_read_void__size_t_
mov dword [rsp + 0x30], 9
lea r9, [0x21028f2f4]
mov edx, 0x40
mov dword [rsp + 0x28], 0x168
lea r8, [0x21028f310]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x210094f92
mov r10d, 0xe0000002
test al, al
je 0x210095306
mov dword [rsp + 0x50], r10d
mov rbx, 0xffffffffffffffff
call sym.GetLastError
mov edx, 0x16a
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_pipe.cc
mov r8d, eax
call sym.seterrno_from_win_error_char_const__int__unsigned_int_
mov r10d, dword [rsp + 0x50]
jmp 0x210094fc4
mov r8d, r10d
mov edx, 0x18d
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_pipe.cc
mov dword [rsp + 0x50], r10d
call sym.seterrno_from_nt_status_char_const__int__int_
mov rbx, 0xffffffffffffffff
mov r10d, dword [rsp + 0x50]
jmp 0x210094fd7
lea rax, str.virtual_void_fhandler_pipe::raw_read_void__size_t_
mov dword [rsp + 0x30], 0xb
lea r9, [0x21028f2f4]
mov edx, 0x40
mov dword [rsp + 0x28], 0x125
lea r8, [0x21028f310]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x210094e1b
lea rax, str.virtual_void_fhandler_pipe::raw_read_void__size_t_
mov dword [rsp + 0x30], 4
lea r9, [0x21028f2f4]
mov edx, 0x40
mov dword [rsp + 0x28], 0x129
lea r8, [0x21028f310]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x210094e5f
test byte [0x210273880], 1
jne 0x2100954fc
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov rbx, 0xffffffffffffffff
mov dword [rax], 4
call sym.msys_2.0.dll___errno
mov dword [rax], 4
jmp 0x21009500b
call sym.GetLastError
mov edx, 0x138
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_pipe.cc
mov r8d, eax
call sym.seterrno_from_win_error_char_const__int__unsigned_int_
mov rcx, qword [r13 + 0x1d8]
mov qword [rdi], 0xffffffffffffffff
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.ReleaseMutex
lea rax, str.virtual_void_fhandler_pipe::raw_read_void__size_t_
mov dword [rsp + 0x30], 4
lea r9, [0x21028f2f4]
mov edx, 0x40
mov dword [rsp + 0x28], 0x19b
lea r8, [0x21028f310]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x210095499
mov rcx, qword [r13 + 0x1d8]
call sym.ReleaseMutex
mov rcx, r12
call sym.CloseHandle
jmp 0x21009500b
lea rax, str.virtual_void_fhandler_pipe::raw_read_void__size_t_
mov dword [rsp + 0x30], 0xb
lea r9, [0x21028f2f4]
mov edx, 0x40
mov dword [rsp + 0x28], 0x187
lea r8, [0x21028f310]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov r10d, dword [rsp + 0x50]
jmp 0x210095282
call method.pthread.static_cancel_self__
nop