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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x10a8
call fcn.140121a80
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1010], xmm6
mov rsi, rdx
mov r14, rcx
lea r13, [rbp - 0x50]
mov r8d, 0x1000
mov rcx, r13
xor edx, edx
call sub.msvcrt.dll_memset
xorps xmm6, xmm6
lea r12, [rbp + 0x1004]
lea rdi, [0x1400f7050]
lea rbx, [rbp + 0xfc0]
mov qword [rbp + 0xfe8], r14
mov dword [rbp + 0x1004], 0
movaps xmmword [rbp + 0xfc0], xmm6
mov qword [rbp + 0xfd0], 0
mov qword [rbp + 0xfd8], r12
mov qword [rsp + 0x20], rdi
mov rcx, r14
mov rdx, r13
mov r8d, 0x1000
mov r9, rbx
call sub.kernel32.dll_ReadFileEx
test eax, eax
je 0x1400ffbb6
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call sub.kernel32.dll_SleepEx
cmp dword [rbp + 0x1004], 0
je 0x1400ffa30
mov eax, dword [rbp + 0x1008]
mov r15d, dword [rbp + 0x100c]
mov rcx, rax
shl rcx, 0x20
or rcx, 2
xor edx, edx
test eax, eax
setne dl
cmovne r15, rcx
mov qword [rbp + 0xff0], rdx
mov qword [rbp + 0xff8], r15
jne 0x1400ffbee
test r15, r15
je 0x1400ffb87
cmp r15, 0x1000
ja 0x1400ffd77
xor r14d, r14d
nop dword [rax + rax]
mov r8d, r15d
sub r8d, r14d
lea rdx, [r14 + rbp]
add rdx, 0xffffffffffffffb0
mov dword [rbp + 0x1004], 0
movaps xmmword [rbp + 0xfc0], xmm6
mov qword [rbp + 0xfd0], 0
mov qword [rbp + 0xfd8], r12
mov qword [rsp + 0x20], rdi
mov rcx, rsi
mov r9, rbx
call sub.kernel32.dll_WriteFileEx
test eax, eax
je 0x1400ffb5c
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call sub.kernel32.dll_SleepEx
cmp dword [rbp + 0x1004], 0
je 0x1400ffaf0
mov ecx, dword [rbp + 0x1008]
mov eax, dword [rbp + 0x100c]
mov rdx, rcx
shl rdx, 0x20
or rdx, 2
xor r8d, r8d
test ecx, ecx
setne r8b
cmove rdx, rax
mov qword [rbp + 0xff0], r8
mov qword [rbp + 0xff8], rdx
jne 0x1400ffb7b
add r14, rax
cmp r14, r15
je 0x1400ffb50
jbe 0x1400ffaa0
jmp 0x1400ffd63
mov r14, qword [rbp + 0xfe8]
jmp 0x1400ff9e1
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0xff0], 1
mov qword [rbp + 0xff8], rax
lea rcx, [rbp + 0xff8]
call fcn.1400d37e0
call sub.kernel32.dll_GetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
mov qword [rbp + 0xff0], 1
mov qword [rbp + 0xff8], r15
mov eax, r15d
and eax, 3
lea rcx, [0x1401349d8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov eax, r15d
and eax, 3
add ecx, dword [rax - 0x73]
or eax, 0x34ddd
movzx eax, byte [r15 + 0x10]
mov rcx, r15
shr rcx, 0x20
and al, ch
or dword [rcx - 3], esi
invalid
jmp 0x1400ffc42
mov rax, r15
shr rax, 0x20
cmp eax, 0x28
ja 0x1400ffcde
mov ch, 0
add byte [rax], al
movzx eax, byte [r15 + 0xf]
mov al, 4
jmp 0x1400ffc42
invalid
mov al, 0x28
jmp 0x1400ffc42
mov al, 0xc
mov al, 0x19
jmp 0x1400ffc42
mov byte [rax - 0x4f7b14f1], dh
add ebp, ebx
jmp 0x1400ffc42
mov al, 7
jmp 0x1400ffc42
mov al, 1
invalid
jb 0x1400ffccd
invalid
jmp 0x1400ffc42
invalid
invalid
invalid
mov al, 0x29
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
invalid
lea r8, str.library_std_src_syspalwindowspipe.rs
mov rcx, r14
mov rdx, r15
call fcn.14003d700
jmp 0x1400ffd8b
lea r8, str.library_std_src_syspalwindowspipe.rs
mov edx, 0x1000
mov rcx, r15
call fcn.140039350
ud2
add byte [rax], al
add byte [rbp + 0x41], dl
push rbp
push r14
in al, dx
nop
add byte [rax], al
add byte [rax - 0x73], cl
lea rbp, [rsp + 0x80]
mov rdi, r8