Function at 0x2100b45a0
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, 0x2c8
mov r14, qword [rsp + 0x338]
mov rbp, r8
mov r13, r9
test r14, r14
je 0x2100b4970
cmp edx, 8
jle 0x2100b45db
cmp word [rcx + 2], 0x6400
je 0x2100b4918
lea r12, [rsp + 0x170]
lea rdx, [rcx + 2]
xor r9d, r9d
mov r8d, 0x21
mov rcx, r12
mov dword [rsp + 0x170], 0xffffffff
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov dword [rsp + 0x188], 0
mov dword [rsp + 0x18c], 0
mov byte [rsp + 0x190], 0
mov qword [rsp + 0x1e0], 0
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 0
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
mov qword [rsp + 0x220], 0
mov dword [rsp + 0x290], 0
mov qword [rsp + 0x298], 0
mov qword [rsp + 0x2a0], 0
mov qword [rsp + 0x2a8], 0
mov qword [rsp + 0x2b0], 0
mov qword [rsp + 0x2b8], 0
call method.path_conv.check_char_const__unsigned_int__suffix_info_const_
mov ebx, dword [rsp + 0x290]
test ebx, ebx
jne 0x2100b4a18
cmp dword [rsp + 0x170], 0xffffffff
je 0x2100b4a40
xor edx, edx
mov rcx, r12
call method.path_conv.get_nt_native_path__UNICODE_STRING_
test rax, rax
je 0x2100b4753
mov edx, dword [0x2102d1cd0]
xor eax, eax
mov dword [rsp + 0xc0], 0x30
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xe8], 0
test edx, edx
setne al
add eax, eax
or eax, dword [rsp + 0x174]
mov dword [rsp + 0xd8], eax
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0xd0], rax
mov rax, qword [0x2102d1cc8]
mov qword [rsp + 0xe0], rax
lea rbx, [rsp + 0x70]
lea rdi, [rsp + 0xc0]
lea rsi, [rsp + 0x58]
lea r15, [0x2102f70a0]
mov r9, rbx
mov r8, rdi
mov edx, 0x80100000
mov rcx, rsi
mov dword [rsp + 0x28], 0x4060
mov dword [rsp + 0x20], 7
call sym.NtOpenFile
cmp eax, 0xc0000043
je 0x2100b48a0
test eax, eax
js 0x2100b4980
mov dword [rsp + 0x20], 4
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
mov r9d, 0x28
lea r8, [rsp + 0x90]
call sym.NtQueryInformationFile
test eax, eax
js 0x2100b4ae8
mov r10, qword [rsp + 0x58]
test byte [rsp + 0xb0], 4
je 0x2100b49c0
lea rdx, [rsp + 0xf0]
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdi, rdx
mov ecx, 0x10
rep stosq qword [rdi], rax
mov qword [rsp + 0x28], rdx
mov rcx, r10
xor edx, edx
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], pe_nt_image_headers64
call sym.NtReadFile
mov rcx, qword [rsp + 0x58]
mov ebx, eax
call sym.NtClose
test ebx, ebx
js 0x2100b4b07
mov eax, 2
mov word [rsp + 0x80], ax
movabs rax, 0x74656b636f733c21
cmp qword [rsp + 0xf0], rax
je 0x2100b4b26
test byte [0x210273880], 1
jne 0x2100b4be3
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov r15d, 0xffffffff
mov dword [rax], 9
call sym.msys_2.0.dll___errno
mov dword [rax], 9
mov rcx, r12
call method.path_conv.path_conv__
jmp 0x2100b49a2
call sym.pthread_testcancel_1
xor ecx, ecx
mov r8d, 8
mov rdx, r15
call sym.cygwait_void___LARGE_INTEGER__unsigned_int_
cmp eax, 1
je 0x2100b48c8
call sym.yield
jmp 0x2100b476c
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 8]
sub rcx, 0x3200
call method._cygtls.call_signal_handler__
test eax, eax
jne 0x2100b48ba
test byte [0x210273880], 1
jne 0x2100b4bf8
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov r15d, 0xffffffff
mov dword [rax], 4
call sym.msys_2.0.dll___errno
mov dword [rax], 4
jmp 0x2100b488d
cmp byte [rcx + 8], 0
jne 0x2100b45db
mov r8d, 2
add rcx, 4
lea rdx, str._04hx
xor r15d, r15d
mov word [rsp + 0x170], r8w
lea r8, [rsp + 0x172]
call sym.sscanf_1
mov dword [r13], 0x10
mov dword [rsp + 0x174], 0x100007f
movdqa xmm0, xmmword [rsp + 0x170]
movups xmmword [rbp], xmm0
jmp 0x2100b49a2
lea r14, [rsp + 0x60]
jmp 0x2100b45ca
mov r8d, eax
mov edx, 0x93
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_socket_local.cc
mov r15d, 0xffffffff
call sym.seterrno_from_nt_status_char_const__int__int_
mov rcx, r12
call method.path_conv.path_conv__
mov eax, r15d
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r10
call sym.NtClose
test byte [0x210273880], 1
je 0x2100b486f
mov dword [rsp + 0x30], 9
mov dword [rsp + 0x28], 0xa4
lea rax, str.int_get_inet_addr_local_const_sockaddr__int__sockaddr_storage__int__int__int_
lea r9, [0x2102938d1]
mov edx, 0x40
mov qword [rsp + 0x20], rax
lea r8, [0x2102938e8]
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100b486f
test byte [0x210273880], 1
jne 0x2100b4a6c
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov r15d, 0xffffffff
mov dword [rax], ebx
call sym.msys_2.0.dll___errno
mov dword [rax], ebx
jmp 0x2100b488d
test byte [0x210273880], 1
jne 0x2100b4aa8
mov rax, qword [sym.msys_2.0.dll__impure_ptr]
mov r15d, 0xffffffff
mov dword [rax], 2
call sym.msys_2.0.dll___errno
mov dword [rax], 2
jmp 0x2100b488d
lea rax, str.int_get_inet_addr_local_const_sockaddr__int__sockaddr_storage__int__int__int_
mov dword [rsp + 0x30], ebx
lea r9, [0x2102938d1]
mov edx, 0x40
mov dword [rsp + 0x28], 0x62
lea r8, [0x2102938e8]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100b4a21
lea rax, str.int_get_inet_addr_local_const_sockaddr__int__sockaddr_storage__int__int__int_
mov dword [rsp + 0x30], 2
lea r9, [0x2102938d1]
mov edx, 0x40
mov dword [rsp + 0x28], 0x67
lea r8, [0x2102938e8]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100b4a49
mov r8d, eax
mov edx, 0x9e
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_socket_local.cc
mov r15d, 0xffffffff
call sym.seterrno_from_nt_status_char_const__int__int_
jmp 0x2100b488d
mov r8d, ebx
mov edx, 0xc4
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_socket_local.cc
mov r15d, 0xffffffff
call sym.seterrno_from_nt_status_char_const__int__int_
jmp 0x2100b488d
cmp word [rsp + 0xf8], 0x3e20
jne 0x2100b4862
lea rax, [r14 + 0xc]
mov qword [rsp + 0x20], r14
xor r15d, r15d
lea rcx, [rsp + 0xfa]
mov qword [rsp + 0x38], rax
lea rax, [r14 + 8]
lea r9, [rsp + 0x57]
mov qword [rsp + 0x30], rax
lea rax, [r14 + 4]
lea r8, [rsp + 0x82]
mov qword [rsp + 0x28], rax
lea rdx, str._hu__c__08x__08x__08x__08x
call sym.sscanf_1
movzx eax, word [rsp + 0x82]
mov dword [rsp + 0x84], 0x100007f
xchg ah, al
mov word [rsp + 0x82], ax
movdqa xmm1, xmmword [rsp + 0x80]
cmp qword [rsp + 0x330], 0
movups xmmword [rbp], xmm1
mov dword [r13], 0x10
je 0x2100b488d
movzx edx, byte [rsp + 0x57]
mov eax, 1
cmp dl, 0x73
je 0x2100b4bd4
xor eax, eax
cmp dl, 0x64
sete al
add eax, eax
mov rsi, qword [rsp + 0x330]
mov dword [rsi], eax
jmp 0x2100b488d
mov dword [rsp + 0x30], 9
mov dword [rsp + 0x28], 0xb3
jmp 0x2100b49e5
lea rax, str.int_get_inet_addr_local_const_sockaddr__int__sockaddr_storage__int__int__int_
mov dword [rsp + 0x30], 4
lea r9, [0x2102938d1]
mov edx, 0x40
mov dword [rsp + 0x28], 0x8c
lea r8, [0x2102938e8]
lea rcx, [0x210273880]
mov qword [rsp + 0x20], rax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100b48f2