Function at 0x1400239e0
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
mov rbx, qword [r8 + 0x70]
xor eax, eax
mov rdi, r8
mov dword [rbp + 0x7f], eax
mov r15, rdx
mov rsi, rcx
xor edx, edx
xor ecx, ecx
movups xmm1, xmmword [rbx + 0x30]
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rbp - 0x39], xmm1
movups xmm1, xmmword [rbx + 0x70]
mov word [r8 + 0xa1], ax
mov qword [r8 + 0x88], rax
mov qword [r8 + 0x80], rax
xor r8d, r8d
movaps xmmword [rbp + 7], xmm1
movaps xmmword [rbp - 0x49], xmm0
call qword [rdi + 0x98]
cmp qword [rdi + 0x1f00], 0
mov r12d, 1
mov dword [rdi + 0x90], eax
jne 0x140023a79
cmp dword [rdi + 0x1f18], 0
jne 0x140023a79
mov rcx, rsi
call fcn.140066130
mov qword [rdi + 0x1f08], rax
mov dword [rdi + 0x1f18], r12d
xor r8d, r8d
mov qword [rsp + 0x130], r13
mov rcx, rsi
lea edx, [r8 + 0x1e]
call fcn.14006dc30
mov r14, rax
test rax, rax
je 0x1400243b4
cmp dword [rax], 0x4034b50
je 0x140023ab5
lea r8, str.Damaged_Zip_archive
mov edx, 0xffffffff
jmp 0x1400243c0
movzx eax, byte [rax + 4]
mov byte [rbp + 0x77], al
movzx eax, byte [r14 + 5]
mov byte [rbx + 0x81], al
movzx ecx, byte [r14 + 7]
movzx eax, byte [r14 + 6]
shl cx, 8
or cx, ax
mov word [rbx + 0x7e], cx
test cl, 0x41
je 0x140023b16
movzx edx, r12b
mov dword [rdi + 0x38], r12d
mov rcx, r15
call fcn.140065bf0
movzx eax, word [rbx + 0x7e]
mov edx, 0x2041
movzx ecx, al
and ax, dx
cmp ax, dx
jne 0x140023b16
movzx edx, r12b
mov rcx, r15
call fcn.140065c20
jmp 0x1400243c8
and cl, r12b
mov byte [rdi + 0x1f20], cl
lea rcx, [r14 + 0xa]
movzx eax, byte [r14 + 8]
mov byte [rbx + 0x80], al
call fcn.140023090
mov qword [rbx + 0x60], rax
movzx eax, byte [r14 + 0x10]
movzx ecx, byte [r14 + 0x11]
shl ecx, 8
or ecx, eax
movzx eax, byte [r14 + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [r14 + 0xe]
shl ecx, 8
or ecx, eax
test byte [rbx + 0x7e], 8
mov dword [rbx + 0x78], ecx
je 0x140023b6a
movzx eax, byte [r14 + 0xb]
jmp 0x140023b6f
movzx eax, byte [r14 + 0x11]
mov byte [rbx + 0x83], al
mov edx, 0x1e
movzx eax, byte [r14 + 0x14]
movzx ecx, byte [r14 + 0x15]
shl rcx, 8
or rcx, rax
movzx eax, byte [r14 + 0x13]
shl rcx, 8
or rcx, rax
movzx eax, byte [r14 + 0x12]
shl rcx, 8
or rcx, rax
mov qword [rbx + 0x28], rcx
movzx eax, byte [r14 + 0x18]
movzx ecx, byte [r14 + 0x19]
shl rcx, 8
or rcx, rax
movzx eax, byte [r14 + 0x17]
shl rcx, 8
or rcx, rax
movzx eax, byte [r14 + 0x16]
shl rcx, 8
or rcx, rax
mov qword [rbx + 0x30], rcx
mov rcx, rsi
movzx eax, byte [r14 + 0x1a]
movzx r13d, byte [r14 + 0x1b]
movzx r12d, byte [r14 + 0x1d]
shl r13, 8
or r13, rax
shl r12, 8
movzx eax, byte [r14 + 0x1c]
or r12, rax
call fcn.14006e260
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.14006dc30
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400243b4
mov ecx, 0x800
test word [rbx + 0x7e], cx
je 0x140023c5e
mov r14, qword [rdi + 0x1f10]
test r14, r14
jne 0x140023c71
lea r8d, [r14 + 1]
mov rcx, rsi
lea rdx, str.UTF_8
call fcn.140066090
mov qword [rdi + 0x1f10], rax
mov r14, rax
test rax, rax
je 0x1400243c8
mov rax, qword [rsp + 0x48]
jmp 0x140023c71
mov r14, qword [rdi + 0x1f00]
test r14, r14
jne 0x140023c71
mov r14, qword [rdi + 0x1f08]
mov r9, r14
mov r8, r13
mov rdx, rax
mov rcx, r15
call fcn.140065e30
test eax, eax
je 0x140023cc7
call fcn.14005cd44
cmp dword [rax], 0xc
jne 0x140023ca1
lea r8, str.Cant_allocate_memory_for_Pathname
mov edx, ntohl
jmp 0x1400243c0
mov rcx, r14
call fcn.1400665a0
mov r9, rax
lea r8, str.Pathname_cannot_be_converted_from__s_to_current_locale.
mov edx, 0x2a
mov rcx, rsi
call fcn.140064610
mov dword [rbp + 0x7f], 0xffffffec
mov rdx, r13
mov rcx, rsi
call fcn.14006e260
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
call fcn.14006dc30
test rax, rax
je 0x1400243b4
mov r9, r12
mov qword [rsp + 0x20], rbx
mov r8, rax
mov rdx, r15
mov rcx, rsi
call fcn.140023130
test eax, eax
jne 0x1400243c8
mov rdx, r12
mov rcx, rsi
call fcn.14006e260
movzx ecx, word [rbx + 0x7c]
mov edx, 0xf000
movzx eax, cx
mov r8d, 0x8000
and ax, dx
mov edx, 0x1000
lea r9d, [rdx - 1]
cmp ax, dx
jne 0x140023d41
and cx, r9w
or cx, r8w
mov word [rbx + 0x7c], cx
test cx, cx
jne 0x140023d4f
mov eax, 0x1b4
mov word [rbx + 0x7c], ax
cmp byte [rbx + 0x81], 0
mov r13d, 0x2f
jne 0x140023e17
mov rcx, r15
call fcn.140065590
mov r14, rax
test rax, rax
je 0x140023e17
mov edx, r13d
mov rcx, rax
call fcn.14005ed30
test rax, rax
jne 0x140023e17
lea edx, [rax + 0x5c]
mov rcx, r14
call fcn.14005ed30
xor r12d, r12d
test rax, rax
je 0x140023e1a
mov qword [rsp + 0x30], r12
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r12
inc r8
cmp word [r14 + r8*2], r12w
jne 0x140023db3
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.140066860
mov rdx, qword [rsp + 0x38]
mov rcx, r12
test rdx, rdx
je 0x140023dfe
nop word [rax + rax]
mov rax, qword [rsp + 0x30]
cmp word [rax + rcx*2], 0x5c
jne 0x140023df6
mov word [rax + rcx*2], r13w
mov rdx, qword [rsp + 0x38]
inc rcx
cmp rcx, rdx
jb 0x140023de0
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140065aa0
lea rcx, [rsp + 0x30]
call fcn.1400669a0
jmp 0x140023e1a
xor r12d, r12d
movzx ecx, word [rbx + 0x7c]
mov r14d, 0xf000
movzx eax, cx
and ax, r14w
mov r14d, 0x4000
cmp ax, r14w
je 0x140023eca
mov rcx, r15
call fcn.140065590
test rax, rax
je 0x140023e7d
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140023e50
test rcx, rcx
je 0x140023e6c
cmp word [rax + rcx*2 - 2], r13w
mov eax, 1
je 0x140023e6f
mov eax, r12d
movzx ecx, word [rbx + 0x7c]
test eax, eax
je 0x140023f5c
jmp 0x140023eb6
mov rcx, r15
call fcn.1400654c0
test rax, rax
je 0x140023f58
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140023e95
test rcx, rcx
je 0x140023f58
cmp byte [rax + rcx - 1], r13b
jne 0x140023f58
movzx ecx, word [rbx + 0x7c]
mov eax, 0xfff
and cx, ax
or cx, r14w
or cx, 0x49
mov word [rbx + 0x7c], cx
mov edx, 0xf000
and cx, dx
cmp cx, r14w
jne 0x140023fe6
mov rcx, r15
call fcn.140065590
test rax, rax
je 0x140023f7b
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140023ef4
test rcx, rcx
je 0x140023fe6
cmp word [rax + rcx*2 - 2], r13w
je 0x140023fe6
mov rdx, rax
mov qword [rsp + 0x30], r12
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
call fcn.140066920
mov edx, r13d
lea rcx, [rsp + 0x30]
call fcn.140065f60
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140065aa0
lea rcx, [rsp + 0x30]
call fcn.1400669a0
jmp 0x140023fe6
movzx ecx, word [rbx + 0x7c]
mov edx, 0xf000
test dx, cx
jne 0x140023ecf
mov eax, 0x8000
or cx, ax
mov word [rbx + 0x7c], cx
jmp 0x140023ecf
mov rcx, r15
call fcn.1400654c0
test rax, rax
je 0x140023fe6
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x140023f90
test rcx, rcx
je 0x140023fe6
cmp byte [rax + rcx - 1], r13b
je 0x140023fe6
mov rdx, rax
mov qword [rsp + 0x30], r12
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
call fcn.1400668b0
movzx edx, r13b
lea rcx, [rsp + 0x30]
call fcn.140065ef0
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140065a90
lea rcx, [rsp + 0x30]
call fcn.1400669a0
test byte [rbx + 0x82], 2
je 0x1400240b6
mov eax, 0xfff7
and word [rbx + 0x7e], ax
mov eax, dword [rbx + 0x78]
test eax, eax
jne 0x14002400b
mov eax, dword [rbp + 0xf]
mov dword [rbx + 0x78], eax
jmp 0x140024034
cmp byte [rdi + 0xa0], 0
jne 0x140024034
cmp eax, dword [rbp + 0xf]
je 0x140024034
lea r8, str.Inconsistent_CRC32_values
mov edx, 0x2a
mov rcx, rsi
call fcn.140064610
mov dword [rbp + 0x7f], 0xffffffec
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x140024047
mov rax, qword [rbp - 0x41]
mov qword [rbx + 0x28], rax
jmp 0x140024070
mov r9, qword [rbp - 0x41]
cmp rax, r9
je 0x140024070
lea r8, str.Inconsistent_compressed_size:__jd_in_central_directory___jd_in_local_header
mov qword [rsp + 0x20], rax
mov edx, 0x2a
mov rcx, rsi
call fcn.140064610
mov dword [rbp + 0x7f], 0xffffffec
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x1400240ae
mov ecx, 0xffffffff
cmp rax, rcx
je 0x1400240ae
mov r9, qword [rbp - 0x39]
cmp rax, r9
je 0x1400240b6
lea r8, str.Inconsistent_uncompressed_size:__jd_in_central_directory___jd_in_local_header
mov qword [rsp + 0x20], rax
mov edx, 0x2a
mov rcx, rsi
call fcn.140064610
mov dword [rbp + 0x7f], 0xffffffec
jmp 0x1400240b6
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x30], rax
movzx edx, word [rbx + 0x7c]
mov rcx, r15
call fcn.1400659f0
mov rdx, qword [rbx + 0x40]
mov rcx, r15
call fcn.140065bd0
mov rdx, qword [rbx + 0x38]
mov rcx, r15
call fcn.140065910
mov rdx, qword [rbx + 0x60]
xor r8d, r8d
mov rcx, r15
call fcn.140065a00
mov rdx, qword [rbx + 0x70]
xor r8d, r8d
mov rcx, r15
call fcn.140065840
mov rdx, qword [rbx + 0x68]
xor r8d, r8d
mov rcx, r15
call fcn.1400657a0
mov rax, qword [rdi + 0x70]
movzx ecx, word [rax + 0x7c]
mov eax, 0xf000
and cx, ax
mov eax, 0xa000
cmp cx, ax
jne 0x140024320
mov r14, qword [rbx + 0x28]
mov qword [rbp - 0x71], r14
cmp r14, 0x10000
jle 0x140024147
lea r8, str.Zip_file_with_oversized_link_entry
mov edx, 0xffffffff
jmp 0x1400243c0
xor edx, edx
mov rcx, r15
call fcn.140065af0
mov rax, qword [rdi + 0x70]
mov r13, r14
mov qword [rsp + 0x48], r14
movzx ecx, byte [rax + 0x80]
test cl, cl
je 0x1400241f9
mov qword [rbp - 0x79], r12
cmp cl, 8
je 0x140024198
cmp cl, 0xe
jne 0x1400241c3
mov rax, qword [rbx + 0x28]
lea r8, [rsp + 0x48]
xor r9d, r9d
mov qword [rdi + 0x78], rax
lea rdx, [rbp - 0x79]
mov rcx, rsi
call fcn.140022ce0
jmp 0x1400241b4
mov rax, qword [rbx + 0x28]
lea r8, [rsp + 0x48]
xor r9d, r9d
mov qword [rdi + 0x78], rax
lea rdx, [rbp - 0x79]
mov rcx, rsi
call fcn.1400229b0
test eax, eax
jne 0x1400241c3
mov r12, qword [rbp - 0x79]
mov r13, qword [rsp + 0x48]
jmp 0x14002420a
mov rax, qword [rdi + 0x70]
movzx ecx, byte [rax + 0x80]
call fcn.140023050
mov r9d, ecx
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea r8, str.Unsupported_ZIP_compression_method_during_decompression_of_link_entry___d:__s_
mov edx, 0x2a
call fcn.140064610
mov eax, 0xffffffe7
jmp 0x1400243cd
xor r8d, r8d
mov rdx, r14
mov rcx, rsi
call fcn.14006dc30
mov r12, rax
test r12, r12
jne 0x140024220
lea r8, str.Truncated_Zip_file
lea edx, [r12 - 1]
jmp 0x1400243c0
mov r14, qword [rdi + 0x1f00]
test r14, r14
jne 0x14002424e
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
je 0x140024247
mov r14, qword [rdi + 0x1f10]
test r14, r14
jne 0x14002424e
mov r14, qword [rdi + 0x1f08]
mov r9, r14
mov r8, r13
mov rdx, r12
mov rcx, r15
call fcn.140065e40
test eax, eax
je 0x1400242f3
call fcn.14005cd44
cmp dword [rax], 0xc
je 0x14002429a
cmp r14, qword [rdi + 0x1f10]
jne 0x14002429a
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
je 0x14002429a
xor r9d, r9d
mov r8, r13
mov rdx, r12
mov rcx, r15
call fcn.140065e40
call fcn.14005cd44
cmp dword [rax], 0xc
jne 0x1400242b5
lea r8, str.Cant_allocate_memory_for_Symlink
mov edx, ntohl
jmp 0x1400243c0
cmp r14, qword [rdi + 0x1f10]
jne 0x1400242cd
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
jne 0x1400242f3
mov rcx, r14
call fcn.1400665a0
mov r9, rax
lea r8, str.Symlink_cannot_be_converted_from__s_to_current_locale.
mov edx, 0x2a
mov rcx, rsi
call fcn.140064610
mov dword [rbp + 0x7f], 0xffffffec
mov rdx, qword [rbp - 0x71]
xor r12d, r12d
mov rcx, rsi
mov qword [rbx + 0x28], r12
mov qword [rbx + 0x30], r12
call fcn.14006e260
test rax, rax
jns 0x140024339
lea r8, str.Read_error_skipping_symlink_target_name
lea edx, [r12 - 1]
jmp 0x1400243c0
test byte [rbx + 0x7e], 8
je 0x14002432d
cmp qword [rbx + 0x30], 0
jle 0x140024339
mov rdx, qword [rbx + 0x30]
mov rcx, r15
call fcn.140065af0
mov rax, qword [rbx + 0x28]
mov qword [rdi + 0x78], rax
test byte [rbx + 0x7e], 8
jne 0x140024354
cmp rax, 1
jge 0x140024354
mov byte [rdi + 0xa2], 1
movsx r11d, byte [rbp + 0x77]
mov eax, 0x66666667
imul r11d
mov qword [rdi + 8], r12
mov r10d, edx
sar r10d, 2
mov eax, r10d
shr eax, 0x1f
add r10d, eax
lea ecx, [r10 + r10*4]
add ecx, ecx
sub r11d, ecx
mov rcx, qword [rdi + 0x70]
movzx ecx, byte [rcx + 0x80]
call fcn.140023050
mov r9d, r11d
mov qword [rsp + 0x20], rax
mov r8d, r10d
lea rdx, str.ZIP__d._d___s_
mov rcx, rdi
call fcn.14006bf50
mov rcx, qword [rdi]
mov eax, dword [rbp + 0x7f]
mov qword [rsi + 0x18], rcx
jmp 0x1400243cd
lea r8, str.Truncated_ZIP_file_header
mov edx, 0x2a
mov rcx, rsi
call fcn.140064610
mov eax, 0xffffffe2
mov r13, qword [rsp + 0x130]
add rsp, 0xf0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret