Function at 0x2100a9440
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
xor r9d, r9d
lea rdi, [method.fhandler_base.get_handle__]
lea r14, [0x210273880]
mov r15, rcx
mov rsi, rdx
mov rbx, r8
mov edx, 1
xor r8d, r8d
lea rcx, [0x2102d1cc0]
mov qword [rsp + 0x40], 0
lea rbp, [rsp + 0x38]
mov qword [rsp + 0x48], 0
lea r12, [rsp + 0x40]
lea r13, [rsp + 0x3c]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
call sym.CreateEventA
mov qword [rsp + 0x58], rax
mov rax, qword [r15]
mov rax, qword [rax + 0x280]
cmp rax, rdi
jne 0x2100a9620
mov qword [rsp + 0x20], r12
mov rcx, qword [r15 + 0x18]
mov r9, rbp
mov r8d, ebx
mov rdx, rsi
call sym.WriteFile
test eax, eax
jne 0x2100a953a
call sym.GetLastError
cmp eax, 0x3e3
je 0x2100a95c0
cmp eax, 0x3e5
jne 0x2100a9580
mov rcx, r15
call method.fhandler_base.is_nonblocking__
test al, al
je 0x2100a9550
mov rax, qword [r15]
mov rax, qword [rax + 0x280]
cmp rax, rdi
jne 0x2100a9670
lea r10, [r15 + 0x18]
mov rcx, qword [r10]
mov r9d, 1
mov r8, rbp
mov rdx, r12
call sym.GetOverlappedResult
test eax, eax
je 0x2100a9580
mov rcx, qword [rsp + 0x58]
call sym.CloseHandle
mov eax, dword [rsp + 0x38]
jmp 0x2100a95aa
mov rcx, qword [rsp + 0x58]
xor edx, edx
mov r8d, 5
call sym.cygwait_void___LARGE_INTEGER__unsigned_int_
cmp eax, 1
je 0x2100a9680
cmp eax, 2
je 0x2100a96ca
test eax, eax
je 0x2100a950b
nop dword [rax + rax]
call sym.GetLastError
mov edx, 0xec
lea rcx, str._usr_src_MSYS2_packages_msys2_runtime_src_msys2_runtime_winsup_cygwin_fhandler_serial.cc
mov r8d, eax
call sym.seterrno_from_win_error_char_const__int__unsigned_int_
mov rcx, qword [rsp + 0x58]
call sym.CloseHandle
mov rax, 0xffffffffffffffff
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [r15]
mov rax, qword [rax + 0x280]
cmp rax, rdi
jne 0x2100a9650
mov rcx, qword [r15 + 0x18]
xor r8d, r8d
mov rdx, r13
call sym.ClearCommError
test eax, eax
je 0x2100a9580
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x2100a94b6
test byte [r14], 1
je 0x2100a94b6
mov dword [rsp + 0x20], eax
lea r9, str.error_detected__x
mov edx, 0x100
mov rcx, r14
lea r8, str.virtual_ssize_t_fhandler_serial::raw_write_const_void__size_t_
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100a94b6
mov rcx, r15
call rax
mov qword [rsp + 0x20], r12
mov r9, rbp
mov r8d, ebx
mov rcx, qword [rax]
mov rdx, rsi
call sym.WriteFile
test eax, eax
je 0x2100a94e4
jmp 0x2100a953a
mov rcx, r15
call rax
xor r8d, r8d
mov rdx, r13
mov rcx, qword [rax]
call sym.ClearCommError
test eax, eax
jne 0x2100a95e6
jmp 0x2100a9580
mov rcx, r15
call rax
mov r10, rax
jmp 0x2100a9522
mov rax, qword [r15]
mov rax, qword [rax + 0x280]
cmp rax, rdi
jne 0x2100a96c0
lea r10, [r15 + 0x18]
mov rcx, qword [r10]
mov edx, 1
call sym.PurgeComm
mov ecx, 4
call sym.set_sig_errno
mov rcx, qword [rsp + 0x58]
call sym.CloseHandle
mov rax, 0xffffffffffffffff
jmp 0x2100a95aa
mov rcx, r15
call rax
mov r10, rax
jmp 0x2100a9693
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x280]
mov edx, 1
mov rcx, qword [rax]
call sym.PurgeComm
call method.pthread.static_cancel_self__
nop
nop
nop word [rax + rax]