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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x14005a040]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r14, rcx
mov rsi, qword [rcx + 0x468]
mov edi, dword [rcx + 0x470]
mov dword [rbp - 0x35], edi
mov cl, 1
mov byte [rbp - 0x39], cl
mov rax, qword [r14 + 0x4a8]
cmp qword [r14 + 0x4a0], rax
jle 0x14001aea2
nop
mov rdi, rsi
test cl, cl
je 0x14001aea2
mov rax, qword [r14 + 0x460]
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 8]
sub r8, rcx
xor edx, edx
call fcn.14003c460
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r14 + 0x4a8]
mov rcx, r14
call fcn.14001b510
test al, al
je 0x14001aea2
mov rax, qword [r14 + 0x4a0]
sub rax, qword [r14 + 0x4a8]
cmp rax, 0x10
jl 0x14001aea2
cmp rax, rsi
cmovl rsi, rax
mov rbx, rsi
mov r15d, eax
cmovge r15d, edi
mov rsi, rax
cmovge rsi, rdi
mov r12, qword [r14 + 0x460]
mov qword [rbp - 0x19], 0
lea r9, [rbp + 0x1f]
mov r8d, 1
mov rdx, qword [rbp - 0x19]
mov rcx, r14
call fcn.14001b510
test al, al
je 0x14001ae3b
mov rdx, qword [rbp + 0x1f]
mov rdi, rdx
mov qword [rbp - 0x21], rdx
xor r13d, r13d
mov dword [rbp - 0x31], r13d
mov dword [rbp - 9], r13d
mov rax, qword [r12 + 8]
mov qword [rbp - 0x29], rax
test r15d, r15d
je 0x14001ab49
nop word [rax + rax]
mov r13d, ebx
sub r13d, dword [rbp - 0x31]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.14001b510
test al, al
je 0x14001ae3b
cmp qword [r14 + 0x440], 0xffffffffffffffff
je 0x14001ae3b
xor r15d, r15d
mov rdi, qword [rbp - 0x29]
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x20], 0
lea r9, [rbp - 9]
mov r8d, r13d
mov rdx, rdi
mov rcx, qword [r14 + 0x440]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test r12d, r12d
jne 0x14001ab18
lea r8, [r14 + 0x420]
cmp qword [r8 + 0x18], 7
jbe 0x14001aaef
mov r8, qword [r8]
mov r9d, eax
lea rdx, str._s:_ReadFile_code:__lu
mov rcx, r14
call fcn.14001a800
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
inc r15d
cmp r15d, 0x32
jl 0x14001aab0
test r12d, r12d
mov rdi, qword [rbp - 0x21]
je 0x14001ae3b
mov eax, dword [rbp - 9]
add qword [r14 + 0x458], rax
mov r13d, dword [rbp - 0x31]
add r13d, eax
mov dword [rbp - 0x31], r13d
add qword [rbp - 0x29], rax
cmp r13d, ebx
jae 0x14001ab49
mov rdx, qword [rbp + 0x1f]
jmp 0x14001aa70
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.14001b510
test al, al
je 0x14001ae3b
test r13d, r13d
je 0x14001ae3b
xor ebx, ebx
mov rax, qword [r14 + 0x460]
mov r15, qword [rax + 8]
mov r12d, r13d
mov qword [rbp - 0x21], r12
test r13d, r13d
je 0x14001abe3
mov edx, dword [rbp - 0x35]
nop word [rax + rax]
mov rcx, rsi
sub rcx, rbx
cmp rcx, 0x10
jl 0x14001abd4
mov eax, edx
cmp rcx, rax
cmovge ecx, edx
mov dword [rbp - 0x35], ecx
mov edi, ecx
mov rax, qword [r14]
mov r8d, ecx
mov rdx, r15
mov rcx, r14
call qword [rax + 0x10]
mov byte [rbp - 0x39], al
test al, al
je 0x14001abe3
add rbx, rdi
add r15, rdi
mov edx, edi
mov dword [rbp - 0x35], edx
cmp rbx, r12
jl 0x14001ab90
mov dword [rbp - 0x35], edi
jmp 0x14001abe3
lea rdx, str.chunk_temp_lower_than_...
mov rcx, r14
call fcn.14001a800
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r14 + 0x4a8]
mov rcx, r14
call fcn.14001b510
mov rcx, r14
test al, al
je 0x14001add2
mov r12, qword [r14 + 0x460]
xor r15d, r15d
mov qword [rbp - 0x11], r15
lea r9, [rbp + 0x27]
lea r8d, [r15 + 1]
mov edx, r15d
call fcn.14001b510
test al, al
je 0x14001ad5f
mov rdx, qword [rbp + 0x27]
mov rbx, rdx
mov edi, r15d
mov dword [rbp - 0x29], r15d
mov dword [rbp - 5], r15d
mov r12, qword [r12 + 8]
test r13d, r13d
je 0x14001ad1e
nop dword [rax]
sub r13d, edi
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.14001b510
test al, al
je 0x14001ad5f
cmp qword [r14 + 0x440], 0xffffffffffffffff
je 0x14001ad5f
test r12, r12
je 0x14001ad5f
xor edi, edi
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x20], 0
lea r9, [rbp - 5]
mov r8d, r13d
mov rdx, r12
mov rcx, qword [r14 + 0x440]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r15d, eax
test eax, eax
jne 0x14001acf2
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [r14 + 0x420]
cmp qword [r8 + 0x18], 7
jbe 0x14001acce
mov r8, qword [r8]
mov r9d, eax
lea rdx, str._s:_WriteFile_code:__lu
mov rcx, r14
call fcn.14001a800
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x32
jl 0x14001ac90
test r15d, r15d
je 0x14001ad5f
mov eax, dword [rbp - 5]
add qword [r14 + 0x458], rax
mov edi, dword [rbp - 0x29]
add edi, eax
mov dword [rbp - 0x29], edi
add r12, rax
mov r13d, dword [rbp - 0x31]
cmp edi, r13d
jae 0x14001ad1e
mov rdx, qword [rbp + 0x27]
jmp 0x14001ac50
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.14001b510
test al, al
je 0x14001ad5f
test edi, edi
je 0x14001ad5f
mov rax, qword [rbp - 0x21]
add qword [r14 + 0x4a8], rax
mov rax, qword [r14 + 0x4a8]
cmp qword [r14 + 0x4a0], rax
jle 0x14001aea2
movzx ecx, byte [rbp - 0x39]
jmp 0x14001a9a0
lea rdx, [rbp - 1]
mov rcx, r14
call fcn.14001b2f0
nop
lea r8, [rbp - 1]
cmp qword [rbp + 0x17], 7
cmova r8, qword [rbp - 1]
lea rdx, str.Write_error:__s
mov rcx, r14
call fcn.14001a800
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 7
jbe 0x14001aea2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ae9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001aed5
jmp 0x14001ae9d
lea rdx, [rbp - 1]
call fcn.14001b2f0
nop
lea r8, [rbp - 1]
cmp qword [rbp + 0x17], 7
cmova r8, qword [rbp - 1]
lea rdx, str.Set_pos_error:__s
mov rcx, r14
call fcn.14001a800
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 7
jbe 0x14001aea2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ae9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001aedb
jmp 0x14001ae9d
lea rdx, [rbp - 1]
mov rcx, r14
call fcn.14001b2f0
nop
lea r8, [rbp - 1]
cmp qword [rbp + 0x17], 7
cmova r8, qword [rbp - 1]
lea rdx, str.Read_Error:__s
mov rcx, r14
call fcn.14001a800
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 7
jbe 0x14001aea2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ae9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001aecf
call fcn.14001c740
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14001c440
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140026710
int3
call fcn.140026710
int3
call fcn.140026710
int3