Function at 0x1400fc040
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, 0x10b8
call fcn.140148d60
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1020], xmm6
mov qword [rbp + 0x1018], 0xfffffffffffffffe
mov qword [rbp + 0xfe8], rdx
mov r12, rcx
lea r13, [rbp - 0x50]
mov r8d, 0x1000
mov rcx, r13
xor edx, edx
call fcn.14014a250
xorps xmm6, xmm6
lea r14, [rbp + 0xff8]
lea rbx, [0x1400f2a40]
lea r15, [rbp + 0xfb0]
mov r10, qword [sym.imp.kernel32.dll_ReadFileEx]
lea rsi, [0x1400fc574]
mov rdi, qword [sym.imp.kernel32.dll_SleepEx]
mov qword [rbp + 0xff0], r12
mov dword [rbp + 0xff8], 0
movaps xmmword [rbp + 0xfb0], xmm6
mov qword [rbp + 0xfc0], 0
mov qword [rbp + 0xfc8], r14
mov qword [rsp + 0x20], rbx
mov rcx, r12
mov rdx, r13
mov r8d, 0x1000
mov r9, r15
call r10
test eax, eax
je 0x1400fc160
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call rdi
cmp dword [rbp + 0xff8], 0
je 0x1400fc110
mov ecx, dword [rbp + 0xffc]
test rcx, rcx
je 0x1400fc1a0
shl rcx, 0x20
or rcx, 2
mov qword [rbp + 0x1010], rcx
mov qword [rbp + 0x1008], 1
mov eax, ecx
and eax, 3
movsxd rax, dword [rsi + rax*4]
add rax, rsi
jmp rax
call qword [sym.imp.kernel32.dll_GetLastError]
mov ecx, eax
shl rcx, 0x20
or rcx, 2
mov qword [rbp + 0x1010], rcx
mov qword [rbp + 0x1008], 1
mov eax, ecx
and eax, 3
movsxd rax, dword [rsi + rax*4]
add rax, rsi
jmp rax
movzx eax, byte [rcx + 0x10]
jmp case.0x1400fc1e2.0
mov eax, dword [rbp + 0x1000]
mov qword [rbp + 0x1010], rax
mov qword [rbp + 0x1008], 0
jmp 0x1400fc1f4
shr rcx, 0x20
call fcn.1400e5790
jmp case.0x1400fc1e2.0
shr rcx, 0x20
cmp ecx, 0x28
ja case.default.0x1400fc1e2
xor eax, eax
lea rdx, [0x1400fc584]
movsxd rcx, dword [rdx + rcx*4]
invalid
or al, 0x8a
add rcx, rdx
jmp rcx
invalid
mov al, 1
jmp case.0x1400fc1e2.0
movzx eax, byte [rcx + 0xf]
cmp al, 0xb
je 0x1400fc493
mov rax, qword [rbp + 0x1008]
mov qword [rbp + 0xfd0], rax
mov rax, qword [rbp + 0x1010]
mov qword [rbp + 0xfd8], rax
cmp qword [rbp + 0xfd0], 0
jne 0x1400fc485
mov r12, qword [rbp + 0xfd8]
test r12, r12
je 0x1400fc451
cmp r12, 0x1000
ja 0x1400fc4bf
mov rsi, r13
xor r13d, r13d
nop word cs:[rax + rax]
mov r8d, r12d
sub r8d, r13d
lea rdx, [r13 - 0x50]
add rdx, rbp
mov dword [rbp + 0xff8], 0
movaps xmmword [rbp + 0xfb0], xmm6
mov qword [rbp + 0xfc0], 0
mov qword [rbp + 0xfc8], r14
mov qword [rsp + 0x20], rbx
mov rcx, qword [rbp + 0xfe8]
mov r9, r15
call qword [sym.imp.kernel32.dll_WriteFileEx]
test eax, eax
je 0x1400fc425
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call rdi
cmp dword [rbp + 0xff8], 0
je 0x1400fc2b0
mov eax, dword [rbp + 0xffc]
test rax, rax
jne 0x1400fc42b
mov eax, dword [rbp + 0x1000]
add r13, rax
cmp r13, r12
je 0x1400fc2f0
jbe 0x1400fc250
jmp 0x1400fc4ab
mov r12, qword [rbp + 0xff0]
mov r13, rsi
mov r10, qword [sym.imp.kernel32.dll_ReadFileEx]
ja 0x1400fc31f
invalid
add byte [rax - 0x73], cl
xor eax, 0x26c
insb byte [rdi], dx
add al, byte [rax]
add cl, ch
invalid
std
invalid
invalid
ja 0x1400fc31f
invalid
insb byte [rdi], dx
add al, byte [rax]
add cl, ch
mov eax, 0xb0fffffd
invalid
push qword [rax - 0x12716db]
mov al, 0x25
jmp case.0x1400fc1e2.0
invalid
push qword [rax - 0x12e16dd]
mov al, 0x23
invalid
sar esi, 1
invalid
mov al, 0x25
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x23
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x24
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
invalid
mov al, 0x1b
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x22
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x10
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0xe
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x21
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0xb
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 4
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x28
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0xc
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 9
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x19
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x18
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 2
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0xf
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 3
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 7
jmp case.0x1400fc1e2.0
mov al, 0x1f
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x11
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x29
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x14
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 5
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x15
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0xd
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 6
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x12
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0xa
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 8
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x1e
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x20
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x16
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x27
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x13
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x17
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x1c
jmp case.0x1400fc1e2.0
invalid
invalid
invalid
mov al, 0x1d
jmp case.0x1400fc1e2.0
mov al, 0x26
jmp case.0x1400fc1e2.0
mov al, 0x1a
jmp case.0x1400fc1e2.0
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x1010], rax
mov qword [rbp + 0x1008], 1
lea rcx, [rbp + 0x1010]
call fcn.1400e3fc0
mov rsi, qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, qword [rbp + 0xff0]
call rsi
mov rcx, qword [rbp + 0xfe8]
call rsi
movaps xmm6, xmmword [rbp + 0x1020]
add rsp, 0x10b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [rbp + 0xfd8]
call fcn.1400e3fc0
jmp 0x1400fc451
xorps xmm0, xmm0
movaps xmmword [rbp + 0xfd0], xmm0
lea rcx, [rbp + 0x1010]
call fcn.1400e3fc0
jmp 0x1400fc451
lea r8, str.library_std_src_syswindowspipe.rs
mov rcx, r13
mov rdx, r12
call fcn.140159ae0
jmp 0x1400fc4d3
lea r8, str.library_std_src_syswindowspipe.rs
mov edx, 0x1000
mov rcx, r12
call fcn.1401597e0
ud2