Function at 0x180286da0
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, 0xe0
mov rbx, qword [r8 + 0x68]
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 + 0x99], ax
mov qword [r8 + 0x80], rax
mov qword [r8 + 0x78], rax
xor r8d, r8d
movaps xmmword [rbp + 7], xmm1
movaps xmmword [rbp - 0x49], xmm0
call qword [rdi + 0x90]
cmp qword [rdi + 0x1ea0], 0
mov r12d, 1
mov dword [rdi + 0x88], eax
jne 0x180286e36
cmp dword [rdi + 0x1eb8], 0
jne 0x180286e36
mov rcx, rsi
call fcn.180258e90
mov qword [rdi + 0x1ea8], rax
mov dword [rdi + 0x1eb8], r12d
xor r8d, r8d
mov qword [rsp + 0x120], r13
mov rcx, rsi
lea edx, [r8 + 0x1e]
call fcn.1802543e0
mov r14, rax
test rax, rax
je 0x1802876b9
cmp dword [rax], 0x4034b50
je 0x180286e72
lea r8, str.Damaged_Zip_archive
mov edx, 0xffffffff
jmp 0x1802876c5
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 0x180286ed3
movzx edx, r12b
mov dword [rdi + 0x30], r12d
mov rcx, r15
call fcn.180253fb0
movzx eax, word [rbx + 0x7e]
mov edx, 0x2041
movzx ecx, al
and ax, dx
cmp ax, dx
jne 0x180286ed3
movzx edx, r12b
mov rcx, r15
call fcn.180253fe0
jmp 0x1802876cd
and cl, r12b
mov byte [rdi + 0x1ec0], cl
lea rcx, [r14 + 0xa]
movzx eax, byte [r14 + 8]
mov byte [rbx + 0x80], al
call fcn.180287ae0
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 0x180286f27
movzx eax, byte [r14 + 0xb]
jmp 0x180286f2c
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.1802543f0
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.1802543e0
mov qword [rbp - 0x71], rax
test rax, rax
je 0x1802876b9
mov ecx, 0x800
test word [rbx + 0x7e], cx
je 0x180287019
mov r14, qword [rdi + 0x1eb0]
test r14, r14
jne 0x18028702c
lea r8d, [r14 + 1]
mov rcx, rsi
lea rdx, str.UTF_8
call fcn.180258db0
mov qword [rdi + 0x1eb0], rax
mov r14, rax
test rax, rax
je 0x1802876cd
mov rax, qword [rbp - 0x71]
jmp 0x18028702c
mov r14, qword [rdi + 0x1ea0]
test r14, r14
jne 0x18028702c
mov r14, qword [rdi + 0x1ea8]
mov r9, r14
mov r8, r13
mov rdx, rax
mov rcx, r15
call fcn.180253370
test eax, eax
je 0x180287082
call fcn.1802aa350
cmp dword [rax], 0xc
jne 0x18028705c
lea r8, str.Cant_allocate_memory_for_Pathname
mov edx, 0xc
jmp 0x1802876c5
mov rcx, r14
call fcn.180258d10
mov r9, rax
lea r8, str.Pathname_cannot_be_converted_from__s_to_current_locale.
mov edx, 0x2a
mov rcx, rsi
call fcn.180253290
mov dword [rbp + 0x7f], 0xffffffec
mov rdx, r13
mov rcx, rsi
call fcn.1802543f0
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
call fcn.1802543e0
test rax, rax
je 0x1802876b9
mov r9, r12
mov qword [rsp + 0x20], rbx
mov r8, rax
mov rdx, r15
mov rcx, rsi
call fcn.1802849e0
test eax, eax
jne 0x1802876cd
mov rdx, r12
mov rcx, rsi
call fcn.1802543f0
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 0x1802870fc
and cx, r9w
or cx, r8w
mov word [rbx + 0x7c], cx
test cx, cx
jne 0x18028710a
mov eax, 0x1b4
mov word [rbx + 0x7c], ax
cmp byte [rbx + 0x81], 0
mov r12d, 0x2f
jne 0x1802871cb
mov rcx, r15
call fcn.180253d60
mov r14, rax
test rax, rax
je 0x1802871cb
mov edx, r12d
mov rcx, rax
call fcn.180298978
test rax, rax
jne 0x1802871cb
lea edx, [rax + 0x5c]
mov rcx, r14
call fcn.180298978
xor r13d, r13d
test rax, rax
je 0x1802871ce
mov qword [rsp + 0x30], r13
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x79], r13
mov qword [rsp + 0x38], r13
nop dword [rax]
inc r8
cmp word [r14 + r8*2], r13w
jne 0x180287170
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.18025b5f0
mov rdx, qword [rsp + 0x38]
mov rcx, r13
test rdx, rdx
je 0x1802871b2
mov rax, qword [rsp + 0x30]
cmp word [rax + rcx*2], 0x5c
jne 0x1802871aa
mov word [rax + rcx*2], r12w
mov rdx, qword [rsp + 0x38]
inc rcx
cmp rcx, rdx
jb 0x180287194
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.180253a50
lea rcx, [rsp + 0x30]
call fcn.180259130
jmp 0x1802871ce
xor r13d, r13d
movzx ecx, word [rbx + 0x7c]
mov r14d, 0xf000
movzx eax, cx
and ax, r14w
mov r14d, 0x4000
cmp ax, r14w
je 0x180287285
mov rcx, r15
call fcn.180253d60
test rax, rax
je 0x180287230
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], 0
jne 0x180287203
test rcx, rcx
je 0x18028721f
cmp word [rax + rcx*2 - 2], r12w
mov eax, 1
je 0x180287222
mov eax, r13d
movzx ecx, word [rbx + 0x7c]
test eax, eax
je 0x180287317
jmp 0x180287271
mov rcx, r15
call fcn.180253cc0
test rax, rax
je 0x180287313
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180287250
test rcx, rcx
je 0x180287313
cmp byte [rax + rcx - 1], r12b
jne 0x180287313
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 0x1802873a5
mov rcx, r15
call fcn.180253d60
test rax, rax
je 0x180287336
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp word [rax + rcx*2], 0
jne 0x1802872b0
test rcx, rcx
je 0x1802873a5
cmp word [rax + rcx*2 - 2], r12w
je 0x1802873a5
mov rdx, rax
mov qword [rsp + 0x30], r13
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], r13
mov qword [rbp - 0x79], r13
call fcn.18025b150
mov edx, r12d
lea rcx, [rsp + 0x30]
call fcn.18025b0e0
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.180253a50
lea rcx, [rsp + 0x30]
call fcn.180259130
jmp 0x1802873a5
movzx ecx, word [rbx + 0x7c]
mov edx, 0xf000
test dx, cx
jne 0x18028728a
mov eax, 0x8000
or cx, ax
mov word [rbx + 0x7c], cx
jmp 0x18028728a
mov rcx, r15
call fcn.180253cc0
test rax, rax
je 0x1802873a5
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180287350
test rcx, rcx
je 0x1802873a5
cmp byte [rax + rcx - 1], r12b
je 0x1802873a5
mov rdx, rax
mov qword [rsp + 0x30], r13
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], r13
mov qword [rbp - 0x79], r13
call fcn.180258730
movzx edx, r12b
lea rcx, [rsp + 0x30]
call fcn.1802586c0
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.180253a40
lea rcx, [rsp + 0x30]
call fcn.180259130
test byte [rbx + 0x82], 2
je 0x18028746b
mov eax, 0xfff7
and word [rbx + 0x7e], ax
mov eax, dword [rbx + 0x78]
test eax, eax
jne 0x1802873ca
mov eax, dword [rbp + 0xf]
mov dword [rbx + 0x78], eax
jmp 0x1802873f3
cmp byte [rdi + 0x98], 0
jne 0x1802873f3
cmp eax, dword [rbp + 0xf]
je 0x1802873f3
lea r8, str.Inconsistent_CRC32_values
mov edx, 0x2a
mov rcx, rsi
call fcn.180253290
mov dword [rbp + 0x7f], 0xffffffec
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x180287406
mov rax, qword [rbp - 0x41]
mov qword [rbx + 0x28], rax
jmp 0x18028742f
mov r9, qword [rbp - 0x41]
cmp rax, r9
je 0x18028742f
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.180253290
mov dword [rbp + 0x7f], 0xffffffec
mov rax, qword [rbx + 0x30]
test rax, rax
jne 0x180287442
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x30], rax
jmp 0x18028746b
mov r9, qword [rbp - 0x39]
cmp rax, r9
je 0x18028746b
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.180253290
mov dword [rbp + 0x7f], 0xffffffec
movzx edx, word [rbx + 0x7c]
mov rcx, r15
call fcn.180254010
mov rdx, qword [rbx + 0x40]
mov rcx, r15
call fcn.180254150
mov rdx, qword [rbx + 0x38]
mov rcx, r15
call fcn.180253f80
mov rdx, qword [rbx + 0x60]
xor r8d, r8d
mov rcx, r15
call fcn.180254020
mov rdx, qword [rbx + 0x70]
xor r8d, r8d
mov rcx, r15
call fcn.180253e70
mov rdx, qword [rbx + 0x68]
xor r8d, r8d
mov rcx, r15
call fcn.180253db0
mov rax, qword [rdi + 0x68]
movzx ecx, word [rax + 0x7c]
mov eax, 0xf000
and cx, ax
mov eax, 0xa000
cmp cx, ax
jne 0x180287625
mov r12, qword [rbx + 0x28]
cmp r12, 0x10000
jle 0x1802874f8
lea r8, str.Zip_file_with_oversized_link_entry
mov edx, 0xffffffff
jmp 0x1802876c5
xor edx, edx
mov rcx, r15
call fcn.180254120
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
call fcn.1802543e0
mov r13, rax
test rax, rax
jne 0x180287527
lea r8, str.Truncated_Zip_file
lea edx, [rax - 1]
jmp 0x1802876c5
mov r14, qword [rdi + 0x1ea0]
test r14, r14
jne 0x180287555
mov rax, qword [rdi + 0x68]
mov ecx, 0x800
test word [rax + 0x7e], cx
je 0x18028754e
mov r14, qword [rdi + 0x1eb0]
test r14, r14
jne 0x180287555
mov r14, qword [rdi + 0x1ea8]
mov r9, r14
mov r8, r12
mov rdx, r13
mov rcx, r15
call fcn.180253380
test eax, eax
je 0x1802875fa
call fcn.1802aa350
cmp dword [rax], 0xc
je 0x1802875a1
cmp r14, qword [rdi + 0x1eb0]
jne 0x1802875a1
mov rax, qword [rdi + 0x68]
mov ecx, 0x800
test word [rax + 0x7e], cx
je 0x1802875a1
xor r9d, r9d
mov r8, r12
mov rdx, r13
mov rcx, r15
call fcn.180253380
call fcn.1802aa350
cmp dword [rax], 0xc
jne 0x1802875bc
lea r8, str.Cant_allocate_memory_for_Symlink
mov edx, 0xc
jmp 0x1802876c5
cmp r14, qword [rdi + 0x1eb0]
jne 0x1802875d4
mov rax, qword [rdi + 0x68]
mov ecx, 0x800
test word [rax + 0x7e], cx
jne 0x1802875fa
mov rcx, r14
call fcn.180258d10
mov r9, rax
lea r8, str.Symlink_cannot_be_converted_from__s_to_current_locale.
mov edx, 0x2a
mov rcx, rsi
call fcn.180253290
mov dword [rbp + 0x7f], 0xffffffec
xor r13d, r13d
mov rdx, r12
mov rcx, rsi
mov qword [rbx + 0x28], r13
mov qword [rbx + 0x30], r13
call fcn.1802543f0
test rax, rax
jns 0x18028763e
lea r8, str.Read_error_skipping_symlink_target_name
lea edx, [r13 - 1]
jmp 0x1802876c5
test byte [rbx + 0x7e], 8
je 0x180287632
cmp qword [rbx + 0x30], 0
jle 0x18028763e
mov rdx, qword [rbx + 0x30]
mov rcx, r15
call fcn.180254120
mov rax, qword [rbx + 0x28]
mov qword [rdi + 0x70], rax
test byte [rbx + 0x7e], 8
jne 0x180287659
cmp rax, 1
jge 0x180287659
mov byte [rdi + 0x9a], 1
movsx r11d, byte [rbp + 0x77]
mov eax, 0x66666667
imul r11d
mov qword [rdi + 8], r13
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 + 0x68]
movzx ecx, byte [rcx + 0x80]
call fcn.180284100
mov r9d, r11d
mov qword [rsp + 0x20], rax
mov r8d, r10d
lea rdx, str.ZIP__d._d___s_
mov rcx, rdi
call fcn.18025d570
mov rcx, qword [rdi]
mov eax, dword [rbp + 0x7f]
mov qword [rsi + 0x18], rcx
jmp 0x1802876d2
lea r8, str.Truncated_ZIP_file_header
mov edx, 0x2a
mov rcx, rsi
call fcn.180253290
mov eax, 0xffffffe2
mov r13, qword [rsp + 0x120]
add rsp, 0xe0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret