Function at 0x1400223e0
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, 0x10c8
call fcn.140028260
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1030], xmm6
mov qword [rbp + 0x1028], 0xfffffffffffffffe
mov r15, rcx
mov qword [rbp + 0xfb0], rcx
mov qword [rbp + 0xfe0], rdx
mov qword [rbp + 0xfb8], rdx
lea rbx, [rbp - 0x50]
mov r8d, 0x1000
mov rcx, rbx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xorps xmm6, xmm6
lea r14, [rbp + 0x1008]
lea r13, [0x140018cc0]
lea rsi, [rbp + 0xfc0]
mov r10, qword [sym.imp.KERNEL32.dll_ReadFileEx]
lea r12, [0x140022904]
mov rdi, qword [sym.imp.KERNEL32.dll_SleepEx]
mov qword [rbp + 0xfe8], r15
mov dword [rbp + 0x1008], 0
movaps xmmword [rbp + 0xfc0], xmm6
mov qword [rbp + 0xfd0], 0
mov qword [rbp + 0xfd8], r14
mov qword [rsp + 0x20], r13
mov rcx, r15
mov rdx, rbx
mov r8d, 0x1000
mov r9, rsi
call r10
test eax, eax
je 0x140022510
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call rdi
cmp dword [rbp + 0x1008], 0
je 0x1400224c0
mov ecx, dword [rbp + 0x100c]
test rcx, rcx
je 0x140022550
shl rcx, 0x20
or rcx, 2
mov qword [rbp + 0x1020], rcx
mov qword [rbp + 0x1018], 1
mov eax, ecx
and eax, 3
movsxd rax, dword [r12 + rax*4]
add rax, r12
jmp rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
shl rcx, 0x20
or rcx, 2
mov qword [rbp + 0x1020], rcx
mov qword [rbp + 0x1018], 1
mov eax, ecx
and eax, 3
movsxd rax, dword [r12 + rax*4]
add rax, r12
jmp rax
movzx eax, byte [rcx + 0x10]
jmp case.0x140022592.0
mov eax, dword [rbp + 0x1010]
mov qword [rbp + 0x1020], rax
mov qword [rbp + 0x1018], 0
jmp 0x1400225a4
shr rcx, 0x20
call fcn.1400100c0
jmp case.0x140022592.0
shr rcx, 0x20
cmp ecx, 0x28
ja case.default.0x140022592
xor eax, eax
lea rdx, [0x140022914]
movsxd rcx, dword [rdx + rcx*4]
invalid
or al, 0x8a
add rcx, rdx
jmp rcx
invalid
mov al, 1
jmp case.0x140022592.0
movzx eax, byte [rcx + 0xf]
cmp al, 0xb
je 0x140022823
mov rax, qword [rbp + 0x1018]
mov qword [rbp + 0xff0], rax
mov rax, qword [rbp + 0x1020]
mov qword [rbp + 0xff8], rax
cmp qword [rbp + 0xff0], 0
jne 0x140022815
mov r12, qword [rbp + 0xff8]
test r12, r12
je 0x1400227e5
cmp r12, 0x1000
ja 0x14002284f
xor r15d, r15d
nop
mov r8d, r12d
sub r8d, r15d
lea rdx, [r15 + rbp]
add rdx, 0xffffffffffffffb0
mov dword [rbp + 0x1008], 0
movaps xmmword [rbp + 0xfc0], xmm6
mov qword [rbp + 0xfd0], 0
mov qword [rbp + 0xfd8], r14
mov qword [rsp + 0x20], r13
mov rcx, qword [rbp + 0xfe0]
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_WriteFileEx]
test eax, eax
je 0x1400227b2
nop
mov ecx, 0xffffffff
mov edx, 1
call rdi
cmp dword [rbp + 0x1008], 0
je 0x140022640
mov eax, dword [rbp + 0x100c]
test rax, rax
jne 0x1400227b8
mov eax, dword [rbp + 0x1010]
add r15, rax
cmp r15, r12
je 0x140022680
jbe 0x1400225f0
jmp 0x14002283b
mov r15, qword [rbp + 0xfe8]
mov r10, qword [sym.imp.KERNEL32.dll_ReadFileEx]
fidivr dword [rdx]
add byte [rbp + rcx*4 + 0x25], cl
outsd dx, dword [rsi]
add al, byte [rax]
add cl, ch
fscale
invalid
invalid
fidivr dword [rdx]
add byte [rbp + rcx*4 + 0x25], cl
outsd dx, dword [rsi]
add al, byte [rax]
add cl, ch
fscale
invalid
mov al, 0x25
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x23
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x24
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x1b
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x22
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x10
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0xe
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x21
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0xb
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 4
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x28
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0xc
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 9
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x19
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x18
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 2
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0xf
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 3
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 7
jmp case.0x140022592.0
mov al, 0x1f
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x11
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x29
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x14
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 5
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x15
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0xd
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 6
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x12
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0xa
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 8
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x1e
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x20
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x16
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x27
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x13
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x17
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x1c
jmp case.0x140022592.0
invalid
invalid
invalid
mov al, 0x1d
jmp case.0x140022592.0
mov al, 0x26
jmp case.0x140022592.0
mov al, 0x1a
jmp case.0x140022592.0
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x1020], rax
mov qword [rbp + 0x1018], 1
lea rcx, [rbp + 0x1020]
call fcn.14000e950
mov r15, qword [rbp + 0xfe8]
mov rdi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r15
call rdi
mov rcx, qword [rbp + 0xfe0]
call rdi
movaps xmm6, xmmword [rbp + 0x1030]
add rsp, 0x10c8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [rbp + 0xff8]
call fcn.14000e950
jmp 0x1400227e5
xorps xmm0, xmm0
movaps xmmword [rbp + 0xff0], xmm0
lea rcx, [rbp + 0x1020]
call fcn.14000e950
jmp 0x1400227e5
lea r8, str.library_std_src_syswindowspipe.rs
mov rcx, r15
mov rdx, r12
call fcn.1400290c0
jmp 0x140022863
lea r8, str.library_std_src_syswindowspipe.rs
mov edx, 0x1000
mov rcx, r12
call fcn.140028e50
ud2