Function at 0x1400c1f50
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.1400dac20
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, [0x1400b9c40]
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 0x1400c2186
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call sub.kernel32.dll_SleepEx
cmp dword [rbp + 0x1004], 0
je 0x1400c2000
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 0x1400c21be
test r15, r15
je 0x1400c2157
cmp r15, 0x1000
ja 0x1400c2347
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 0x1400c212c
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call sub.kernel32.dll_SleepEx
cmp dword [rbp + 0x1004], 0
je 0x1400c20c0
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 0x1400c214b
add r14, rax
cmp r14, r15
je 0x1400c2120
jbe 0x1400c2070
jmp 0x1400c2333
mov r14, qword [rbp + 0xfe8]
jmp 0x1400c1fb1
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.140096060
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, [0x1400e2c48]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov eax, r15d
and eax, 3
add ecx, dword [rax - 0x73]
or eax, 0x20a7d
movzx eax, byte [r15 + 0x10]
mov rcx, r15
shr rcx, 0x20
and al, ch
stc
outsd dx, dword [rsi]
std
invalid
jmp 0x1400c2212
mov rax, r15
shr rax, 0x20
cmp eax, 0x28
ja 0x1400c22ae
mov ch, 0
add byte [rax], al
movzx eax, byte [r15 + 0xf]
mov al, 4
jmp 0x1400c2212
invalid
mov al, 0x28
jmp 0x1400c2212
mov al, 0xc
mov al, 0x19
jmp 0x1400c2212
mov byte [rax - 0x4f7b14f1], dh
add ebp, ebx
jmp 0x1400c2212
mov al, 7
jmp 0x1400c2212
mov al, 1
invalid
jb 0x1400c229d
invalid
jmp 0x1400c2212
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.140008810
jmp 0x1400c235b
lea r8, str.library_std_src_syspalwindowspipe.rs
mov edx, 0x1000
mov rcx, r15
call fcn.140005bf0
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
mov dword [rbp - 0x48], eax