Function at 0x14001ae80
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 [0x140059010]
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 0x14001b3e2
nop
mov rdi, rsi
test cl, cl
je 0x14001b3e2
mov rax, qword [r14 + 0x460]
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 8]
sub r8, rcx
xor edx, edx
call fcn.14001f140
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r14 + 0x4a8]
mov rcx, r14
call fcn.14001ba50
test al, al
je 0x14001b3e2
mov rax, qword [r14 + 0x4a0]
sub rax, qword [r14 + 0x4a8]
cmp rax, 0x10
jl 0x14001b3e2
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.14001ba50
test al, al
je 0x14001b37b
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 0x14001b089
nop word [rax + rax]
mov r13d, ebx
sub r13d, dword [rbp - 0x31]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.14001ba50
test al, al
je 0x14001b37b
cmp qword [r14 + 0x440], 0xffffffffffffffff
je 0x14001b37b
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 0x14001b058
lea r8, [r14 + 0x420]
cmp qword [r8 + 0x18], 8
jb 0x14001b02f
mov r8, qword [r8]
mov r9d, eax
lea rdx, str._s:_ReadFile_code:__lu
mov rcx, r14
call fcn.14001ad40
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
inc r15d
cmp r15d, 0x32
jl 0x14001aff0
test r12d, r12d
mov rdi, qword [rbp - 0x21]
je 0x14001b37b
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 0x14001b089
mov rdx, qword [rbp + 0x1f]
jmp 0x14001afb0
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.14001ba50
test al, al
je 0x14001b37b
test r13d, r13d
je 0x14001b37b
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 0x14001b123
mov edx, dword [rbp - 0x35]
nop word [rax + rax]
mov rcx, rsi
sub rcx, rbx
cmp rcx, 0x10
jl 0x14001b114
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 0x14001b123
add rbx, rdi
add r15, rdi
mov edx, edi
mov dword [rbp - 0x35], edx
cmp rbx, r12
jl 0x14001b0d0
mov dword [rbp - 0x35], edi
jmp 0x14001b123
lea rdx, str.chunk_temp_lower_than_...
mov rcx, r14
call fcn.14001ad40
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r14 + 0x4a8]
mov rcx, r14
call fcn.14001ba50
mov rcx, r14
test al, al
je 0x14001b312
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.14001ba50
test al, al
je 0x14001b29f
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 0x14001b25e
nop dword [rax]
sub r13d, edi
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.14001ba50
test al, al
je 0x14001b29f
cmp qword [r14 + 0x440], 0xffffffffffffffff
je 0x14001b29f
test r12, r12
je 0x14001b29f
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 0x14001b232
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [r14 + 0x420]
cmp qword [r8 + 0x18], 8
jb 0x14001b20e
mov r8, qword [r8]
mov r9d, eax
lea rdx, str._s:_WriteFile_code:__lu
mov rcx, r14
call fcn.14001ad40
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x32
jl 0x14001b1d0
test r15d, r15d
je 0x14001b29f
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 0x14001b25e
mov rdx, qword [rbp + 0x27]
jmp 0x14001b190
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.14001ba50
test al, al
je 0x14001b29f
test edi, edi
je 0x14001b29f
mov rax, qword [rbp - 0x21]
add qword [r14 + 0x4a8], rax
mov rax, qword [r14 + 0x4a8]
cmp qword [r14 + 0x4a0], rax
jle 0x14001b3e2
movzx ecx, byte [rbp - 0x39]
jmp 0x14001aee0
lea rdx, [rbp - 1]
mov rcx, r14
call fcn.14001b830
nop
lea r8, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae r8, qword [rbp - 1]
lea rdx, str.Write_error:__s
mov rcx, r14
call fcn.14001ad40
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14001b3e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001b3dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b415
jmp 0x14001b3dd
lea rdx, [rbp - 1]
call fcn.14001b830
nop
lea r8, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae r8, qword [rbp - 1]
lea rdx, str.Set_pos_error:__s
mov rcx, r14
call fcn.14001ad40
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14001b3e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001b3dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b41b
jmp 0x14001b3dd
lea rdx, [rbp - 1]
mov rcx, r14
call fcn.14001b830
nop
lea r8, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae r8, qword [rbp - 1]
lea rdx, str.Read_Error:__s
mov rcx, r14
call fcn.14001ad40
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14001b3e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001b3dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b40f
call fcn.14001c5c0
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14001c2c0
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.1400261d0
int3
call fcn.1400261d0
int3
call fcn.1400261d0
int3