Function at 0x14003a580
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.1400423b0
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.140042c30
xorps xmm6, xmm6
lea r14, [rbp + 0xff8]
lea rbx, [0x140030490]
lea r15, [rbp + 0xfb0]
mov r10, qword [sym.imp.KERNEL32.dll_ReadFileEx]
lea rsi, [0x14003aab4]
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 0x14003a6a0
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call rdi
cmp dword [rbp + 0xff8], 0
je 0x14003a650
mov ecx, dword [rbp + 0xffc]
test rcx, rcx
je 0x14003a6e0
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.0x14003a722.0
mov eax, dword [rbp + 0x1000]
mov qword [rbp + 0x1010], rax
mov qword [rbp + 0x1008], 0
jmp 0x14003a734
shr rcx, 0x20
call fcn.140023990
jmp case.0x14003a722.0
shr rcx, 0x20
cmp ecx, 0x28
ja case.default.0x14003a722
xor eax, eax
lea rdx, [0x14003aac4]
movsxd rcx, dword [rdx + rcx*4]
invalid
or al, 0x8a
add rcx, rdx
jmp rcx
invalid
mov al, 1
jmp case.0x14003a722.0
movzx eax, byte [rcx + 0xf]
cmp al, 0xb
je 0x14003a9d3
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 0x14003a9c5
mov r12, qword [rbp + 0xfd8]
test r12, r12
je 0x14003a991
cmp r12, 0x1000
ja 0x14003a9ff
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 0x14003a965
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call rdi
cmp dword [rbp + 0xff8], 0
je 0x14003a7f0
mov eax, dword [rbp + 0xffc]
test rax, rax
jne 0x14003a96b
mov eax, dword [rbp + 0x1000]
add r13, rax
cmp r13, r12
je 0x14003a830
jbe 0x14003a790
jmp 0x14003a9eb
mov r12, qword [rbp + 0xff0]
mov r13, rsi
mov r10, qword [sym.imp.KERNEL32.dll_ReadFileEx]
xchg dword [rcx + 1], edi
add byte [rax - 0x73], cl
xor eax, 0x26c
insb byte [rdi], dx
add al, byte [rax]
invalid
xchg dword [rcx + 1], edi
add byte [rax - 0x73], cl
xor eax, 0x26c
insb byte [rdi], dx
add al, byte [rax]
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.0x14003a722.0
invalid
push qword [rax - 0x12e16dd]
mov al, 0x23
invalid
sar esi, 1
jmp 0x14003a605
invalid
mov al, 0x25
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x23
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x24
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x1b
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x22
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x10
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0xe
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x21
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0xb
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 4
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x28
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0xc
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 9
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x19
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x18
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 2
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0xf
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 3
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 7
jmp case.0x14003a722.0
mov al, 0x1f
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x11
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x29
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x14
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 5
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x15
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0xd
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 6
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x12
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0xa
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 8
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x1e
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x20
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x16
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x27
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x13
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x17
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x1c
jmp case.0x14003a722.0
invalid
invalid
invalid
mov al, 0x1d
jmp case.0x14003a722.0
mov al, 0x26
jmp case.0x14003a722.0
mov al, 0x1a
jmp case.0x14003a722.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.1400220b0
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.1400220b0
jmp 0x14003a991
xorps xmm0, xmm0
movaps xmmword [rbp + 0xfd0], xmm0
lea rcx, [rbp + 0x1010]
call fcn.1400220b0
jmp 0x14003a991
lea r8, [0x1412cbd00]
mov rcx, r13
mov rdx, r12
call fcn.140050b30
jmp 0x14003aa13
lea r8, [0x1412cbd00]
mov edx, 0x1000
mov rcx, r12
call fcn.1400508b0
ud2