Function at 0x140124fc0
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0xf8
mov rbx, qword [r8 + 0x70]
mov rsi, rcx
xor ecx, ecx
mov rdi, r8
mov r15, rdx
xor edx, edx
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
mov dword [rbp + 0x7f], ecx
movaps xmmword [rbp - 0x69], xmm0
movaps xmmword [rbp - 0x59], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmm1, xmmword [rbx + 0x30]
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmm1, xmmword [rbx + 0x50]
movaps xmmword [rbp - 0x29], xmm0
movaps xmmword [rbp - 0x19], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmm1, xmmword [rbx + 0x70]
movaps xmmword [rbp - 9], xmm0
movaps xmmword [rbp + 7], xmm1
movups xmm0, xmmword [rbx + 0x80]
mov word [r8 + 0xa1], cx
mov qword [r8 + 0x88], rcx
mov qword [r8 + 0x80], rcx
xor r8d, r8d
movaps xmmword [rbp + 0x17], xmm0
call qword [rdi + 0x98]
cmp qword [rdi + 0x1f00], 0
mov dword [rdi + 0x90], eax
jne 0x140125084
cmp dword [rdi + 0x1f18], 0
jne 0x140125084
mov rcx, rsi
call fcn.14012e8b0
mov dword [rdi + 0x1f18], 1
mov qword [rdi + 0x1f08], rax
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0x1e]
call fcn.14012a370
mov r14, rax
test rax, rax
jne 0x1401250c1
lea r8, str.Truncated_ZIP_file_header
lea edx, [rax + 0x2a]
mov rcx, rsi
call fcn.14012d240
lea eax, [r14 - 0x1e]
add rsp, 0xf8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, dword [rax]
cmp eax, dword [0x140203f24]
je 0x1401250f2
lea r8, str.Damaged_Zip_archive
or edx, 0xffffffff
mov rcx, rsi
call fcn.14012d240
mov eax, 0xffffffe2
add rsp, 0xf8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx eax, byte [r14 + 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 0x140125165
mov dl, 1
mov rcx, r15
mov dword [rdi + 0x38], 1
call fcn.140127e40
movzx eax, word [rbx + 0x7e]
mov ecx, 0x2000
test cx, ax
je 0x140125165
test al, 1
je 0x140125165
test al, 0x40
je 0x140125165
mov dl, 1
mov rcx, r15
call fcn.140127e60
mov eax, 0xffffffe2
add rsp, 0xf8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx eax, byte [rbx + 0x7e]
lea rcx, [r14 + 0xa]
mov qword [rsp + 0x130], r12
and al, 1
mov qword [rsp + 0xf0], r13
mov byte [rdi + 0x1f20], al
movzx eax, byte [r14 + 8]
mov byte [rbx + 0x80], al
call fcn.140125df0
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 0x1401251cc
movzx eax, byte [r14 + 0xb]
jmp 0x1401251d1
movzx eax, byte [r14 + 0x11]
mov byte [rbx + 0x83], al
movzx eax, byte [r14 + 0x14]
movzx ecx, byte [r14 + 0x15]
shl ecx, 8
mov edx, 0x1e
or ecx, eax
movzx eax, byte [r14 + 0x13]
shl ecx, 8
or ecx, eax
movzx eax, byte [r14 + 0x12]
shl ecx, 8
or rcx, rax
mov qword [rbx + 0x28], rcx
movzx eax, byte [r14 + 0x18]
movzx ecx, byte [r14 + 0x19]
shl ecx, 8
or ecx, eax
movzx eax, byte [r14 + 0x17]
shl ecx, 8
or ecx, eax
movzx eax, byte [r14 + 0x16]
shl ecx, 8
or rcx, rax
mov qword [rbx + 0x30], rcx
movzx eax, byte [r14 + 0x1b]
mov rcx, rsi
shl ax, 8
movzx r13d, ax
movzx eax, byte [r14 + 0x1a]
or r13, rax
movzx eax, byte [r14 + 0x1d]
shl ax, 8
movzx r12d, ax
movzx eax, byte [r14 + 0x1c]
or r12, rax
call fcn.14012a380
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.14012a370
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x140125292
lea r8, str.Truncated_ZIP_file_header
lea edx, [rax + 0x2a]
mov rcx, rsi
call fcn.14012d240
mov eax, 0xffffffe2
jmp 0x140125a36
mov ecx, 0x800
test word [rbx + 0x7e], cx
je 0x1401252da
cmp qword [rdi + 0x1f10], 0
jne 0x1401252d1
lea rdx, str.UTF_8
mov r8d, 1
mov rcx, rsi
call fcn.14012e810
mov qword [rdi + 0x1f10], rax
test rax, rax
je 0x14012599a
mov rax, qword [rsp + 0x48]
mov r14, qword [rdi + 0x1f10]
jmp 0x1401252ed
mov r14, qword [rdi + 0x1f00]
test r14, r14
jne 0x1401252ed
mov r14, qword [rdi + 0x1f08]
mov r9, r14
mov r8, r13
mov rdx, rax
mov rcx, r15
call fcn.140126590
test eax, eax
je 0x140125351
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 0xc
jne 0x14012532b
lea r8, str.Cant_allocate_memory_for_Pathname
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, rsi
call fcn.14012d240
mov eax, 0xffffffe2
jmp 0x140125a36
mov rcx, r14
call fcn.14012e770
lea r8, str.Pathname_cannot_be_converted_from__s_to_current_locale.
mov edx, 0x2a
mov r9, rax
mov rcx, rsi
call fcn.14012d240
mov dword [rbp + 0x7f], 0xffffffec
mov rdx, r13
mov rcx, rsi
call fcn.14012a380
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
call fcn.14012a370
mov rcx, rsi
test rax, rax
jne 0x14012538b
lea r8, str.Truncated_ZIP_file_header
lea edx, [rax + 0x2a]
call fcn.14012d240
mov eax, 0xffffffe2
jmp 0x140125a36
mov r9, r12
mov r8, rax
mov rdx, r15
mov qword [rsp + 0x20], rbx
call fcn.140122520
test eax, eax
jne 0x14012599a
mov rdx, r12
mov rcx, rsi
call fcn.14012a380
movzx ecx, word [rbx + 0x7c]
mov edx, 0xf000
movzx eax, cx
mov r9d, 0x8000
and ax, dx
mov edx, 0x1000
lea r8d, [rdx - 1]
cmp ax, dx
jne 0x1401253e0
and cx, r8w
or cx, r9w
mov word [rbx + 0x7c], cx
cmp word [rbx + 0x7c], 0
jne 0x1401253f0
mov eax, 0x1b4
mov word [rbx + 0x7c], ax
cmp byte [rbx + 0x81], 0
mov r13d, 0x2f
jne 0x1401254b7
mov rcx, r15
call fcn.140127a70
mov r14, rax
test rax, rax
je 0x1401254b7
mov edx, r13d
mov rcx, rax
call qword [sym.imp.msvcrt.dll_wcschr]
test rax, rax
jne 0x1401254b7
lea edx, [rax + 0x5c]
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcschr]
xor r12d, r12d
test rax, rax
je 0x1401254ba
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r12
or r8, 0xffffffffffffffff
inc r8
cmp word [r14 + r8*2], r12w
jne 0x140125453
lea rcx, [rsp + 0x30]
mov rdx, r14
call fcn.140130dc0
mov rdx, qword [rsp + 0x38]
mov rcx, r12
test rdx, rdx
je 0x14012549e
nop word [rax + rax]
mov rax, qword [rsp + 0x30]
cmp word [rax + rcx*2], 0x5c
jne 0x140125496
mov word [rax + rcx*2], r13w
mov rdx, qword [rsp + 0x38]
inc rcx
cmp rcx, rdx
jb 0x140125480
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140127330
lea rcx, [rsp + 0x30]
call fcn.140130d90
jmp 0x1401254ba
xor r12d, r12d
movzx eax, word [rbx + 0x7c]
mov r14d, 0xf000
and ax, r14w
mov r14d, 0x4000
cmp ax, r14w
je 0x140125561
mov rcx, r15
call fcn.140127a70
test rax, rax
je 0x140125523
or rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], 0
jne 0x1401254f0
test rcx, rcx
je 0x140125507
cmp word [rax + rcx*2 - 2], r13w
je 0x140125549
movzx eax, word [rbx + 0x7c]
mov edx, 0xf000
test dx, ax
jne 0x140125566
mov ecx, 0x8000
or ax, cx
mov word [rbx + 0x7c], ax
jmp 0x140125566
mov rcx, r15
call fcn.140127990
test rax, rax
je 0x140125507
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140125534
test rcx, rcx
je 0x140125507
cmp byte [rax + rcx - 1], r13b
jne 0x140125507
movzx eax, word [rbx + 0x7c]
mov ecx, 0xfff
and ax, cx
or ax, r14w
or ax, 0x49
mov word [rbx + 0x7c], ax
mov edx, 0xf000
movzx eax, word [rbx + 0x7c]
and ax, dx
cmp ax, r14w
jne 0x140125658
mov rcx, r15
call fcn.140127a70
test rax, rax
je 0x1401255f1
or rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140125590
test rcx, rcx
je 0x140125658
cmp word [rax + rcx*2 - 2], r13w
je 0x140125658
lea rcx, [rsp + 0x30]
mov rdx, rax
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
call fcn.1401308f0
lea rcx, [rsp + 0x30]
mov edx, r13d
call fcn.140130870
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140127330
lea rcx, [rsp + 0x30]
call fcn.140130d90
jmp 0x140125658
mov rcx, r15
call fcn.140127990
test rax, rax
je 0x140125658
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140125602
test rcx, rcx
je 0x140125658
cmp byte [rax + rcx - 1], r13b
je 0x140125658
lea rcx, [rsp + 0x30]
mov rdx, rax
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
call fcn.14012e1d0
lea rcx, [rsp + 0x30]
movzx edx, r13b
call fcn.14012e160
mov rdx, qword [rsp + 0x30]
mov rcx, r15
call fcn.140127ef0
lea rcx, [rsp + 0x30]
call fcn.14012ea60
test byte [rbx + 0x82], 2
je 0x140125728
mov eax, 0xfff7
and word [rbx + 0x7e], ax
mov eax, dword [rbx + 0x78]
test eax, eax
jne 0x14012567d
mov eax, dword [rbp + 0xf]
mov dword [rbx + 0x78], eax
jmp 0x1401256a6
cmp byte [rdi + 0xa0], 0
jne 0x1401256a6
cmp eax, dword [rbp + 0xf]
je 0x1401256a6
lea r8, str.Inconsistent_CRC32_values
mov edx, 0x2a
mov rcx, rsi
call fcn.14012d240
mov dword [rbp + 0x7f], 0xffffffec
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x1401256b9
mov rax, qword [rbp - 0x41]
mov qword [rbx + 0x28], rax
jmp 0x1401256e2
mov r9, qword [rbp - 0x41]
cmp rax, r9
je 0x1401256e2
lea r8, str.Inconsistent_compressed_size:__jd_in_central_directory___jd_in_local_header
mov edx, 0x2a
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14012d240
mov dword [rbp + 0x7f], 0xffffffec
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x140125720
mov ecx, 0xffffffff
cmp rax, rcx
je 0x140125720
mov r9, qword [rbp - 0x39]
cmp rax, r9
je 0x140125728
lea r8, str.Inconsistent_uncompressed_size:__jd_in_central_directory___jd_in_local_header
mov edx, 0x2a
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14012d240
mov dword [rbp + 0x7f], 0xffffffec
jmp 0x140125728
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x30], rax
movzx edx, word [rbx + 0x7c]
mov rcx, r15
call fcn.140127e80
mov rdx, qword [rbx + 0x40]
mov rcx, r15
call fcn.140128010
mov rdx, qword [rbx + 0x38]
mov rcx, r15
call fcn.140127d60
mov rdx, qword [rbx + 0x60]
xor r8d, r8d
mov rcx, r15
call fcn.140127e90
mov rdx, qword [rbx + 0x70]
xor r8d, r8d
mov rcx, r15
call fcn.140127b90
mov rdx, qword [rbx + 0x68]
xor r8d, r8d
mov rcx, r15
call fcn.140127b40
mov rax, qword [rdi + 0x70]
movzx ecx, word [rax + 0x7c]
mov eax, 0xf000
and cx, ax
mov eax, 0xa000
cmp cx, ax
jne 0x1401259a4
mov r14, qword [rbx + 0x28]
mov qword [rbp - 0x71], r14
cmp r14, 0x10000
jle 0x1401257b4
lea r8, str.Zip_file_with_oversized_link_entry
jmp 0x14012598f
xor edx, edx
mov rcx, r15
call fcn.140127f50
mov rax, qword [rdi + 0x70]
mov r13, r14
movzx ecx, byte [rax + 0x80]
mov qword [rsp + 0x48], r14
test cl, cl
je 0x140125868
mov qword [rbp - 0x79], r12
movzx eax, cl
cmp cl, 8
je 0x140125807
cmp al, 0xe
jne 0x140125832
mov rax, qword [rbx + 0x28]
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x79]
xor r9d, r9d
mov rcx, rsi
mov qword [rdi + 0x78], rax
call fcn.140124a90
jmp 0x140125823
mov rax, qword [rbx + 0x28]
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x79]
xor r9d, r9d
mov rcx, rsi
mov qword [rdi + 0x78], rax
call fcn.1401241c0
test eax, eax
jne 0x140125832
mov r12, qword [rbp - 0x79]
mov r13, qword [rsp + 0x48]
jmp 0x140125879
mov rax, qword [rdi + 0x70]
movzx ecx, byte [rax + 0x80]
call fcn.140121cf0
mov r9d, ecx
lea r8, str.Unsupported_ZIP_compression_method_during_decompression_of_link_entry___d:__s_
mov edx, 0x2a
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14012d240
mov eax, 0xffffffe7
jmp 0x140125a36
xor r8d, r8d
mov rdx, r14
mov rcx, rsi
call fcn.14012a370
mov r12, rax
test r12, r12
jne 0x14012588a
lea r8, str.Truncated_Zip_file
jmp 0x14012598f
mov r14, qword [rdi + 0x1f00]
test r14, r14
jne 0x1401258b8
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
je 0x1401258b1
mov r14, qword [rdi + 0x1f10]
test r14, r14
jne 0x1401258b8
mov r14, qword [rdi + 0x1f08]
mov r9, r14
mov r8, r13
mov rdx, r12
mov rcx, r15
call fcn.1401265a0
test eax, eax
je 0x14012596c
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 0xc
je 0x140125905
cmp r14, qword [rdi + 0x1f10]
jne 0x140125905
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
je 0x140125905
xor r9d, r9d
mov r8, r13
mov rdx, r12
mov rcx, r15
call fcn.1401265a0
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 0xc
jne 0x14012592e
lea r8, str.Cant_allocate_memory_for_Symlink
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, rsi
call fcn.14012d240
mov eax, 0xffffffe2
jmp 0x140125a36
cmp r14, qword [rdi + 0x1f10]
jne 0x140125946
mov rax, qword [rdi + 0x70]
mov ecx, 0x800
test word [rax + 0x7e], cx
jne 0x14012596c
mov rcx, r14
call fcn.14012e770
lea r8, str.Symlink_cannot_be_converted_from__s_to_current_locale.
mov edx, 0x2a
mov r9, rax
mov rcx, rsi
call fcn.14012d240
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.14012a380
test rax, rax
jns 0x1401259bd
lea r8, str.Read_error_skipping_symlink_target_name
or edx, 0xffffffff
mov rcx, rsi
call fcn.14012d240
mov eax, 0xffffffe2
jmp 0x140125a36
test byte [rbx + 0x7e], 8
je 0x1401259b1
cmp qword [rbx + 0x30], 0
jle 0x1401259bd
mov rdx, qword [rbx + 0x30]
mov rcx, r15
call fcn.140127f50
mov rax, qword [rbx + 0x28]
mov qword [rdi + 0x78], rax
test byte [rbx + 0x7e], 8
jne 0x1401259d8
cmp rax, 1
jge 0x1401259d8
mov byte [rdi + 0xa2], 1
movsx r11d, byte [rbp + 0x77]
mov eax, 0x66666667
mov qword [rdi + 8], r12
imul r11d
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.140121cf0
lea rdx, str.ZIP__d._d___s_
mov r9d, r11d
mov r8d, r10d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140137f60
mov rcx, qword [rdi]
mov eax, dword [rbp + 0x7f]
mov qword [rsi + 0x18], rcx
mov r12, qword [rsp + 0x130]
mov r13, qword [rsp + 0xf0]
add rsp, 0xf8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret