Function at 0x140023950
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 0x1400239e9
cmp dword [rdi + 0x1f18], 0
jne 0x1400239e9
mov rcx, rsi
call fcn.1400660a0
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.14006dba0
mov r14, rax
test rax, rax
je 0x140024324
cmp dword [rax], 0x4034b50
je 0x140023a25
lea r8, str.Damaged_Zip_archive
mov edx, 0xffffffff
jmp 0x140024330
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 0x140023a86
movzx edx, r12b
mov dword [rdi + 0x38], r12d
mov rcx, r15
call fcn.140065b60
movzx eax, word [rbx + 0x7e]
mov edx, 0x2041
movzx ecx, al
and ax, dx
cmp ax, dx
jne 0x140023a86
movzx edx, r12b
mov rcx, r15
call fcn.140065b90
jmp 0x140024338
and cl, r12b
mov byte [rdi + 0x1f20], cl
lea rcx, [r14 + 0xa]
movzx eax, byte [r14 + 8]
mov byte [rbx + 0x80], al
call fcn.140023000
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 0x140023ada
movzx eax, byte [r14 + 0xb]
jmp 0x140023adf
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.14006e1d0
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.14006dba0
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140024324
mov ecx, 0x800
test word [rbx + 0x7e], cx
je 0x140023bce
mov r14, qword [rdi + 0x1f10]
test r14, r14
jne 0x140023be1
lea r8d, [r14 + 1]
mov rcx, rsi
lea rdx, str.UTF_8
call fcn.140066000
mov qword [rdi + 0x1f10], rax
mov r14, rax
test rax, rax
je 0x140024338
mov rax, qword [rsp + 0x48]
jmp 0x140023be1
mov r14, qword [rdi + 0x1f00]
test r14, r14
jne 0x140023be1
mov r14, qword [rdi + 0x1f08]
mov r9, r14
mov r8, r13
mov rdx, rax
mov rcx, r15
call fcn.140065da0
test eax, eax
je 0x140023c37
call fcn.14005ccb4
cmp dword [rax], 0xc
jne 0x140023c11
lea r8, str.Cant_allocate_memory_for_Pathname
mov edx, ntohl
jmp 0x140024330
mov rcx, r14
call fcn.140066510
mov r9, rax
lea r8, str.Pathname_cannot_be_converted_from__s_to_current_locale.
mov edx, 0x2a
mov rcx, rsi
call fcn.140064580
mov dword [rbp + 0x7f], 0xffffffec
mov rdx, r13
mov rcx, rsi
call fcn.14006e1d0
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
call fcn.14006dba0
test rax, rax
je 0x140024324
mov r9, r12
mov qword [rsp + 0x20], rbx
mov r8, rax
mov rdx, r15
mov rcx, rsi
call fcn.1400230a0
test eax, eax
jne 0x140024338
mov rdx, r12
mov rcx, rsi
call fcn.14006e1d0
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 0x140023cb1
and cx, r9w
or cx, r8w
mov word [rbx + 0x7c], cx
test cx, cx
jne 0x140023cbf
mov eax, 0x1b4
mov word [rbx + 0x7c], ax
cmp byte [rbx + 0x81], 0
mov r13d, 0x2f
jne 0x140023d87
mov rcx, r15
call fcn.140065500
mov r14, rax
test rax, rax
je 0x140023d87
mov edx, r13d
mov rcx, rax
call fcn.14005eca0
test rax, rax
jne 0x140023d87
lea edx, [rax + 0x5c]
mov rcx, r14
call fcn.14005eca0
xor r12d, r12d
test rax, rax
je 0x140023d8a
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 0x140023d23
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.1400667d0
mov rdx, qword [rsp + 0x38]
mov rcx, r12
test rdx, rdx
je 0x140023d6e
nop word [rax + rax]
mov rax, qword [rsp + 0x30]
cmp word [rax + rcx*2], 0x5c
jne 0x140023d66
mov word [rax + rcx*2], r13w
mov rdx, qword [rsp + 0x38]
inc rcx
cmp rcx, rdx
jb 0x140023d50
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140065a10
lea rcx, [rsp + 0x30]
call fcn.140066910
jmp 0x140023d8a
xor r12d, r12d
movzx ecx, word [rbx + 0x7c]
mov r14d, 0xf000
movzx eax, cx
and ax, r14w
mov r14d, 0x4000
cmp ax, r14w
je 0x140023e3a
mov rcx, r15
call fcn.140065500
test rax, rax
je 0x140023ded
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140023dc0
test rcx, rcx
je 0x140023ddc
cmp word [rax + rcx*2 - 2], r13w
mov eax, 1
je 0x140023ddf
mov eax, r12d
movzx ecx, word [rbx + 0x7c]
test eax, eax
je 0x140023ecc
jmp 0x140023e26
mov rcx, r15
call fcn.140065430
test rax, rax
je 0x140023ec8
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140023e05
test rcx, rcx
je 0x140023ec8
cmp byte [rax + rcx - 1], r13b
jne 0x140023ec8
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 0x140023f56
mov rcx, r15
call fcn.140065500
test rax, rax
je 0x140023eeb
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140023e64
test rcx, rcx
je 0x140023f56
cmp word [rax + rcx*2 - 2], r13w
je 0x140023f56
mov rdx, rax
mov qword [rsp + 0x30], r12
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
call fcn.140066890
mov edx, r13d
lea rcx, [rsp + 0x30]
call fcn.140065ed0
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140065a10
lea rcx, [rsp + 0x30]
call fcn.140066910
jmp 0x140023f56
movzx ecx, word [rbx + 0x7c]
mov edx, 0xf000
test dx, cx
jne 0x140023e3f
mov eax, 0x8000
or cx, ax
mov word [rbx + 0x7c], cx
jmp 0x140023e3f
mov rcx, r15
call fcn.140065430
test rax, rax
je 0x140023f56
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x140023f00
test rcx, rcx
je 0x140023f56
cmp byte [rax + rcx - 1], r13b
je 0x140023f56
mov rdx, rax
mov qword [rsp + 0x30], r12
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
call fcn.140066820
movzx edx, r13b
lea rcx, [rsp + 0x30]
call fcn.140065e60
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140065a00
lea rcx, [rsp + 0x30]
call fcn.140066910
test byte [rbx + 0x82], 2
je 0x140024026
mov eax, 0xfff7
and word [rbx + 0x7e], ax
mov eax, dword [rbx + 0x78]
test eax, eax
jne 0x140023f7b
mov eax, dword [rbp + 0xf]
mov dword [rbx + 0x78], eax
jmp 0x140023fa4
cmp byte [rdi + 0xa0], 0
jne 0x140023fa4
cmp eax, dword [rbp + 0xf]
je 0x140023fa4
lea r8, str.Inconsistent_CRC32_values
mov edx, 0x2a
mov rcx, rsi
call fcn.140064580
mov dword [rbp + 0x7f], 0xffffffec
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x140023fb7
mov rax, qword [rbp - 0x41]
mov qword [rbx + 0x28], rax
jmp 0x140023fe0
mov r9, qword [rbp - 0x41]
cmp rax, r9
je 0x140023fe0
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.140064580
mov dword [rbp + 0x7f], 0xffffffec
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x14002401e
mov ecx, 0xffffffff
cmp rax, rcx
je 0x14002401e
mov r9, qword [rbp - 0x39]
cmp rax, r9
je 0x140024026
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.140064580
mov dword [rbp + 0x7f], 0xffffffec
jmp 0x140024026
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x30], rax
movzx edx, word [rbx + 0x7c]
mov rcx, r15
call fcn.140065960
mov rdx, qword [rbx + 0x40]
mov rcx, r15
call fcn.140065b40
mov rdx, qword [rbx + 0x38]
mov rcx, r15
call fcn.140065880
mov rdx, qword [rbx + 0x60]
xor r8d, r8d
mov rcx, r15
call fcn.140065970
mov rdx, qword [rbx + 0x70]
xor r8d, r8d
mov rcx, r15
call fcn.1400657b0
mov rdx, qword [rbx + 0x68]
xor r8d, r8d
mov rcx, r15
call fcn.140065710
mov rax, qword [rdi + 0x70]
movzx ecx, word [rax + 0x7c]
mov eax, 0xf000
and cx, ax
mov eax, 0xa000
cmp cx, ax
jne 0x140024290
mov r14, qword [rbx + 0x28]
mov qword [rbp - 0x71], r14
cmp r14, 0x10000
jle 0x1400240b7
lea r8, str.Zip_file_with_oversized_link_entry
mov edx, 0xffffffff
jmp 0x140024330
xor edx, edx
mov rcx, r15
call fcn.140065a60
mov rax, qword [rdi + 0x70]
mov r13, r14
mov qword [rsp + 0x48], r14
movzx ecx, byte [rax + 0x80]
test cl, cl
je 0x140024169
mov qword [rbp - 0x79], r12
cmp cl, 8
je 0x140024108
cmp cl, 0xe
jne 0x140024133
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.140022c50
jmp 0x140024124
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.140022920
test eax, eax
jne 0x140024133
mov r12, qword [rbp - 0x79]
mov r13, qword [rsp + 0x48]
jmp 0x14002417a
mov rax, qword [rdi + 0x70]
movzx ecx, byte [rax + 0x80]
call fcn.140022fc0
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.140064580
mov eax, 0xffffffe7
jmp 0x14002433d
xor r8d, r8d
mov rdx, r14
mov rcx, rsi
call fcn.14006dba0
mov r12, rax
test r12, r12
jne 0x140024190
lea r8, str.Truncated_Zip_file
lea edx, [r12 - 1]
jmp 0x140024330
mov r14, qword [rdi + 0x1f00]
test r14, r14
jne 0x1400241be
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
je 0x1400241b7
mov r14, qword [rdi + 0x1f10]
test r14, r14
jne 0x1400241be
mov r14, qword [rdi + 0x1f08]
mov r9, r14
mov r8, r13
mov rdx, r12
mov rcx, r15
call fcn.140065db0
test eax, eax
je 0x140024263
call fcn.14005ccb4
cmp dword [rax], 0xc
je 0x14002420a
cmp r14, qword [rdi + 0x1f10]
jne 0x14002420a
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
je 0x14002420a
xor r9d, r9d
mov r8, r13
mov rdx, r12
mov rcx, r15
call fcn.140065db0
call fcn.14005ccb4
cmp dword [rax], 0xc
jne 0x140024225
lea r8, str.Cant_allocate_memory_for_Symlink
mov edx, ntohl
jmp 0x140024330
cmp r14, qword [rdi + 0x1f10]
jne 0x14002423d
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
jne 0x140024263
mov rcx, r14
call fcn.140066510
mov r9, rax
lea r8, str.Symlink_cannot_be_converted_from__s_to_current_locale.
mov edx, 0x2a
mov rcx, rsi
call fcn.140064580
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.14006e1d0
test rax, rax
jns 0x1400242a9
lea r8, str.Read_error_skipping_symlink_target_name
lea edx, [r12 - 1]
jmp 0x140024330
test byte [rbx + 0x7e], 8
je 0x14002429d
cmp qword [rbx + 0x30], 0
jle 0x1400242a9
mov rdx, qword [rbx + 0x30]
mov rcx, r15
call fcn.140065a60
mov rax, qword [rbx + 0x28]
mov qword [rdi + 0x78], rax
test byte [rbx + 0x7e], 8
jne 0x1400242c4
cmp rax, 1
jge 0x1400242c4
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.140022fc0
mov r9d, r11d
mov qword [rsp + 0x20], rax
mov r8d, r10d
lea rdx, str.ZIP__d._d___s_
mov rcx, rdi
call fcn.14006bec0
mov rcx, qword [rdi]
mov eax, dword [rbp + 0x7f]
mov qword [rsi + 0x18], rcx
jmp 0x14002433d
lea r8, str.Truncated_ZIP_file_header
mov edx, 0x2a
mov rcx, rsi
call fcn.140064580
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