Function at 0x140014470
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 0x140014509
cmp dword [rdi + 0x1f18], 0
jne 0x140014509
mov rcx, rsi
call fcn.140040900
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.140048400
mov r14, rax
test rax, rax
je 0x140014e44
cmp dword [rax], 0x4034b50
je 0x140014545
lea r8, str.Damaged_Zip_archive
mov edx, 0xffffffff
jmp 0x140014e50
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 0x1400145a6
movzx edx, r12b
mov dword [rdi + 0x38], r12d
mov rcx, r15
call fcn.1400403c0
movzx eax, word [rbx + 0x7e]
mov edx, 0x2041
movzx ecx, al
and ax, dx
cmp ax, dx
jne 0x1400145a6
movzx edx, r12b
mov rcx, r15
call fcn.1400403f0
jmp 0x140014e58
and cl, r12b
mov byte [rdi + 0x1f20], cl
lea rcx, [r14 + 0xa]
movzx eax, byte [r14 + 8]
mov byte [rbx + 0x80], al
call fcn.140013b20
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 0x1400145fa
movzx eax, byte [r14 + 0xb]
jmp 0x1400145ff
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.140048a30
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.140048400
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140014e44
mov ecx, 0x800
test word [rbx + 0x7e], cx
je 0x1400146ee
mov r14, qword [rdi + 0x1f10]
test r14, r14
jne 0x140014701
lea r8d, [r14 + 1]
mov rcx, rsi
lea rdx, [0x1401382c4]
call fcn.140040860
mov qword [rdi + 0x1f10], rax
mov r14, rax
test rax, rax
je 0x140014e58
mov rax, qword [rsp + 0x48]
jmp 0x140014701
mov r14, qword [rdi + 0x1f00]
test r14, r14
jne 0x140014701
mov r14, qword [rdi + 0x1f08]
mov r9, r14
mov r8, r13
mov rdx, rax
mov rcx, r15
call fcn.140040600
test eax, eax
je 0x140014757
call fcn.140037750
cmp dword [rax], 0xc
jne 0x140014731
lea r8, str.Cant_allocate_memory_for_Pathname
mov edx, ntohl
jmp 0x140014e50
mov rcx, r14
call fcn.140040d70
mov r9, rax
lea r8, str.Pathname_cannot_be_converted_from__s_to_current_locale.
mov edx, 0x2a
mov rcx, rsi
call fcn.14003edd0
mov dword [rbp + 0x7f], 0xffffffec
mov rdx, r13
mov rcx, rsi
call fcn.140048a30
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
call fcn.140048400
test rax, rax
je 0x140014e44
mov r9, r12
mov qword [rsp + 0x20], rbx
mov r8, rax
mov rdx, r15
mov rcx, rsi
call fcn.140013bc0
test eax, eax
jne 0x140014e58
mov rdx, r12
mov rcx, rsi
call fcn.140048a30
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 0x1400147d1
and cx, r9w
or cx, r8w
mov word [rbx + 0x7c], cx
test cx, cx
jne 0x1400147df
mov eax, 0x1b4
mov word [rbx + 0x7c], ax
cmp byte [rbx + 0x81], 0
mov r13d, 0x2f
jne 0x1400148a7
mov rcx, r15
call fcn.14003fd50
mov r14, rax
test rax, rax
je 0x1400148a7
mov edx, r13d
mov rcx, rax
call fcn.140039610
test rax, rax
jne 0x1400148a7
lea edx, [rax + 0x5c]
mov rcx, r14
call fcn.140039610
xor r12d, r12d
test rax, rax
je 0x1400148aa
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 0x140014843
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.140041030
mov rdx, qword [rsp + 0x38]
mov rcx, r12
test rdx, rdx
je 0x14001488e
nop word [rax + rax]
mov rax, qword [rsp + 0x30]
cmp word [rax + rcx*2], 0x5c
jne 0x140014886
mov word [rax + rcx*2], r13w
mov rdx, qword [rsp + 0x38]
inc rcx
cmp rcx, rdx
jb 0x140014870
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140040270
lea rcx, [rsp + 0x30]
call fcn.140041170
jmp 0x1400148aa
xor r12d, r12d
movzx ecx, word [rbx + 0x7c]
mov r14d, 0xf000
movzx eax, cx
and ax, r14w
mov r14d, 0x4000
cmp ax, r14w
je 0x14001495a
mov rcx, r15
call fcn.14003fd50
test rax, rax
je 0x14001490d
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp word [rax + rcx*2], 0
jne 0x1400148e0
test rcx, rcx
je 0x1400148fc
cmp word [rax + rcx*2 - 2], r13w
mov eax, 1
je 0x1400148ff
mov eax, r12d
movzx ecx, word [rbx + 0x7c]
test eax, eax
je 0x1400149ec
jmp 0x140014946
mov rcx, r15
call fcn.14003fc80
test rax, rax
je 0x1400149e8
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140014925
test rcx, rcx
je 0x1400149e8
cmp byte [rax + rcx - 1], r13b
jne 0x1400149e8
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 0x140014a76
mov rcx, r15
call fcn.14003fd50
test rax, rax
je 0x140014a0b
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140014984
test rcx, rcx
je 0x140014a76
cmp word [rax + rcx*2 - 2], r13w
je 0x140014a76
mov rdx, rax
mov qword [rsp + 0x30], r12
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
call fcn.1400410f0
mov edx, r13d
lea rcx, [rsp + 0x30]
call fcn.140040730
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140040270
lea rcx, [rsp + 0x30]
call fcn.140041170
jmp 0x140014a76
movzx ecx, word [rbx + 0x7c]
mov edx, 0xf000
test dx, cx
jne 0x14001495f
mov eax, 0x8000
or cx, ax
mov word [rbx + 0x7c], cx
jmp 0x14001495f
mov rcx, r15
call fcn.14003fc80
test rax, rax
je 0x140014a76
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x140014a20
test rcx, rcx
je 0x140014a76
cmp byte [rax + rcx - 1], r13b
je 0x140014a76
mov rdx, rax
mov qword [rsp + 0x30], r12
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
call fcn.140041080
movzx edx, r13b
lea rcx, [rsp + 0x30]
call fcn.1400406c0
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140040260
lea rcx, [rsp + 0x30]
call fcn.140041170
test byte [rbx + 0x82], 2
je 0x140014b46
mov eax, 0xfff7
and word [rbx + 0x7e], ax
mov eax, dword [rbx + 0x78]
test eax, eax
jne 0x140014a9b
mov eax, dword [rbp + 0xf]
mov dword [rbx + 0x78], eax
jmp 0x140014ac4
cmp byte [rdi + 0xa0], 0
jne 0x140014ac4
cmp eax, dword [rbp + 0xf]
je 0x140014ac4
lea r8, str.Inconsistent_CRC32_values
mov edx, 0x2a
mov rcx, rsi
call fcn.14003edd0
mov dword [rbp + 0x7f], 0xffffffec
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x140014ad7
mov rax, qword [rbp - 0x41]
mov qword [rbx + 0x28], rax
jmp 0x140014b00
mov r9, qword [rbp - 0x41]
cmp rax, r9
je 0x140014b00
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.14003edd0
mov dword [rbp + 0x7f], 0xffffffec
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x140014b3e
mov ecx, 0xffffffff
cmp rax, rcx
je 0x140014b3e
mov r9, qword [rbp - 0x39]
cmp rax, r9
je 0x140014b46
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.14003edd0
mov dword [rbp + 0x7f], 0xffffffec
jmp 0x140014b46
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x30], rax
movzx edx, word [rbx + 0x7c]
mov rcx, r15
call fcn.1400401c0
mov rdx, qword [rbx + 0x40]
mov rcx, r15
call fcn.1400403a0
mov rdx, qword [rbx + 0x38]
mov rcx, r15
call fcn.1400400e0
mov rdx, qword [rbx + 0x60]
xor r8d, r8d
mov rcx, r15
call fcn.1400401d0
mov rdx, qword [rbx + 0x70]
xor r8d, r8d
mov rcx, r15
call fcn.140040010
mov rdx, qword [rbx + 0x68]
xor r8d, r8d
mov rcx, r15
call fcn.14003ff70
mov rax, qword [rdi + 0x70]
movzx ecx, word [rax + 0x7c]
mov eax, 0xf000
and cx, ax
mov eax, 0xa000
cmp cx, ax
jne 0x140014db0
mov r14, qword [rbx + 0x28]
mov qword [rbp - 0x71], r14
cmp r14, 0x10000
jle 0x140014bd7
lea r8, str.Zip_file_with_oversized_link_entry
mov edx, 0xffffffff
jmp 0x140014e50
xor edx, edx
mov rcx, r15
call fcn.1400402c0
mov rax, qword [rdi + 0x70]
mov r13, r14
mov qword [rsp + 0x48], r14
movzx ecx, byte [rax + 0x80]
test cl, cl
je 0x140014c89
mov qword [rbp - 0x79], r12
cmp cl, 8
je 0x140014c28
cmp cl, 0xe
jne 0x140014c53
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.140013770
jmp 0x140014c44
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.140013440
test eax, eax
jne 0x140014c53
mov r12, qword [rbp - 0x79]
mov r13, qword [rsp + 0x48]
jmp 0x140014c9a
mov rax, qword [rdi + 0x70]
movzx ecx, byte [rax + 0x80]
call fcn.140013ae0
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.14003edd0
mov eax, 0xffffffe7
jmp 0x140014e5d
xor r8d, r8d
mov rdx, r14
mov rcx, rsi
call fcn.140048400
mov r12, rax
test r12, r12
jne 0x140014cb0
lea r8, str.Truncated_Zip_file
lea edx, [r12 - 1]
jmp 0x140014e50
mov r14, qword [rdi + 0x1f00]
test r14, r14
jne 0x140014cde
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
je 0x140014cd7
mov r14, qword [rdi + 0x1f10]
test r14, r14
jne 0x140014cde
mov r14, qword [rdi + 0x1f08]
mov r9, r14
mov r8, r13
mov rdx, r12
mov rcx, r15
call fcn.140040610
test eax, eax
je 0x140014d83
call fcn.140037750
cmp dword [rax], 0xc
je 0x140014d2a
cmp r14, qword [rdi + 0x1f10]
jne 0x140014d2a
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
je 0x140014d2a
xor r9d, r9d
mov r8, r13
mov rdx, r12
mov rcx, r15
call fcn.140040610
call fcn.140037750
cmp dword [rax], 0xc
jne 0x140014d45
lea r8, str.Cant_allocate_memory_for_Symlink
mov edx, ntohl
jmp 0x140014e50
cmp r14, qword [rdi + 0x1f10]
jne 0x140014d5d
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
jne 0x140014d83
mov rcx, r14
call fcn.140040d70
mov r9, rax
lea r8, str.Symlink_cannot_be_converted_from__s_to_current_locale.
mov edx, 0x2a
mov rcx, rsi
call fcn.14003edd0
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.140048a30
test rax, rax
jns 0x140014dc9
lea r8, str.Read_error_skipping_symlink_target_name
lea edx, [r12 - 1]
jmp 0x140014e50
test byte [rbx + 0x7e], 8
je 0x140014dbd
cmp qword [rbx + 0x30], 0
jle 0x140014dc9
mov rdx, qword [rbx + 0x30]
mov rcx, r15
call fcn.1400402c0
mov rax, qword [rbx + 0x28]
mov qword [rdi + 0x78], rax
test byte [rbx + 0x7e], 8
jne 0x140014de4
cmp rax, 1
jge 0x140014de4
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.140013ae0
mov r9d, r11d
mov qword [rsp + 0x20], rax
mov r8d, r10d
lea rdx, str.ZIP__d._d___s_
mov rcx, rdi
call fcn.140046720
mov rcx, qword [rdi]
mov eax, dword [rbp + 0x7f]
mov qword [rsi + 0x18], rcx
jmp 0x140014e5d
lea r8, str.Truncated_ZIP_file_header
mov edx, 0x2a
mov rcx, rsi
call fcn.14003edd0
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