Function at 0x140042230
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1098
call sym.___chkstk_ms
sub rsp, rax
movaps xmmword [rsp + 0x1080], xmm6
mov rsi, rdx
mov rdi, rcx
lea r13, [rsp + 0x80]
mov r8d, 0x1000
mov rcx, r13
xor edx, edx
call sub.msvcrt.dll_memset
xorps xmm6, xmm6
lea r14, [rsp + 0x34]
lea r12, [sym.std::sys::pal::windows::pipe::AnonPipe::alertable_io_internal::callback::h4a1f7b3889dadede]
lea rbp, [rsp + 0x50]
mov dword [rsp + 0x34], 0
movaps xmmword [rsp + 0x50], xmm6
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x20], r12
mov rcx, rdi
mov rdx, r13
mov r8d, 0x1000
mov r9, rbp
call sub.KERNEL32.dll_ReadFileEx
test eax, eax
je 0x14004241c
nop
mov ecx, 0xffffffff
mov edx, 1
call sub.KERNEL32.dll_SleepEx
cmp dword [rsp + 0x34], 0
je 0x1400422c0
mov eax, dword [rsp + 0x38]
mov r15d, dword [rsp + 0x3c]
mov rcx, rax
shl rcx, 0x20
or rcx, 2
xor edx, edx
test eax, eax
setne dl
cmovne r15, rcx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], r15
jne 0x140042450
test r15, r15
je 0x1400423f0
cmp r15, 0x1000
ja 0x1400425b7
xor ebx, ebx
nop dword [rax]
mov r8d, r15d
sub r8d, ebx
lea rdx, [rsp + rbx]
add rdx, 0x80
mov dword [rsp + 0x34], 0
movaps xmmword [rsp + 0x50], xmm6
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x20], r12
mov rcx, rsi
mov r9, rbp
call sub.KERNEL32.dll_WriteFileEx
test eax, eax
je 0x1400423cb
mov ecx, 0xffffffff
mov edx, 1
call sub.KERNEL32.dll_SleepEx
cmp dword [rsp + 0x34], 0
je 0x140042360
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
mov rdx, rcx
shl rdx, 0x20
or rdx, 2
xor r8d, r8d
test ecx, ecx
setne r8b
cmove rdx, rax
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rdx
jne 0x1400423e6
add rbx, rax
cmp rbx, r15
je 0x140042283
jbe 0x140042320
lea r8, str.library_std_src_syspalwindowspipe.rs
mov rcx, rbx
mov rdx, r15
call sym.core::slice::index::slice_index_order_fail::h62af619b02b01d7a
jmp 0x1400425cb
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call sym.core::ptr::drop_in_place_std::io::error::Error_::ha5de4730a10cc339
call sub.KERNEL32.dll_GetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], r15
mov eax, r15d
and eax, 3
lea rcx, [0x14004e1c8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov eax, r15d
and eax, 3
add ecx, dword [rax - 0x73]
or eax, 0xbd6b
movzx eax, byte [r15 + 0x10]
mov rcx, r15
shr rcx, 0x20
and al, ch
invalid
test ch, bh
invalid
jmp 0x1400424a4
mov rax, r15
shr rax, 0x20
cmp eax, 0x28
ja case.default.0x140042499
cmpsd dword [rsi], dword [rdi]
add byte [rax], al
invalid
lea rcx, [0x14004e1d8]
xor eax, eax
jmp 0x1400424a4
movzx eax, byte [r15 + 0xf]
mov al, 0xc
jmp 0x1400424a4
invalid
mov al, 9
jmp 0x1400424a4
mov al, 0x19
jmp 0x1400424a4
mov al, 2
jmp 0x1400424a4
mov byte [rax - 0x4f7b14f9], dh
add ebx, ebp
xor byte [rax - 0x8616e1], 0xff
mov al, 0x1f
jmp 0x1400424a4
mov al, 0x11
invalid
jb 0x14004252f
mov al, 7
jmp 0x1400424a4
invalid
mov al, 1
jmp 0x1400424a4
mov al, 0x1f
invalid
mov al, 0x11
invalid
mov al, 0x29
invalid
mov al, 5
invalid
mov al, 0x14
invalid
mov al, 0x15
invalid
mov al, 0xd
invalid
mov al, 6
invalid
mov al, 0x12
invalid
mov al, 8
invalid
mov al, 0xa
invalid
mov al, 0x1e
invalid
mov al, 0x20
invalid
mov al, 0x16
invalid
mov al, 0x27
invalid
mov al, 0x13
jmp 0x1400424a4
invalid
invalid
invalid
mov al, 0x17
jmp 0x1400424a4
invalid
invalid
invalid
mov al, 0x1c
jmp 0x1400424a4
invalid
invalid
invalid
mov al, 0x1d
jmp 0x1400424a4
mov al, 0x26
jmp 0x1400424a4
mov al, 0x1a
jmp 0x1400424a4
lea r8, str.library_std_src_syspalwindowspipe.rs
mov edx, 0x1000
mov rcx, r15
call sym.core::slice::index::slice_end_index_len_fail::h89faa5dda92f1452
ud2
push rdi
push rbx
sub rsp, 0x88
mov rdi, r8
invalid
mov rsi, rdx
mov rbx, rcx
invalid
mov dword [rsp + 0x28], eax