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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
pxor xmm0, xmm0
lea r15, [rsp + 0x40]
mov rsi, rcx
mov r14, rdx
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x100], r8
lea rdx, [0x140012050]
mov r8d, 0x58
mov rcx, r15
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
call fcn.14000ab30
mov ebx, eax
test eax, eax
jne 0x140001a68
mov ecx, 0x2000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov r12, rax
test rax, rax
je 0x140001acf
mov ecx, 0x2000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov r13, rax
test rax, rax
je 0x140001aa8
mov edi, dword [r14 + 8]
mov qword [rsp + 0xf8], r14
mov rax, r15
mov r15, r13
mov r13, r12
mov r12, rax
mov r14, rdi
mov rdi, rsi
mov rsi, qword [rsp + 0xf8]
mov ebx, 0x2000
mov r9, rdi
mov edx, 1
mov rcx, r13
cmp r14, rbx
cmovbe rbx, r14
mov r8, rbx
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
cmp rax, rbx
jne 0x140001a40
mov rcx, rdi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_ferror
test eax, eax
jne 0x140001a40
mov qword [rsp + 0x40], r13
mov qword [rsp + 0xf0], rdi
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x28], r14
mov r14d, eax
mov qword [rsp + 0x30], rbx
mov rbx, r15
mov r15, rsi
xor edx, edx
mov rcx, r12
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x58], 0x2000
call fcn.14000abe0
mov ebp, eax
cmp eax, 0xffffffff
jge 0x140001868
cmp eax, 0xfffffffc
jl 0x1400018d0
mov r14, r15
mov r10d, eax
mov r15, r12
mov r12, r13
mov r13, rbx
jmp 0x14000187f
cmp eax, 2
jne 0x1400018d0
mov r14, r15
mov r10d, 0xfffffffd
mov r15, r12
mov r12, r13
mov r13, rbx
lea rdx, [r14 + 0x12]
mov r8d, r10d
lea rcx, str.Failed_to_extract__s:_decompression_resulted_in_return_code__d__n
call fcn.140002ca0
mov ebx, 0xffffffff
nop word [rax + rax]
mov rcx, r15
call fcn.14000cc00
mov rcx, r12
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rcx, r13
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov eax, ebx
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [rsp + 0x58]
mov r8d, 0x2000
sub r8, rdx
mov rax, rdx
cmp qword [rsp + 0x100], 0
je 0x140001990
mov r9, qword [rsp + 0x100]
mov edx, 1
mov rcx, rbx
mov qword [rsp + 0x38], r8
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov r8, qword [rsp + 0x38]
cmp rax, r8
jne 0x140001a51
mov rcx, qword [rsp + 0x100]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_ferror
test eax, eax
jne 0x140001a51
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x140001831
mov eax, r14d
mov rsi, r15
mov r14, qword [rsp + 0x28]
mov r15, rbx
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0xf0]
sub r14, rbx
cmp ebp, 1
je 0x140001af0
test r14, r14
jne 0x1400017d5
mov ebx, eax
mov rax, r12
mov r10d, ebp
mov r12, r13
mov r14, rsi
mov r13, r15
mov r15, rax
cmp ebp, 1
je 0x1400018a0
jmp 0x14000187f
cmp qword [rsp + 0x108], 0
je 0x140001930
cmp r8, 8
jae 0x1400019f0
test r8b, 4
jne 0x140001a85
test r8, r8
je 0x1400019e0
movzx edx, byte [rbx]
mov rsi, qword [rsp + 0x108]
mov byte [rsi], dl
test r8b, 2
je 0x1400019e0
movzx edx, word [rbx + r8 - 2]
mov rsi, qword [rsp + 0x108]
mov word [rsi + r8 - 2], dx
nop word [rax + rax]
add qword [rsp + 0x108], r8
jmp 0x140001930
mov rdx, qword [rbx]
mov rsi, qword [rsp + 0x108]
mov qword [rsi], rdx
mov rsi, qword [rsp + 0x108]
mov rdx, qword [rbx + r8 - 8]
mov qword [rsi + r8 - 8], rdx
mov rsi, qword [rsp + 0x108]
lea rdi, [rsi + 8]
mov rcx, rsi
mov rsi, rbx
and rdi, 0xfffffffffffffff8
sub rcx, rdi
sub rsi, rcx
add rcx, r8
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
jmp 0x1400019e0
mov rax, r12
mov r12, r13
mov r13, r15
mov r15, rax
jmp 0x140001892
mov r14, r15
mov r10d, 0xffffffff
mov r15, r12
mov r12, r13
mov r13, rbx
jmp 0x14000187f
lea rdx, [r14 + 0x12]
mov r8d, eax
mov ebx, 0xffffffff
lea rcx, str.Failed_to_extract__s:_inflateInit___failed_with_return_code__d__n
call fcn.140002ca0
jmp 0x1400018b8
mov edx, dword [rbx]
mov rsi, qword [rsp + 0x108]
mov dword [rsi], edx
mov edx, dword [rbx + r8 - 4]
mov rsi, qword [rsp + 0x108]
mov dword [rsi + r8 - 4], edx
jmp 0x1400019e0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea r9, [r14 + 0x12]
lea r8, str.Failed_to_extract__s:_failed_to_allocate_temporary_output_buffer__n
mov edx, dword [rax]
lea rcx, str.malloc
call fcn.140002da0
xor r13d, r13d
jmp 0x1400018a0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea r9, [r14 + 0x12]
lea r8, str.Failed_to_extract__s:_failed_to_allocate_temporary_input_buffer__n
mov edx, dword [rax]
lea rcx, str.malloc
call fcn.140002da0
jmp 0x140001ac7
mov ebx, eax
mov rax, r12
mov r12, r13
mov r13, r15
mov r15, rax
jmp 0x1400018a0