Function at 0x140001490
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 r14, [rsp + 0x40]
mov r13, rcx
mov r12, rdx
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x100], r8
lea rdx, section..rdata
mov r8d, 0x58
mov rcx, r14
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
call fcn.14000a8a0
test eax, eax
mov ebx, eax
jne 0x1400016f2
mov ecx, 0x2000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test rax, rax
mov rdi, rax
je 0x14000172f
mov ecx, 0x2000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test rax, rax
mov rbp, rax
je 0x140001710
mov r15d, dword [r12 + 8]
mov ebx, 0x2000
mov r9, r13
mov edx, 1
cmp r15, rbx
mov rcx, rdi
cmovbe rbx, r15
mov r8, rbx
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
cmp rax, rbx
jne 0x140001663
mov rcx, r13
call sub.api_ms_win_crt_stdio_l1_1_0.dll_ferror
test eax, eax
jne 0x140001663
mov dword [rsp + 0x48], ebx
mov esi, eax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x28], rbx
xor edx, edx
mov rcx, r14
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x58], 0x2000
call fcn.14000a970
cmp eax, 0xffffffff
mov ebx, eax
jge 0x140001640
cmp eax, 0xfffffffc
jge 0x1400016a0
mov eax, dword [rsp + 0x58]
mov r8d, 0x2000
sub r8, rax
mov r9, rax
cmp qword [rsp + 0x100], 0
je 0x1400016a8
mov r9, qword [rsp + 0x100]
mov edx, 1
mov rcx, rbp
mov qword [rsp + 0x30], r8
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov r8, qword [rsp + 0x30]
cmp rax, r8
jne 0x1400016e7
mov rcx, qword [rsp + 0x100]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_ferror
test eax, eax
jne 0x1400016e7
mov r9d, dword [rsp + 0x58]
test r9d, r9d
je 0x14000157c
mov eax, esi
mov esi, ebx
mov rbx, qword [rsp + 0x28]
sub r15, rbx
cmp esi, 1
je 0x14000174e
test r15, r15
jne 0x140001534
cmp esi, 1
mov r10d, esi
mov ebx, eax
je 0x140001668
jmp 0x14000164f
cmp eax, 2
jne 0x1400015a7
mov r10d, 0xfffffffd
lea rdx, [r12 + 0x12]
mov r8d, r10d
lea rcx, str.Failed_to_extract__s:_decompression_resulted_in_return_code__d__n
call fcn.140002ab0
mov ebx, 0xffffffff
mov rcx, r14
call fcn.14000c740
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rcx, rbp
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 r10d, eax
jmp 0x14000164f
cmp qword [rsp + 0x108], 0
je 0x140001608
mov rcx, qword [rsp + 0x108]
mov rdx, rbp
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x3c], eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x3c]
add qword [rsp + 0x108], r8
jmp 0x140001608
mov r10d, 0xffffffff
jmp 0x14000164f
lea rdx, [r12 + 0x12]
mov r8d, eax
mov ebx, 0xffffffff
lea rcx, str.Failed_to_extract__s:_inflateInit___failed_with_return_code__d__n
call fcn.140002ab0
jmp 0x140001680
lea r8, [r12 + 0x12]
xor ebp, ebp
lea rdx, str.Failed_to_extract__s:_failed_to_allocate_temporary_output_buffer__n
lea rcx, str.malloc
call fcn.140002c30
jmp 0x140001668
lea r8, [r12 + 0x12]
xor ebp, ebp
lea rdx, str.Failed_to_extract__s:_failed_to_allocate_temporary_input_buffer__n
lea rcx, str.malloc
call fcn.140002c30
jmp 0x140001668
mov ebx, eax
jmp 0x140001668