Function at 0x14000d690
Capabilities:
Compress data via zlib inflate or deflate

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x70], xmm6
mov dword [rsp + 0xd8], edx
mov r14, rcx
test rcx, rcx
je case.default.0x14000d797
cmp qword [rcx + 0x30], 0
je case.default.0x14000d797
cmp qword [rcx + 0x38], 0
je case.default.0x14000d797
mov rbp, qword [rcx + 0x28]
mov r12d, 0xfffffffe
test rbp, rbp
je 0x14000d6f4
cmp rcx, qword [rbp]
jne 0x14000d6f4
mov edx, dword [rbp + 8]
lea eax, [rdx - 0x3f34]
cmp eax, 0x1f
jbe 0x14000d710
movaps xmm6, xmmword [rsp + 0x70]
mov eax, r12d
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r11, qword [rcx + 0x10]
test r11, r11
je 0x14000d6f4
mov ebx, dword [rcx + 8]
mov rdi, qword [rcx]
mov dword [rsp + 0x40], ebx
test rdi, rdi
je 0x14000dbd8
cmp edx, 0x3f3f
jne 0x14000d740
mov dword [rbp + 8], 0x3f40
mov eax, 0xc
mov ecx, dword [rsp + 0xd8]
mov esi, dword [r14 + 0x18]
mov r13, r11
mov r15d, dword [rbp + 0x48]
mov ebx, dword [rbp + 0x4c]
lea edx, [rcx - 5]
lea rcx, [0x14002af20]
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x44], edx
lea rdx, [0x14002afa0]
movq xmm1, rcx
mov dword [rsp + 0x34], esi
movq xmm6, rdx
mov esi, dword [rsp + 0x40]
punpcklqdq xmm6, xmm1
cmp eax, 0x1e
ja case.default.0x14000d797
lea rdx, [0x14002ae94]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r12d, 0xfffffffe
jmp 0x14000d6f4
cmp ebx, 0x1f
ja 0x14000f368
test esi, esi
je 0x14000e838
movzx eax, byte [rdi]
mov ecx, ebx
lea edx, [rsi - 1]
lea r8, [rdi + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r15d, eax
cmp ecx, 0x1f
ja 0x14000ef61
test edx, edx
je 0x14000f18f
movzx eax, byte [rdi + 1]
lea edx, [rsi - 2]
lea r8, [rdi + 2]
shl eax, cl
lea ecx, [rbx + 0x10]
add r15d, eax
cmp ecx, 0x1f
ja 0x14000ef61
test edx, edx
je 0x14000f18f
movzx eax, byte [rdi + 2]
add ebx, 0x18
lea edx, [rsi - 3]
lea r8, [rdi + 3]
shl eax, cl
add r15d, eax
cmp ebx, 0x1f
ja 0x14000ef61
test edx, edx
je 0x14000f438
movzx eax, byte [rdi + 3]
mov ecx, ebx
sub esi, 4
lea r8, [rdi + 4]
shl eax, cl
add r15d, eax
mov edx, r15d
mov ecx, r15d
mov eax, r15d
shl r15d, 8
shr edx, 0x18
shl ecx, 0x18
and r15d, 0xff0000
mov rdi, r8
shr eax, 8
add ecx, edx
xor ebx, ebx
and eax, 0xff00
lea edx, [rcx + rax]
lea eax, [rdx + r15]
xor r15d, r15d
mov dword [rbp + 0x20], eax
mov dword [r14 + 0x4c], eax
mov dword [rbp + 8], 0x3f3e
mov r9d, dword [rbp + 0x14]
test r9d, r9d
je 0x14000f46b
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14000b440
mov dword [rbp + 0x20], eax
mov dword [r14 + 0x4c], eax
mov dword [rbp + 8], 0x3f3f
cmp dword [rsp + 0x44], 1
jbe 0x14000e838
mov r12d, dword [rbp + 0xc]
test r12d, r12d
je 0x14000e398
mov ecx, ebx
mov dword [rbp + 8], 0x3f4e
mov r11, r13
and ebx, 0xfffffff8
and ecx, 7
shr r15d, cl
mov eax, dword [rbp + 0x10]
test eax, eax
je 0x14000d9b0
cmp ebx, 0x1f
ja 0x14000f49b
test esi, esi
je 0x14000f105
movzx edx, byte [rdi]
mov ecx, ebx
lea r8d, [rsi - 1]
lea r12, [rdi + 1]
shl edx, cl
lea ecx, [rbx + 8]
add r15d, edx
cmp ecx, 0x1f
ja 0x14000f25d
test r8d, r8d
je 0x14000f267
movzx edx, byte [rdi + 1]
lea r8d, [rsi - 2]
lea r12, [rdi + 2]
shl edx, cl
lea ecx, [rbx + 0x10]
add r15d, edx
cmp ecx, 0x1f
ja 0x14000f25d
test r8d, r8d
je 0x14000f267
movzx edx, byte [rdi + 2]
lea r8d, [rsi - 3]
lea r12, [rdi + 3]
shl edx, cl
lea ecx, [rbx + 0x18]
add r15d, edx
cmp ecx, 0x1f
ja 0x14000f25d
test r8d, r8d
je 0x14000f267
movzx edx, byte [rdi + 3]
sub esi, 4
lea r12, [rdi + 4]
add ebx, 0x20
shl edx, cl
add r15d, edx
mov r8d, dword [rsp + 0x38]
mov edx, eax
sub r8d, dword [rsp + 0x34]
and edx, 4
add dword [r14 + 0x1c], r8d
add dword [rbp + 0x24], r8d
test r8d, r8d
je 0x14000eed0
test edx, edx
jne 0x14000ee9b
mov ebx, dword [rsp + 0x34]
mov rdi, r12
xor r15d, r15d
mov dword [rsp + 0x38], ebx
xor ebx, ebx
nop
mov dword [rbp + 8], 0x3f4f
jmp 0x14000e0b6
mov rax, qword [0x14002b7d8]
cmp dword [rsp + 0xd8], 6
mov dword [rbp + 8], 0x3f47
movups xmmword [rbp + 0x60], xmm6
mov qword [rbp + 0x70], rax
je 0x14000f648
shr r15d, 3
sub ebx, 3
mov rdi, rdx
nop word [rax + rax]
mov dword [rbp + 8], 0x3f48
cmp esi, 5
jbe 0x14000e5e8
mov eax, dword [rsp + 0x34]
cmp eax, 0x101
jbe 0x14000e5e8
mov qword [r14 + 0x10], r13
movd xmm4, ebx
movd xmm0, r15d
mov rcx, r14
mov dword [r14 + 0x18], eax
punpckldq xmm0, xmm4
mov edx, dword [rsp + 0x38]
mov qword [r14], rdi
mov dword [r14 + 8], esi
movq qword [rbp + 0x48], xmm0
call fcn.14000c2b0
mov eax, dword [r14 + 0x18]
mov r13, qword [r14 + 0x10]
mov rdi, qword [r14]
mov esi, dword [r14 + 8]
mov r15d, dword [rbp + 0x48]
mov ebx, dword [rbp + 0x4c]
mov dword [rsp + 0x34], eax
mov eax, dword [rbp + 8]
cmp eax, 0x3f3f
je 0x14000ebd0
sub eax, 0x3f34
jmp 0x14000d784
mov r10d, dword [rbp + 0x58]
test r10d, r10d
jne 0x14000ebe0
mov dword [rbp + 8], 0x3f4c
mov ecx, dword [rsp + 0x34]
test ecx, ecx
je 0x14000f283
mov r10d, dword [rsp + 0x38]
mov eax, dword [rbp + 0x54]
mov edx, r10d
sub edx, ecx
cmp eax, edx
jbe 0x14000ea40
add eax, ecx
mov edx, eax
sub edx, r10d
cmp dword [rbp + 0x38], edx
jae 0x14000e6b0
mov ecx, dword [rbp + 0x1be0]
test ecx, ecx
je 0x14000e6b0
lea rax, str.invalid_distance_too_far_back
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
mov r13d, dword [rsp + 0x38]
mov r12d, 0xfffffffd
sub r13d, dword [rsp + 0x34]
jmp 0x14000dbfa
mov edx, dword [rbp + 0x58]
test edx, edx
jne 0x14000ea70
mov eax, dword [rbp + 0x50]
mov dword [rbp + 0x1be8], eax
mov dword [rbp + 8], 0x3f4a
mov ecx, dword [rbp + 0x74]
mov r8d, 0xffffffff
mov r9, qword [rbp + 0x68]
shl r8d, cl
not r8d
mov eax, r8d
and eax, r15d
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r10d, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, dl
mov r11d, eax
cmp eax, ebx
jbe 0x14000db8d
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000db58
test esi, esi
je 0x14000dbe8
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
mov eax, r8d
and eax, r15d
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r10d, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, dl
mov r11d, eax
cmp eax, ecx
ja 0x14000db50
mov ebx, ecx
mov ecx, eax
test r10b, 0xf0
je 0x14000ed8a
mov eax, dword [rbp + 0x1be4]
add eax, ecx
shr r15d, cl
sub ebx, r11d
mov dword [rbp + 0x1be4], eax
test r10b, 0x40
je 0x14000ebb0
lea rax, str.invalid_distance_code
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
test ebx, ebx
je 0x14000d72c
jmp 0x14000d6f4
mov r11, r13
mov ebx, ecx
mov r13d, dword [rsp + 0x38]
xor r12d, r12d
sub r13d, dword [rsp + 0x34]
mov eax, dword [rsp + 0x34]
movd xmm0, r15d
movd xmm2, ebx
mov qword [r14], rdi
mov r10d, dword [rbp + 0x34]
punpckldq xmm0, xmm2
mov qword [r14 + 0x10], r11
mov dword [r14 + 0x18], eax
mov dword [r14 + 8], esi
movq qword [rbp + 0x48], xmm0
test r10d, r10d
jne 0x14000dc50
cmp dword [rsp + 0x38], eax
je 0x14000dc73
mov eax, dword [rbp + 8]
cmp eax, 0x3f50
ja 0x14000dc73
cmp dword [rsp + 0xd8], 4
jne 0x14000dc50
cmp eax, 0x3f4d
ja 0x14000dc73
nop dword [rax]
mov r8d, r13d
mov rdx, r11
mov rcx, r14
call fcn.14000ce90
test eax, eax
jne 0x14000f271
mov esi, dword [r14 + 8]
mov r13d, dword [rsp + 0x38]
sub r13d, dword [r14 + 0x18]
mov ebx, dword [rsp + 0x40]
add dword [r14 + 0x1c], r13d
sub ebx, esi
add dword [r14 + 0xc], ebx
add dword [rbp + 0x24], r13d
test byte [rbp + 0x10], 4
je 0x14000dc90
test r13d, r13d
jne 0x14000dcf8
mov edx, dword [rbp + 0xc]
mov eax, dword [rbp + 0x4c]
test edx, edx
je 0x14000dc9d
add eax, 0x40
mov edx, dword [rbp + 8]
cmp edx, 0x3f3f
je 0x14000dcf0
cmp edx, 0x3f47
je 0x14000dcb8
cmp edx, 0x3f42
jne 0x14000dcbd
add eax, 0x100
or ebx, r13d
mov dword [r14 + 0x48], eax
je 0x14000dcd4
cmp dword [rsp + 0xd8], 4
jne 0x14000d6f4
test r12d, r12d
jne 0x14000d6f4
mov r12d, 0xfffffffb
jmp 0x14000d6f4
sub eax, 0xffffff80
jmp 0x14000dcbd
mov rdx, qword [r14 + 0x10]
mov r9d, dword [rbp + 0x18]
mov eax, r13d
mov r8d, r13d
mov ecx, dword [rbp + 0x20]
sub rdx, rax
test r9d, r9d
je 0x14000dd28
call fcn.14000bfc0
mov dword [rbp + 0x20], eax
mov dword [r14 + 0x4c], eax
jmp 0x14000dc90
call fcn.14000b440
jmp 0x14000dd16
mov r8d, dword [rbp + 0x84]
mov r9d, dword [rbp + 0x78]
cmp r8d, r9d
jae 0x14000f029
mov ecx, ebx
lea r10, [0x14002b7a0]
cmp ecx, 2
ja 0x14000dda6
test esi, esi
je 0x14000dbe8
movzx eax, byte [rdi]
sub esi, 1
lea rdx, [rdi + 1]
shl eax, cl
add ecx, 8
add r15d, eax
lea eax, [r8 + 1]
mov r11d, r15d
movzx r8d, word [r10 + r8*2]
shr r15d, 3
and r11d, 7
mov dword [rbp + 0x84], eax
sub ecx, 3
mov word [rbp + r8*2 + 0x90], r11w
cmp r9d, eax
jbe 0x14000f021
mov rdi, rdx
mov r8d, eax
cmp ecx, 2
jbe 0x14000dd52
mov rdx, rdi
jmp 0x14000dd6c
mov r11, r13
mov r12d, 1
mov r13d, dword [rsp + 0x38]
sub r13d, dword [rsp + 0x34]
jmp 0x14000dbfa
mov eax, dword [rbp + 0x18]
test ah, 8
jne 0x14000e980
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14000dded
mov qword [rdx + 0x20], 0
mov dword [rbp + 0x50], 0
mov dword [rbp + 8], 0x3f3b
test ah, 0x10
jne 0x14000e8d0
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14000de15
mov qword [rdx + 0x30], 0
mov dword [rbp + 8], 0x3f3c
test ah, 2
jne 0x14000e850
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14000de3e
sar eax, 9
mov dword [rdx + 0x40], 1
and eax, 1
mov dword [rdx + 0x3c], eax
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14000bfc0
mov dword [rbp + 0x20], eax
mov dword [r14 + 0x4c], eax
mov dword [rbp + 8], 0x3f3f
jmp case.0x14000d797.11
mov eax, dword [rbp + 0x18]
jmp 0x14000ddfb
mov r10d, dword [rbp + 0x84]
mov eax, dword [rbp + 0x7c]
mov r11d, dword [rbp + 0x80]
add r11d, eax
mov dword [rsp + 0x48], eax
cmp r11d, r10d
jbe 0x14000df2a
mov ecx, dword [rbp + 0x70]
mov edx, 0xffffffff
mov r8, qword [rbp + 0x60]
shl edx, cl
not edx
mov eax, r15d
and eax, edx
lea rax, [r8 + rax*4]
movzx ecx, byte [rax + 1]
movzx r9d, word [rax + 2]
movzx eax, cl
cmp ebx, eax
jae 0x14000defb
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000dec8
test esi, esi
je 0x14000dbe8
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
mov eax, r15d
and eax, edx
lea rax, [r8 + rax*4]
movzx ebx, byte [rax + 1]
movzx r9d, word [rax + 2]
movzx eax, bl
cmp eax, ecx
ja 0x14000dec0
mov r12d, ecx
mov ecx, ebx
mov ebx, r12d
cmp r9w, 0xf
ja 0x14000eaf8
sub ebx, eax
lea eax, [r10 + 1]
shr r15d, cl
mov dword [rbp + 0x84], eax
mov word [rbp + r10*2 + 0x90], r9w
mov r10d, eax
cmp r11d, r10d
ja 0x14000de99
cmp dword [rbp + 8], 0x3f51
je case.0x14000d797.29
cmp word [rbp + 0x290], 0
jne 0x14000f511
lea rax, str.invalid_code____missing_end_of_block
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov eax, dword [rbp + 0x50]
mov dword [rbp + 8], 0x3f43
test eax, eax
je 0x14000d8a1
cmp esi, eax
mov ecx, dword [rsp + 0x34]
cmovbe eax, esi
cmp eax, ecx
cmova eax, ecx
mov r12d, eax
test eax, eax
je 0x14000f4a3
mov r8d, eax
mov rdx, rdi
mov rcx, r13
sub esi, r12d
mov qword [rsp + 0x48], r8
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x48]
sub dword [rsp + 0x34], r12d
sub dword [rbp + 0x50], r12d
mov eax, dword [rbp + 8]
add rdi, r8
add r13, r8
jmp 0x14000da64
mov edx, dword [rbp + 0x18]
mov eax, edx
test dh, 4
jne 0x14000ec4c
mov rcx, qword [rbp + 0x28]
xor edx, edx
test rcx, rcx
je 0x14000dfe1
mov qword [rcx + 0x10], 0
mov dword [rbp + 8], 0x3f39
test edx, edx
je 0x14000e081
mov edx, dword [rbp + 0x50]
cmp esi, edx
mov r12d, edx
cmovbe r12d, esi
test r12d, r12d
je 0x14000e076
mov r8, qword [rbp + 0x28]
mov r9d, r12d
test r8, r8
je 0x14000e058
mov rcx, qword [r8 + 0x10]
test rcx, rcx
je 0x14000e058
mov r10d, dword [r8 + 0x18]
mov r11d, dword [r8 + 0x1c]
mov dword [rsp + 0x48], r10d
sub r10d, edx
cmp r11d, r10d
jbe 0x14000e058
lea eax, [r12 + r10]
mov r8, r9
cmp r11d, eax
jae 0x14000e040
lea r8d, [r11 + rdx]
sub r8d, dword [rsp + 0x48]
add rcx, r10
mov rdx, rdi
mov qword [rsp + 0x48], r9
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp + 0x18]
mov r9, qword [rsp + 0x48]
test ah, 2
je 0x14000e067
test byte [rbp + 0x10], 4
jne 0x14000f0e5
mov edx, dword [rbp + 0x50]
sub esi, r12d
add rdi, r9
sub edx, r12d
mov dword [rbp + 0x50], edx
test edx, edx
jne 0x14000e838
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x50], 0
mov dword [rbp + 8], 0x3f3a
jmp 0x14000ddd3
mov eax, dword [rbp + 0x18]
jmp 0x14000de1c
mov eax, dword [rbp + 0x50]
jmp 0x14000df6a
mov eax, dword [rbp + 0x10]
mov r11, r13
test eax, eax
je 0x14000f153
mov r12d, dword [rbp + 0x18]
test r12d, r12d
je 0x14000f153
cmp ebx, 0x1f
ja 0x14000f1b9
test esi, esi
je 0x14000f105
movzx r8d, byte [rdi]
mov ecx, ebx
lea r9d, [rsi - 1]
lea rdx, [rdi + 1]
shl r8d, cl
lea ecx, [rbx + 8]
add r15d, r8d
cmp ecx, 0x1f
ja 0x14000ee08
test r9d, r9d
je 0x14000ee33
movzx r8d, byte [rdi + 1]
lea r9d, [rsi - 2]
lea rdx, [rdi + 2]
shl r8d, cl
lea ecx, [rbx + 0x10]
add r15d, r8d
cmp ecx, 0x1f
ja 0x14000ee08
test r9d, r9d
je 0x14000ee33
movzx r8d, byte [rdi + 2]
lea r9d, [rsi - 3]
lea rdx, [rdi + 3]
shl r8d, cl
lea ecx, [rbx + 0x18]
add r15d, r8d
cmp ecx, 0x1f
ja 0x14000ee08
test r9d, r9d
je 0x14000ee33
movzx r8d, byte [rdi + 3]
sub esi, 4
lea rdx, [rdi + 4]
add ebx, 0x20
shl r8d, cl
add r15d, r8d
test al, 4
je 0x14000f14b
cmp dword [rbp + 0x24], r15d
je 0x14000f14b
lea rax, str.incorrect_length_check
mov rdi, rdx
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov eax, dword [rbp + 0x18]
mov edx, eax
and edx, 0x400
jmp 0x14000dfe8
cmp ebx, 0x1f
ja 0x14000e1e7
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000e1d0
test esi, esi
je 0x14000dbe8
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
cmp ecx, 0x1f
jbe 0x14000e1c8
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x14000e1f4
mov dword [rax + 4], r15d
test byte [rbp + 0x19], 2
je 0x14000e204
test byte [rbp + 0x10], 4
jne 0x14000f16f
mov dword [rbp + 8], 0x3f37
xor r15d, r15d
xor ebx, ebx
jmp 0x14000e21d
cmp ebx, 0xf
ja 0x14000e24f
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000e238
test esi, esi
je 0x14000dbe8
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
cmp ecx, 0xf
jbe 0x14000e230
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x14000e268
movzx edx, r15b
mov dword [rax + 8], edx
mov edx, r15d
shr edx, 8
mov dword [rax + 0xc], edx
mov edx, dword [rbp + 0x18]
mov eax, edx
test dh, 2
je 0x14000e27c
test byte [rbp + 0x10], 4
jne 0x14000ef68
mov dword [rbp + 8], 0x3f38
xor ebx, ebx
xor r15d, r15d
test dh, 4
je 0x14000dfce
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000e2a8
test esi, esi
je 0x14000dbe8
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
cmp ecx, 0xf
jbe 0x14000e2a0
mov rax, qword [rbp + 0x28]
mov dword [rbp + 0x50], r15d
test rax, rax
je 0x14000e2d0
mov dword [rax + 0x18], r15d
test dh, 2
je 0x14000e2df
test byte [rbp + 0x10], 4
jne 0x14000f407
mov eax, edx
xor ebx, ebx
and edx, 0x400
xor r15d, r15d
jmp 0x14000dfe1
mov eax, dword [rbp + 0x10]
test eax, eax
jne 0x14000ec5a
mov dword [rbp + 8], 0x3f40
jmp case.0x14000d797.12
mov r12d, 0xfffffffc
jmp 0x14000d6f4
cmp ebx, 0xf
ja 0x14000f370
test esi, esi
je 0x14000e838
movzx eax, byte [rdi]
mov ecx, ebx
lea edx, [rsi - 1]
lea r12, [rdi + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r15d, eax
cmp ecx, 0xf
ja 0x14000f392
test edx, edx
je 0x14000ea51
movzx eax, byte [rdi + 1]
sub esi, 2
lea r12, [rdi + 2]
add ebx, 0x10
shl eax, cl
add r15d, eax
mov dword [rbp + 0x18], r15d
cmp r15b, 8
je 0x14000ee71
lea rax, str.unknown_compression_method
mov r11, r13
mov rdi, r12
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
cmp ebx, 2
ja 0x14000f378
test esi, esi
je 0x14000f3b0
movzx eax, byte [rdi]
mov ecx, ebx
sub esi, 1
lea rdx, [rdi + 1]
add ebx, 8
shl eax, cl
add r15d, eax
mov eax, r15d
and eax, 1
mov dword [rbp + 0xc], eax
mov eax, r15d
shr eax, 1
and eax, 3
cmp eax, 2
je 0x14000e4d7
cmp eax, 3
je 0x14000ef9b
cmp eax, 1
je 0x14000d9bc
mov dword [rbp + 8], 0x3f41
shr r15d, 3
sub ebx, 3
mov rdi, rdx
nop word [rax + rax]
mov ecx, ebx
and ebx, 0xfffffff8
and ecx, 7
shr r15d, cl
cmp ebx, 0x1f
ja 0x14000f358
test esi, esi
je 0x14000e838
movzx eax, byte [rdi]
mov ecx, ebx
lea r8d, [rsi - 1]
lea rdx, [rdi + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r15d, eax
cmp ecx, 0x1f
ja 0x14000ef57
test r8d, r8d
je 0x14000ef8e
movzx eax, byte [rdi + 1]
lea r8d, [rsi - 2]
lea rdx, [rdi + 2]
shl eax, cl
lea ecx, [rbx + 0x10]
add r15d, eax
cmp ecx, 0x1f
ja 0x14000ef57
test r8d, r8d
je 0x14000ef8e
movzx eax, byte [rdi + 2]
lea r8d, [rsi - 3]
lea rdx, [rdi + 3]
shl eax, cl
lea ecx, [rbx + 0x18]
add r15d, eax
cmp ecx, 0x1f
ja 0x14000ef57
test r8d, r8d
je 0x14000ef8e
movzx eax, byte [rdi + 3]
sub esi, 4
lea rdx, [rdi + 4]
add ebx, 0x20
shl eax, cl
add r15d, eax
mov ecx, r15d
movzx eax, r15w
shr ecx, 0x10
xor ecx, 0xffff
cmp eax, ecx
je 0x14000ee4c
lea rax, str.invalid_stored_block_lengths
mov r11, r13
mov rdi, rdx
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov dword [rbp + 8], 0x3f44
shr r15d, 3
sub ebx, 3
mov rdi, rdx
nop dword [rax + rax]
cmp ebx, 0xd
ja 0x14000f360
test esi, esi
je 0x14000e838
movzx eax, byte [rdi]
mov ecx, ebx
lea r8d, [rsi - 1]
lea rdx, [rdi + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r15d, eax
cmp ecx, 0xd
ja 0x14000f3c2
test r8d, r8d
je 0x14000ead5
movzx eax, byte [rdi + 1]
sub esi, 2
lea rdx, [rdi + 2]
add ebx, 0x10
shl eax, cl
add r15d, eax
mov eax, r15d
mov r9d, r15d
mov ecx, r15d
sub ebx, 0xe
shr eax, 5
shr r9d, 0xa
and ecx, 0x1f
and eax, 0x1f
and r9d, 0xf
add ecx, 0x101
shr r15d, 0xe
add eax, 1
add r9d, 4
mov dword [rbp + 0x7c], ecx
mov dword [rbp + 0x80], eax
mov dword [rbp + 0x78], r9d
cmp ecx, 0x11e
ja 0x14000e587
cmp eax, 0x1e
jbe 0x14000f1d3
lea rax, str.too_many_length_or_distance_symbols
mov r11, r13
mov rdi, rdx
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov dword [rbp + 0x1be4], eax
shr r15d, cl
sub ebx, eax
mov dword [rbp + 0x50], r8d
mov dword [rbp + 8], 0x3f4d
mov ecx, dword [rsp + 0x34]
test ecx, ecx
je 0x14000f283
mov eax, dword [rbp + 0x50]
sub ecx, 1
add r13, 1
mov dword [rsp + 0x34], ecx
mov byte [r13 - 1], al
mov dword [rbp + 8], 0x3f48
jmp case.0x14000d797.20
mov ecx, dword [rbp + 0x70]
mov r10d, 0xffffffff
mov r9, qword [rbp + 0x60]
mov eax, r15d
mov dword [rbp + 0x1be4], 0
shl r10d, cl
not r10d
and eax, r10d
lea rax, [r9 + rax*4]
movzx ecx, byte [rax + 1]
movzx edx, byte [rax]
movzx r8d, word [rax + 2]
movzx eax, cl
cmp ebx, eax
jae 0x14000e66e
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000e638
test esi, esi
je 0x14000dbe8
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
mov eax, r15d
and eax, r10d
lea rax, [r9 + rax*4]
movzx r11d, byte [rax + 1]
movzx edx, byte [rax]
movzx r8d, word [rax + 2]
movzx eax, r11b
cmp eax, ecx
ja 0x14000e630
mov ebx, ecx
mov ecx, r11d
test dl, dl
je 0x14000e5a4
test dl, 0xf0
je 0x14000f293
mov dword [rbp + 0x1be4], eax
mov ecx, eax
sub ebx, eax
mov dword [rbp + 0x50], r8d
shr r15d, cl
test dl, 0x20
je 0x14000f128
mov dword [rbp + 0x1be4], 0xffffffff
mov dword [rbp + 8], 0x3f3f
jmp case.0x14000d797.11
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rbp + 0x3c]
mov rcx, qword [rbp + 0x40]
sub r9d, eax
cmp r8d, edx
jae 0x14000ec40
sub edx, r8d
add r8d, dword [rbp + 0x34]
lea eax, [r8 + r9]
add rcx, rax
mov r8d, dword [rbp + 0x50]
mov eax, edx
cmp r8d, edx
cmovbe eax, r8d
mov edx, dword [rsp + 0x34]
cmp eax, edx
cmova eax, edx
sub edx, eax
sub r8d, eax
lea r10d, [rax - 1]
mov dword [rsp + 0x34], edx
mov rdx, r13
mov dword [rbp + 0x50], r8d
lea r8, [rcx + 1]
sub rdx, r8
mov dword [rsp + 0x48], r10d
cmp rdx, 0xe
jbe 0x14000ed60
cmp r10d, 6
jbe 0x14000ed60
cmp r10d, 0xe
jbe 0x14000f117
lea edx, [rax - 0x10]
xor r8d, r8d
xor r9d, r9d
shr edx, 4
add edx, 1
nop word [rax + rax]
movdqu xmm3, xmmword [rcx + r8]
add r9d, 1
movups xmmword [r13 + r8], xmm3
add r8, 0x10
cmp r9d, edx
jb 0x14000e740
shl edx, 4
mov r8d, eax
mov r11d, dword [rsp + 0x48]
mov r12d, edx
sub r8d, edx
lea r9, [r13 + r12]
lea r10, [rcx + r12]
cmp eax, edx
je 0x14000e811
lea edx, [r8 - 1]
mov eax, r8d
cmp edx, 6
jbe 0x14000e7ad
mov rdx, qword [rcx + r12]
mov r11d, dword [rsp + 0x48]
mov qword [r13 + r12], rdx
mov edx, eax
and edx, 0xfffffff8
mov ecx, edx
sub r8d, edx
add r9, rcx
add r10, rcx
cmp edx, eax
je 0x14000e811
lea edx, [r8 - 1]
movzx eax, byte [r10]
mov r11d, dword [rsp + 0x48]
mov byte [r9], al
test edx, edx
je 0x14000e811
movzx eax, byte [r10 + 1]
mov byte [r9 + 1], al
cmp r8d, 2
je 0x14000e811
movzx eax, byte [r10 + 2]
mov byte [r9 + 2], al
cmp r8d, 3
je 0x14000e811
movzx eax, byte [r10 + 3]
mov byte [r9 + 3], al
cmp r8d, 4
je 0x14000e811
movzx eax, byte [r10 + 4]
mov byte [r9 + 4], al
cmp r8d, 5
je 0x14000e811
movzx eax, byte [r10 + 5]
mov byte [r9 + 5], al
cmp r8d, 6
je 0x14000e811
movzx eax, byte [r10 + 6]
mov byte [r9 + 6], al
mov eax, dword [rbp + 0x50]
lea r13, [r13 + r11 + 1]
test eax, eax
je case.0x14000d797.19
mov eax, dword [rbp + 8]
jmp 0x14000da64
mov r11, r13
jmp 0x14000d8d5
mov r11, r13
xor r12d, r12d
mov r13d, dword [rsp + 0x38]
sub r13d, dword [rsp + 0x34]
jmp 0x14000dbfa
cmp ebx, 0xf
ja 0x14000f1c1
test esi, esi
je 0x14000e838
movzx edx, byte [rdi]
mov ecx, ebx
lea r9d, [rsi - 1]
lea r8, [rdi + 1]
shl edx, cl
lea ecx, [rbx + 8]
add r15d, edx
cmp ecx, 0xf
ja 0x14000f1c9
test r9d, r9d
je 0x14000ea20
movzx edx, byte [rdi + 1]
sub esi, 2
lea r8, [rdi + 2]
add ebx, 0x10
shl edx, cl
add r15d, edx
test byte [rbp + 0x10], 4
je 0x14000eac8
movzx edx, word [rbp + 0x20]
cmp edx, r15d
je 0x14000eac8
lea rax, str.header_crc_mismatch
mov r11, r13
mov rdi, r8
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
test esi, esi
je 0x14000e838
mov rdx, rdi
xor r12d, r12d
nop
mov rax, qword [rbp + 0x28]
movzx r9d, byte [rdx]
add r12d, 1
test rax, rax
je 0x14000e920
mov r8, qword [rax + 0x30]
test r8, r8
je 0x14000e90c
mov ecx, dword [rbp + 0x50]
cmp ecx, dword [rax + 0x38]
jae 0x14000e90c
lea eax, [rcx + 1]
mov dword [rbp + 0x50], eax
mov byte [r8 + rcx], r9b
test r9b, r9b
je 0x14000e956
cmp esi, r12d
jbe 0x14000e956
add rdx, 1
jmp 0x14000e8e0
cmp esi, r12d
jbe 0x14000e956
test r9b, r9b
mov eax, r12d
setne dl
add rax, rdi
test dl, dl
jne 0x14000e945
jmp 0x14000e956
test r9b, r9b
je 0x14000e956
add r12d, 1
movzx r9d, byte [rax]
add rax, 1
cmp esi, r12d
ja 0x14000e940
test byte [rbp + 0x19], 2
je 0x14000e966
test byte [rbp + 0x10], 4
jne 0x14000ee12
mov eax, r12d
sub esi, r12d
add rdi, rax
test r9b, r9b
jne 0x14000e838
mov eax, dword [rbp + 0x18]
jmp 0x14000de15
test esi, esi
je 0x14000e838
mov rdx, rdi
xor r12d, r12d
nop
mov rax, qword [rbp + 0x28]
movzx r9d, byte [rdx]
add r12d, 1
test rax, rax
je 0x14000e9d0
mov r8, qword [rax + 0x20]
test r8, r8
je 0x14000e9bc
mov ecx, dword [rbp + 0x50]
cmp ecx, dword [rax + 0x28]
jae 0x14000e9bc
lea eax, [rcx + 1]
mov dword [rbp + 0x50], eax
mov byte [r8 + rcx], r9b
cmp esi, r12d
jbe 0x14000e9f6
test r9b, r9b
je 0x14000e9f6
add rdx, 1
jmp 0x14000e990
test r9b, r9b
je 0x14000e9f6
cmp esi, r12d
jbe 0x14000e9f6
mov eax, r12d
add rax, rdi
add r12d, 1
movzx r9d, byte [rax]
add rax, 1
cmp esi, r12d
jbe 0x14000e9f6
test r9b, r9b
jne 0x14000e9e0
test byte [rbp + 0x19], 2
je 0x14000ea06
test byte [rbp + 0x10], 4
jne 0x14000ef36
mov eax, r12d
sub esi, r12d
add rdi, rax
test r9b, r9b
jne 0x14000e838
mov eax, dword [rbp + 0x18]
jmp 0x14000dded
mov r11, r13
mov ebx, ecx
mov r13d, dword [rsp + 0x38]
xor esi, esi
sub r13d, dword [rsp + 0x34]
mov rdi, r8
xor r12d, r12d
jmp 0x14000dbfa
mov rcx, r13
sub rcx, rax
mov eax, dword [rbp + 0x50]
mov r8d, eax
jmp 0x14000e6e4
mov r11, r13
mov rdi, r12
mov r13d, dword [rsp + 0x38]
mov ebx, ecx
sub r13d, dword [rsp + 0x34]
xor esi, esi
xor r12d, r12d
jmp 0x14000dbfa
cmp ebx, edx
jae 0x14000eaa0
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000ea88
test esi, esi
je 0x14000dbe8
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
cmp ecx, edx
jb 0x14000ea80
mov ebx, ecx
mov ecx, edx
mov eax, 0xffffffff
add dword [rbp + 0x1be4], edx
sub ebx, edx
shl eax, cl
not eax
and eax, r15d
add eax, dword [rbp + 0x50]
shr r15d, cl
mov dword [rbp + 0x50], eax
jmp 0x14000dafe
mov rdi, r8
xor ebx, ebx
xor r15d, r15d
jmp 0x14000de25
mov r11, r13
mov ebx, ecx
mov r13d, dword [rsp + 0x38]
xor esi, esi
sub r13d, dword [rsp + 0x34]
mov rdi, rdx
xor r12d, r12d
jmp 0x14000dbfa
cmp r9w, 0x10
je 0x14000f1ef
cmp r9w, 0x11
je 0x14000efbf
lea r12d, [rax + 7]
cmp r12d, ebx
jbe 0x14000eb4b
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000eb30
test esi, esi
je 0x14000dbe8
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9d, cl
add ecx, 8
add r15d, r9d
cmp ecx, r12d
jb 0x14000eb28
mov ebx, ecx
mov ecx, eax
mov r9d, 0xfffffff9
shr r15d, cl
sub r9d, eax
mov ecx, r15d
add ebx, r9d
shr r15d, 7
xor r9d, r9d
and ecx, 0x7f
add ecx, 0xb
add r10d, ecx
cmp r10d, r11d
ja 0x14000f595
mov eax, dword [rbp + 0x84]
lea r10d, [rax + rcx]
nop word [rax + rax]
mov ecx, eax
add eax, 1
mov word [rbp + rcx*2 + 0x90], r9w
cmp r10d, eax
jne 0x14000eb88
mov dword [rbp + 0x84], r10d
jmp 0x14000df21
and r10d, 0xf
mov dword [rbp + 0x54], r12d
mov dword [rbp + 0x58], r10d
mov dword [rbp + 8], 0x3f4b
jmp 0x14000da74
mov dword [rbp + 0x1be4], 0xffffffff
jmp case.0x14000d797.11
cmp ebx, r10d
jae 0x14000ec19
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000ec00
test esi, esi
je 0x14000dbe8
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
cmp ecx, r10d
jb 0x14000ebf8
mov ebx, ecx
mov ecx, r10d
mov eax, 0xffffffff
add dword [rbp + 0x1be4], r10d
sub ebx, r10d
shl eax, cl
not eax
and eax, r15d
shr r15d, cl
add dword [rbp + 0x54], eax
jmp 0x14000da7d
lea eax, [r8 + r9]
add rcx, rax
jmp 0x14000e6d7
cmp ebx, 0xf
jbe 0x14000e291
jmp 0x14000e2bf
cmp ebx, 0xf
ja 0x14000f4ff
test esi, esi
je 0x14000e838
movzx edx, byte [rdi]
mov ecx, ebx
lea r8d, [rsi - 1]
lea r12, [rdi + 1]
shl edx, cl
lea ecx, [rbx + 8]
add r15d, edx
cmp ecx, 0xf
ja 0x14000f507
test r8d, r8d
je 0x14000ea51
movzx edx, byte [rdi + 1]
sub esi, 2
lea r12, [rdi + 2]
add ebx, 0x10
shl edx, cl
add r15d, edx
test al, 2
je 0x14000ecb6
cmp r15d, 0x8b1f
je 0x14000f4b3
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14000ecc6
mov dword [rdx + 0x40], 0xffffffff
test al, 1
je 0x14000f19c
mov edx, r15d
mov eax, r15d
shl edx, 8
shr eax, 8
movzx edx, dx
add eax, edx
mov rdx, rax
imul rax, rax, 0x8421085
shr rax, 0x20
mov rcx, rax
mov eax, edx
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 4
mov ecx, eax
shl ecx, 5
sub ecx, eax
cmp edx, ecx
jne 0x14000f19c
mov eax, r15d
and eax, 0xf
cmp eax, 8
jne 0x14000e377
shr r15d, 4
mov eax, dword [rbp + 0x30]
sub ebx, 4
mov ecx, r15d
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x14000f5b7
mov dword [rbp + 0x30], ecx
cmp ecx, 0xf
jbe 0x14000f5c8
lea rax, str.invalid_window_size
mov r11, r13
mov rdi, r12
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov r11d, dword [rsp + 0x48]
xor eax, eax
nop word [rax + rax]
movzx edx, byte [rcx + rax]
mov byte [r13 + rax], dl
mov rdx, rax
add rax, 1
cmp rdx, r11
jne 0x14000ed70
jmp 0x14000e811
lea ecx, [r10 + rax]
mov r8d, 0xffffffff
mov r10d, r15d
movzx r11d, r12w
shl r8d, cl
mov ecx, edx
not r8d
and r10d, r8d
shr r10d, cl
lea edx, [r10 + r11]
jmp 0x14000edd9
test esi, esi
je 0x14000e838
movzx edx, byte [rdi]
mov ecx, ebx
add rdi, 1
sub esi, 1
add ebx, 8
shl edx, cl
mov ecx, eax
add r15d, edx
mov edx, r15d
and edx, r8d
shr edx, cl
add edx, r11d
lea rdx, [r9 + rdx*4]
movzx r10d, byte [rdx]
movzx r12d, word [rdx + 2]
movzx edx, byte [rdx + 1]
lea ecx, [rdx + rax]
cmp ecx, ebx
ja 0x14000edb0
mov ecx, eax
sub ebx, eax
mov r11d, edx
add eax, dword [rbp + 0x1be4]
shr r15d, cl
mov ecx, edx
jmp 0x14000db9f
mov ebx, ecx
mov esi, r9d
jmp 0x14000e16a
mov ecx, dword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov byte [rsp + 0x48], r9b
call fcn.14000bfc0
movzx r9d, byte [rsp + 0x48]
mov dword [rbp + 0x20], eax
jmp 0x14000e966
mov ebx, ecx
mov rdi, rdx
mov r13d, dword [rsp + 0x38]
xor r12d, r12d
sub r13d, dword [rsp + 0x34]
xor esi, esi
jmp 0x14000dbfa
cmp dword [rsp + 0xd8], 6
mov dword [rbp + 0x50], eax
mov dword [rbp + 8], 0x3f42
je 0x14000f62b
mov rdi, rdx
xor ebx, ebx
xor r15d, r15d
jmp 0x14000df63
test r15d, 0xe000
je 0x14000f3cc
lea rax, str.unknown_header_flags_set
mov r11, r13
mov rdi, r12
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov eax, r8d
mov rdx, r11
mov qword [rsp + 0x38], r11
mov ecx, dword [rbp + 0x20]
sub rdx, rax
mov eax, dword [rbp + 0x18]
test eax, eax
je 0x14000f45c
call fcn.14000bfc0
mov r11, qword [rsp + 0x38]
mov dword [rbp + 0x20], eax
mov dword [r14 + 0x4c], eax
mov eax, dword [rbp + 0x10]
mov edx, eax
and edx, 4
test edx, edx
je 0x14000d99f
mov r13d, dword [rbp + 0x18]
mov edx, r15d
test r13d, r13d
jne 0x14000ef0b
mov ecx, r15d
shr edx, 0x18
shl ecx, 0x18
add edx, ecx
mov ecx, r15d
shr ecx, 8
and ecx, 0xff00
add edx, ecx
mov ecx, r15d
shl ecx, 8
and ecx, 0xff0000
add edx, ecx
cmp dword [rbp + 0x20], edx
je 0x14000d99f
lea rax, str.incorrect_data_check
mov rdi, r12
mov qword [r14 + 0x20], rax
mov eax, dword [rsp + 0x34]
mov dword [rbp + 8], 0x3f51
mov dword [rsp + 0x38], eax
jmp 0x14000dad8
mov ecx, dword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov byte [rsp + 0x48], r9b
call fcn.14000bfc0
movzx r9d, byte [rsp + 0x48]
mov dword [rbp + 0x20], eax
jmp 0x14000ea06
mov ebx, ecx
mov esi, r8d
jmp 0x14000e4a2
mov esi, edx
jmp 0x14000d840
mov ecx, dword [rbp + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], r15w
call fcn.14000bfc0
mov edx, dword [rbp + 0x18]
mov dword [rbp + 0x20], eax
mov eax, edx
jmp 0x14000e27c
mov r11, r13
mov ebx, ecx
mov rdi, rdx
jmp 0x14000ee38
lea rax, str.invalid_block_type
mov r11, r13
sub ebx, 3
mov rdi, rdx
mov qword [r14 + 0x20], rax
shr r15d, 3
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
lea r12d, [rax + 3]
cmp ebx, r12d
jae 0x14000effb
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000efe0
test esi, esi
je 0x14000dbe8
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9d, cl
add ecx, 8
add r15d, r9d
cmp ecx, r12d
jb 0x14000efd8
mov ebx, ecx
mov ecx, eax
mov r9d, 0xfffffffd
shr r15d, cl
sub r9d, eax
mov ecx, r15d
add ebx, r9d
shr r15d, 3
xor r9d, r9d
and ecx, 7
add ecx, 3
jmp 0x14000eb6c
mov ebx, ecx
mov r8d, eax
mov rdi, rdx
cmp r8d, 0x12
ja 0x14000f07a
mov edx, 0x12
mov ecx, r8d
lea rax, [0x14002b7a0]
sub edx, r8d
lea rax, [rax + rcx*2]
add rdx, rcx
lea rcx, [0x14002b7a2]
lea rcx, [rcx + rdx*2]
nop dword [rax + rax]
movzx edx, word [rax]
xor r8d, r8d
add rax, 2
mov word [rbp + rdx*2 + 0x90], r8w
cmp rax, rcx
jne 0x14000f058
mov dword [rbp + 0x84], 0x13
lea rax, [rbp + 0x550]
mov dword [rbp + 0x70], 7
xor ecx, ecx
lea rdx, [rbp + 0x90]
mov qword [rbp + 0x88], rax
lea r9, [rbp + 0x88]
mov r8d, 0x13
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x310]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
call fcn.140010180
test eax, eax
je 0x14000f443
lea rax, str.invalid_code_lengths_set
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov ecx, dword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov qword [rsp + 0x48], r9
call fcn.14000bfc0
mov r9, qword [rsp + 0x48]
mov dword [rbp + 0x20], eax
jmp 0x14000e067
mov r13d, dword [rsp + 0x38]
xor r12d, r12d
sub r13d, dword [rsp + 0x34]
jmp 0x14000dbfa
mov r9, r13
mov r8d, eax
mov r10, rcx
xor r12d, r12d
jmp 0x14000e787
test dl, 0x40
je 0x14000f380
lea rax, str.invalid_literal_length_code
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov rdi, rdx
xor ebx, ebx
xor r15d, r15d
mov r13d, dword [rsp + 0x38]
mov dword [rbp + 8], 0x3f50
mov r12d, 1
sub r13d, dword [rsp + 0x34]
jmp 0x14000dbfa
mov ecx, dword [rbp + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 4
mov dword [rsp + 0x6c], r15d
call fcn.14000bfc0
mov dword [rbp + 0x20], eax
jmp 0x14000e204
mov r11, r13
mov ebx, ecx
mov rdi, r8
jmp 0x14000ee38
lea rax, str.incorrect_header_check
mov r11, r13
mov rdi, r12
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov rdx, rdi
jmp 0x14000e16a
mov r8, rdi
jmp 0x14000e897
mov ebx, ecx
mov esi, r9d
jmp 0x14000e897
mov dword [rbp + 0x84], 0
mov rdi, rdx
xor r8d, r8d
mov dword [rbp + 8], 0x3f45
jmp 0x14000dd44
lea r12d, [rax + 2]
cmp ebx, r12d
jae 0x14000f22b
test esi, esi
je 0x14000e838
mov ecx, ebx
jmp 0x14000f210
test esi, esi
je 0x14000dbe8
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9d, cl
add ecx, 8
add r15d, r9d
cmp ecx, r12d
jb 0x14000f208
mov ebx, ecx
mov ecx, eax
sub ebx, eax
shr r15d, cl
test r10d, r10d
je 0x14000f595
mov ecx, r15d
lea eax, [r10 - 1]
shr r15d, 2
sub ebx, 2
movzx r9d, word [rbp + rax*2 + 0x90]
and ecx, 3
add ecx, 3
jmp 0x14000eb6c
mov ebx, ecx
mov esi, r8d
jmp 0x14000d977
mov ebx, ecx
mov rdi, r12
jmp 0x14000ee38
mov dword [rbp + 8], 0x3f52
mov r12d, 0xfffffffc
jmp 0x14000d6f4
mov r11, r13
xor r12d, r12d
mov r13d, dword [rsp + 0x38]
jmp 0x14000dbfa
add edx, eax
mov r10d, 0xffffffff
mov ecx, edx
shl r10d, cl
mov ecx, eax
not r10d
mov edx, r10d
mov dword [rsp + 0x48], r10d
and edx, r15d
shr edx, cl
add edx, r8d
lea rcx, [r9 + rdx*4]
movzx r10d, byte [rcx + 1]
movzx edx, byte [rcx]
movzx r12d, word [rcx + 2]
lea r11d, [r10 + rax]
cmp r11d, ebx
jbe 0x14000f32d
test esi, esi
je 0x14000e838
mov r10d, r8d
mov r8d, dword [rsp + 0x48]
jmp 0x14000f2f0
test esi, esi
je 0x14000e838
movzx edx, byte [rdi]
mov ecx, ebx
add ebx, 8
add rdi, 1
sub esi, 1
shl edx, cl
mov ecx, eax
add r15d, edx
mov edx, r15d
and edx, r8d
shr edx, cl
add edx, r10d
lea rcx, [r9 + rdx*4]
movzx edx, byte [rcx]
movzx r12d, word [rcx + 2]
movzx ecx, byte [rcx + 1]
lea r11d, [rcx + rax]
cmp r11d, ebx
ja 0x14000f2e8
mov r10d, ecx
mov ecx, eax
sub ebx, eax
mov dword [rbp + 0x1be4], r11d
shr r15d, cl
mov ecx, r10d
mov dword [rbp + 0x50], r12d
sub ebx, r10d
shr r15d, cl
test dl, dl
jne 0x14000e690
jmp 0x14000e5b3
mov rdx, rdi
jmp 0x14000e4a2
mov rdx, rdi
jmp 0x14000e53b
mov r8, rdi
jmp 0x14000d840
mov r12, rdi
jmp 0x14000e369
mov rdx, rdi
jmp 0x14000e3bd
and edx, 0xf
mov dword [rbp + 8], 0x3f49
mov dword [rbp + 0x58], edx
jmp 0x14000daf3
mov ebx, ecx
mov esi, edx
jmp 0x14000e369
cmp dword [rsp + 0xd8], 6
mov dword [rbp + 8], 0x3f47
jne case.0x14000d797.19
mov r11, r13
mov r13d, dword [rsp + 0x38]
sub r13d, dword [rsp + 0x34]
jmp 0x14000dbfa
mov ebx, ecx
mov esi, r8d
jmp 0x14000e53b
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14000f3e0
mov eax, r15d
shr eax, 8
and eax, 1
mov dword [rdx], eax
test r15d, 0x200
je 0x14000f3f3
test byte [rbp + 0x10], 4
jne 0x14000f60a
mov dword [rbp + 8], 0x3f36
mov rdi, r12
xor r15d, r15d
xor ebx, ebx
jmp 0x14000e1b5
mov ecx, dword [rbp + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
xor ebx, ebx
mov word [rsp + 0x6c], r15w
xor r15d, r15d
call fcn.14000bfc0
mov dword [rbp + 0x20], eax
mov eax, dword [rbp + 0x18]
mov edx, eax
and edx, 0x400
jmp 0x14000dfe1
mov r11, r13
mov rdi, r8
jmp 0x14000ee38
mov dword [rbp + 0x84], 0
xor r10d, r10d
mov dword [rbp + 8], 0x3f46
jmp 0x14000de6f
call fcn.14000b440
mov r11, qword [rsp + 0x38]
jmp 0x14000eec1
mov eax, dword [rsp + 0x34]
movd xmm0, r15d
movd xmm5, ebx
mov qword [r14], rdi
punpckldq xmm0, xmm5
mov qword [r14 + 0x10], r13
mov r12d, 2
mov dword [r14 + 0x18], eax
mov dword [r14 + 8], esi
movq qword [rbp + 0x48], xmm0
jmp 0x14000d6f4
mov r12, rdi
jmp 0x14000d977
mov r11, r13
mov r13d, dword [rsp + 0x38]
sub r13d, ecx
jmp 0x14000dbfa
cmp dword [rbp + 0x30], 0
jne 0x14000f4c0
mov dword [rbp + 0x30], 0xf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov rdi, r12
call fcn.14000bfc0
lea rdx, [rsp + 0x6c]
xor r15d, r15d
xor ebx, ebx
mov dword [rbp + 0x20], eax
mov ecx, eax
mov r8d, 2
mov word [rsp + 0x6c], 0x8b1f
call fcn.14000bfc0
mov dword [rbp + 8], 0x3f35
mov dword [rbp + 0x20], eax
jmp 0x14000e329
mov r12, rdi
jmp 0x14000eca5
mov ebx, ecx
mov esi, r8d
jmp 0x14000eca5
lea rax, [rbp + 0x550]
mov r8d, dword [rsp + 0x48]
lea r10, [rbp + 0x310]
mov dword [rbp + 0x70], 9
mov qword [rbp + 0x60], rax
lea r12, [rbp + 0x90]
lea r9, [rbp + 0x88]
mov ecx, 1
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x70]
mov rdx, r12
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x50], r9
call fcn.140010180
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
test eax, eax
je 0x14000f664
lea rax, str.invalid_literal_lengths_set
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
lea rax, str.invalid_bit_length_repeat
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov r11, r13
jmp 0x14000dad8
cmp ecx, 0xf
ja 0x14000ed40
cmp eax, ecx
jb 0x14000ed40
mov eax, 1
mov dword [rbp + 0x18], 0
xor r8d, r8d
xor edx, edx
shl eax, cl
xor ecx, ecx
mov dword [rbp + 0x1c], eax
call fcn.14000b440
mov dword [rbp + 0x20], eax
mov dword [r14 + 0x4c], eax
and r15d, 0x200
jne 0x14000f6c3
mov dword [rbp + 8], 0x3f3f
xor ebx, ebx
mov rdi, r12
jmp case.0x14000d797.11
mov ecx, dword [rbp + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], r15w
call fcn.14000bfc0
mov dword [rbp + 0x20], eax
jmp 0x14000f3f3
mov r11, r13
mov rdi, rdx
mov r13d, dword [rsp + 0x38]
xor r12d, r12d
sub r13d, dword [rsp + 0x34]
xor ebx, ebx
xor r15d, r15d
jmp 0x14000dbfa
mov r11, r13
shr r15d, 3
mov r13d, dword [rsp + 0x38]
sub ebx, 3
sub r13d, dword [rsp + 0x34]
mov rdi, rdx
jmp 0x14000dbfa
mov rax, qword [rbp + 0x88]
mov edx, dword [rbp + 0x7c]
mov dword [rbp + 0x74], 6
mov ecx, 2
mov r8d, dword [rbp + 0x80]
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x74]
add rdx, rdx
mov qword [rsp + 0x28], r10
add rdx, r12
mov qword [rsp + 0x20], rax
call fcn.140010180
mov r12d, eax
test eax, eax
je 0x14000f39b
lea rax, str.invalid_distances_set
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000dad8
mov dword [rbp + 8], 0x3f3d
xor r15d, r15d
xor ebx, ebx
mov rdi, r12
jmp 0x14000d7b9