Function at 0x14001ab70
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 0x14001b0d2
nop
mov rdi, rsi
test cl, cl
je 0x14001b0d2
mov rax, qword [r14 + 0x460]
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 8]
sub r8, rcx
xor edx, edx
call fcn.14001ee30
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r14 + 0x4a8]
mov rcx, r14
call fcn.14001b740
test al, al
je 0x14001b0d2
mov rax, qword [r14 + 0x4a0]
sub rax, qword [r14 + 0x4a8]
cmp rax, 0x10
jl 0x14001b0d2
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.14001b740
test al, al
je 0x14001b06b
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 0x14001ad79
nop word [rax + rax]
mov r13d, ebx
sub r13d, dword [rbp - 0x31]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.14001b740
test al, al
je 0x14001b06b
cmp qword [r14 + 0x440], 0xffffffffffffffff
je 0x14001b06b
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 0x14001ad48
lea r8, [r14 + 0x420]
cmp qword [r8 + 0x18], 8
jb 0x14001ad1f
mov r8, qword [r8]
mov r9d, eax
lea rdx, str._s:_ReadFile_code:__lu
mov rcx, r14
call fcn.14001aa30
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
inc r15d
cmp r15d, 0x32
jl 0x14001ace0
test r12d, r12d
mov rdi, qword [rbp - 0x21]
je 0x14001b06b
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 0x14001ad79
mov rdx, qword [rbp + 0x1f]
jmp 0x14001aca0
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.14001b740
test al, al
je 0x14001b06b
test r13d, r13d
je 0x14001b06b
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 0x14001ae13
mov edx, dword [rbp - 0x35]
nop word [rax + rax]
mov rcx, rsi
sub rcx, rbx
cmp rcx, 0x10
jl 0x14001ae04
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 0x14001ae13
add rbx, rdi
add r15, rdi
mov edx, edi
mov dword [rbp - 0x35], edx
cmp rbx, r12
jl 0x14001adc0
mov dword [rbp - 0x35], edi
jmp 0x14001ae13
lea rdx, str.chunk_temp_lower_than_...
mov rcx, r14
call fcn.14001aa30
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r14 + 0x4a8]
mov rcx, r14
call fcn.14001b740
mov rcx, r14
test al, al
je 0x14001b002
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.14001b740
test al, al
je 0x14001af8f
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 0x14001af4e
nop dword [rax]
sub r13d, edi
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.14001b740
test al, al
je 0x14001af8f
cmp qword [r14 + 0x440], 0xffffffffffffffff
je 0x14001af8f
test r12, r12
je 0x14001af8f
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 0x14001af22
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [r14 + 0x420]
cmp qword [r8 + 0x18], 8
jb 0x14001aefe
mov r8, qword [r8]
mov r9d, eax
lea rdx, str._s:_WriteFile_code:__lu
mov rcx, r14
call fcn.14001aa30
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x32
jl 0x14001aec0
test r15d, r15d
je 0x14001af8f
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 0x14001af4e
mov rdx, qword [rbp + 0x27]
jmp 0x14001ae80
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.14001b740
test al, al
je 0x14001af8f
test edi, edi
je 0x14001af8f
mov rax, qword [rbp - 0x21]
add qword [r14 + 0x4a8], rax
mov rax, qword [r14 + 0x4a8]
cmp qword [r14 + 0x4a0], rax
jle 0x14001b0d2
movzx ecx, byte [rbp - 0x39]
jmp 0x14001abd0
lea rdx, [rbp - 1]
mov rcx, r14
call fcn.14001b520
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.14001aa30
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14001b0d2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001b0cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b105
jmp 0x14001b0cd
lea rdx, [rbp - 1]
call fcn.14001b520
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.14001aa30
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14001b0d2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001b0cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b10b
jmp 0x14001b0cd
lea rdx, [rbp - 1]
mov rcx, r14
call fcn.14001b520
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.14001aa30
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14001b0d2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001b0cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b0ff
call fcn.14001c2b0
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14001bfb0
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.140025ec0
int3
call fcn.140025ec0
int3
call fcn.140025ec0
int3