Function at 0x14000ca10
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.0x14000cb17
cmp qword [rcx + 0x30], 0
je case.default.0x14000cb17
cmp qword [rcx + 0x38], 0
je case.default.0x14000cb17
mov rbp, qword [rcx + 0x28]
mov r12d, 0xfffffffe
test rbp, rbp
je 0x14000ca74
cmp rcx, qword [rbp]
jne 0x14000ca74
mov edx, dword [rbp + 8]
lea eax, [rdx - 0x3f34]
cmp eax, 0x1f
jbe 0x14000ca90
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 0x14000ca74
mov ebx, dword [rcx + 8]
mov rdi, qword [rcx]
mov dword [rsp + 0x40], ebx
test rdi, rdi
je 0x14000cf58
cmp edx, 0x3f3f
jne 0x14000cac0
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, [0x140029f20]
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x44], edx
lea rdx, [0x140029fa0]
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.0x14000cb17
lea rdx, [0x140029e94]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r12d, 0xfffffffe
jmp 0x14000ca74
cmp ebx, 0x1f
ja 0x14000e6e8
test esi, esi
je 0x14000dbb8
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 0x14000e2e1
test edx, edx
je 0x14000e50f
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 0x14000e2e1
test edx, edx
je 0x14000e50f
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 0x14000e2e1
test edx, edx
je 0x14000e7b8
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 0x14000e7eb
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14000a7c0
mov dword [rbp + 0x20], eax
mov dword [r14 + 0x4c], eax
mov dword [rbp + 8], 0x3f3f
cmp dword [rsp + 0x44], 1
jbe 0x14000dbb8
mov r12d, dword [rbp + 0xc]
test r12d, r12d
je 0x14000d718
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 0x14000cd30
cmp ebx, 0x1f
ja 0x14000e81b
test esi, esi
je 0x14000e485
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 0x14000e5dd
test r8d, r8d
je 0x14000e5e7
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 0x14000e5dd
test r8d, r8d
je 0x14000e5e7
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 0x14000e5dd
test r8d, r8d
je 0x14000e5e7
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 0x14000e250
test edx, edx
jne 0x14000e21b
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 0x14000d436
mov rax, qword [0x14002a7d8]
cmp dword [rsp + 0xd8], 6
mov dword [rbp + 8], 0x3f47
movups xmmword [rbp + 0x60], xmm6
mov qword [rbp + 0x70], rax
je 0x14000e9c8
shr r15d, 3
sub ebx, 3
mov rdi, rdx
nop word [rax + rax]
mov dword [rbp + 8], 0x3f48
cmp esi, 5
jbe 0x14000d968
mov eax, dword [rsp + 0x34]
cmp eax, 0x101
jbe 0x14000d968
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.14000b630
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 0x14000df50
sub eax, 0x3f34
jmp 0x14000cb04
mov r10d, dword [rbp + 0x58]
test r10d, r10d
jne 0x14000df60
mov dword [rbp + 8], 0x3f4c
mov ecx, dword [rsp + 0x34]
test ecx, ecx
je 0x14000e603
mov r10d, dword [rsp + 0x38]
mov eax, dword [rbp + 0x54]
mov edx, r10d
sub edx, ecx
cmp eax, edx
jbe 0x14000ddc0
add eax, ecx
mov edx, eax
sub edx, r10d
cmp dword [rbp + 0x38], edx
jae 0x14000da30
mov ecx, dword [rbp + 0x1be0]
test ecx, ecx
je 0x14000da30
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 0x14000cf7a
mov edx, dword [rbp + 0x58]
test edx, edx
jne 0x14000ddf0
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 0x14000cf0d
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000ced8
test esi, esi
je 0x14000cf68
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 0x14000ced0
mov ebx, ecx
mov ecx, eax
test r10b, 0xf0
je 0x14000e10a
mov eax, dword [rbp + 0x1be4]
add eax, ecx
shr r15d, cl
sub ebx, r11d
mov dword [rbp + 0x1be4], eax
test r10b, 0x40
je 0x14000df30
lea rax, str.invalid_distance_code
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
test ebx, ebx
je 0x14000caac
jmp 0x14000ca74
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 0x14000cfd0
cmp dword [rsp + 0x38], eax
je 0x14000cff3
mov eax, dword [rbp + 8]
cmp eax, 0x3f50
ja 0x14000cff3
cmp dword [rsp + 0xd8], 4
jne 0x14000cfd0
cmp eax, 0x3f4d
ja 0x14000cff3
nop dword [rax]
mov r8d, r13d
mov rdx, r11
mov rcx, r14
call fcn.14000c210
test eax, eax
jne 0x14000e5f1
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 0x14000d010
test r13d, r13d
jne 0x14000d078
mov edx, dword [rbp + 0xc]
mov eax, dword [rbp + 0x4c]
test edx, edx
je 0x14000d01d
add eax, 0x40
mov edx, dword [rbp + 8]
cmp edx, 0x3f3f
je 0x14000d070
cmp edx, 0x3f47
je 0x14000d038
cmp edx, 0x3f42
jne 0x14000d03d
add eax, 0x100
or ebx, r13d
mov dword [r14 + 0x48], eax
je 0x14000d054
cmp dword [rsp + 0xd8], 4
jne 0x14000ca74
test r12d, r12d
jne 0x14000ca74
mov r12d, 0xfffffffb
jmp 0x14000ca74
sub eax, 0xffffff80
jmp 0x14000d03d
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 0x14000d0a8
call fcn.14000b340
mov dword [rbp + 0x20], eax
mov dword [r14 + 0x4c], eax
jmp 0x14000d010
call fcn.14000a7c0
jmp 0x14000d096
mov r8d, dword [rbp + 0x84]
mov r9d, dword [rbp + 0x78]
cmp r8d, r9d
jae 0x14000e3a9
mov ecx, ebx
lea r10, [0x14002a7a0]
cmp ecx, 2
ja 0x14000d126
test esi, esi
je 0x14000cf68
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 0x14000e3a1
mov rdi, rdx
mov r8d, eax
cmp ecx, 2
jbe 0x14000d0d2
mov rdx, rdi
jmp 0x14000d0ec
mov r11, r13
mov r12d, 1
mov r13d, dword [rsp + 0x38]
sub r13d, dword [rsp + 0x34]
jmp 0x14000cf7a
mov eax, dword [rbp + 0x18]
test ah, 8
jne 0x14000dd00
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14000d16d
mov qword [rdx + 0x20], 0
mov dword [rbp + 0x50], 0
mov dword [rbp + 8], 0x3f3b
test ah, 0x10
jne 0x14000dc50
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14000d195
mov qword [rdx + 0x30], 0
mov dword [rbp + 8], 0x3f3c
test ah, 2
jne 0x14000dbd0
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14000d1be
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.14000b340
mov dword [rbp + 0x20], eax
mov dword [r14 + 0x4c], eax
mov dword [rbp + 8], 0x3f3f
jmp case.0x14000cb17.11
mov eax, dword [rbp + 0x18]
jmp 0x14000d17b
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 0x14000d2aa
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 0x14000d27b
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000d248
test esi, esi
je 0x14000cf68
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 0x14000d240
mov r12d, ecx
mov ecx, ebx
mov ebx, r12d
cmp r9w, 0xf
ja 0x14000de78
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 0x14000d219
cmp dword [rbp + 8], 0x3f51
je case.0x14000cb17.29
cmp word [rbp + 0x290], 0
jne 0x14000e891
lea rax, str.invalid_code____missing_end_of_block
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
mov eax, dword [rbp + 0x50]
mov dword [rbp + 8], 0x3f43
test eax, eax
je 0x14000cc21
cmp esi, eax
mov ecx, dword [rsp + 0x34]
cmovbe eax, esi
cmp eax, ecx
cmova eax, ecx
mov r12d, eax
test eax, eax
je 0x14000e823
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 0x14000cde4
mov edx, dword [rbp + 0x18]
mov eax, edx
test dh, 4
jne 0x14000dfcc
mov rcx, qword [rbp + 0x28]
xor edx, edx
test rcx, rcx
je 0x14000d361
mov qword [rcx + 0x10], 0
mov dword [rbp + 8], 0x3f39
test edx, edx
je 0x14000d401
mov edx, dword [rbp + 0x50]
cmp esi, edx
mov r12d, edx
cmovbe r12d, esi
test r12d, r12d
je 0x14000d3f6
mov r8, qword [rbp + 0x28]
mov r9d, r12d
test r8, r8
je 0x14000d3d8
mov rcx, qword [r8 + 0x10]
test rcx, rcx
je 0x14000d3d8
mov r10d, dword [r8 + 0x18]
mov r11d, dword [r8 + 0x1c]
mov dword [rsp + 0x48], r10d
sub r10d, edx
cmp r11d, r10d
jbe 0x14000d3d8
lea eax, [r12 + r10]
mov r8, r9
cmp r11d, eax
jae 0x14000d3c0
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 0x14000d3e7
test byte [rbp + 0x10], 4
jne 0x14000e465
mov edx, dword [rbp + 0x50]
sub esi, r12d
add rdi, r9
sub edx, r12d
mov dword [rbp + 0x50], edx
test edx, edx
jne 0x14000dbb8
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x50], 0
mov dword [rbp + 8], 0x3f3a
jmp 0x14000d153
mov eax, dword [rbp + 0x18]
jmp 0x14000d19c
mov eax, dword [rbp + 0x50]
jmp 0x14000d2ea
mov eax, dword [rbp + 0x10]
mov r11, r13
test eax, eax
je 0x14000e4d3
mov r12d, dword [rbp + 0x18]
test r12d, r12d
je 0x14000e4d3
cmp ebx, 0x1f
ja 0x14000e539
test esi, esi
je 0x14000e485
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 0x14000e188
test r9d, r9d
je 0x14000e1b3
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 0x14000e188
test r9d, r9d
je 0x14000e1b3
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 0x14000e188
test r9d, r9d
je 0x14000e1b3
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 0x14000e4cb
cmp dword [rbp + 0x24], r15d
je 0x14000e4cb
lea rax, str.incorrect_length_check
mov rdi, rdx
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
mov eax, dword [rbp + 0x18]
mov edx, eax
and edx, 0x400
jmp 0x14000d368
cmp ebx, 0x1f
ja 0x14000d567
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000d550
test esi, esi
je 0x14000cf68
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
cmp ecx, 0x1f
jbe 0x14000d548
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x14000d574
mov dword [rax + 4], r15d
test byte [rbp + 0x19], 2
je 0x14000d584
test byte [rbp + 0x10], 4
jne 0x14000e4ef
mov dword [rbp + 8], 0x3f37
xor r15d, r15d
xor ebx, ebx
jmp 0x14000d59d
cmp ebx, 0xf
ja 0x14000d5cf
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000d5b8
test esi, esi
je 0x14000cf68
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
cmp ecx, 0xf
jbe 0x14000d5b0
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x14000d5e8
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 0x14000d5fc
test byte [rbp + 0x10], 4
jne 0x14000e2e8
mov dword [rbp + 8], 0x3f38
xor ebx, ebx
xor r15d, r15d
test dh, 4
je 0x14000d34e
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000d628
test esi, esi
je 0x14000cf68
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
cmp ecx, 0xf
jbe 0x14000d620
mov rax, qword [rbp + 0x28]
mov dword [rbp + 0x50], r15d
test rax, rax
je 0x14000d650
mov dword [rax + 0x18], r15d
test dh, 2
je 0x14000d65f
test byte [rbp + 0x10], 4
jne 0x14000e787
mov eax, edx
xor ebx, ebx
and edx, 0x400
xor r15d, r15d
jmp 0x14000d361
mov eax, dword [rbp + 0x10]
test eax, eax
jne 0x14000dfda
mov dword [rbp + 8], 0x3f40
jmp case.0x14000cb17.12
mov r12d, 0xfffffffc
jmp 0x14000ca74
cmp ebx, 0xf
ja 0x14000e6f0
test esi, esi
je 0x14000dbb8
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 0x14000e712
test edx, edx
je 0x14000ddd1
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 0x14000e1f1
lea rax, str.unknown_compression_method
mov r11, r13
mov rdi, r12
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
cmp ebx, 2
ja 0x14000e6f8
test esi, esi
je 0x14000e730
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 0x14000d857
cmp eax, 3
je 0x14000e31b
cmp eax, 1
je 0x14000cd3c
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 0x14000e6d8
test esi, esi
je 0x14000dbb8
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 0x14000e2d7
test r8d, r8d
je 0x14000e30e
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 0x14000e2d7
test r8d, r8d
je 0x14000e30e
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 0x14000e2d7
test r8d, r8d
je 0x14000e30e
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 0x14000e1cc
lea rax, str.invalid_stored_block_lengths
mov r11, r13
mov rdi, rdx
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
mov dword [rbp + 8], 0x3f44
shr r15d, 3
sub ebx, 3
mov rdi, rdx
nop dword [rax + rax]
cmp ebx, 0xd
ja 0x14000e6e0
test esi, esi
je 0x14000dbb8
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 0x14000e742
test r8d, r8d
je 0x14000de55
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 0x14000d907
cmp eax, 0x1e
jbe 0x14000e553
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 0x14000ce58
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 0x14000e603
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.0x14000cb17.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 0x14000d9ee
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000d9b8
test esi, esi
je 0x14000cf68
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 0x14000d9b0
mov ebx, ecx
mov ecx, r11d
test dl, dl
je 0x14000d924
test dl, 0xf0
je 0x14000e613
mov dword [rbp + 0x1be4], eax
mov ecx, eax
sub ebx, eax
mov dword [rbp + 0x50], r8d
shr r15d, cl
test dl, 0x20
je 0x14000e4a8
mov dword [rbp + 0x1be4], 0xffffffff
mov dword [rbp + 8], 0x3f3f
jmp case.0x14000cb17.11
mov r9d, dword [rsp + 0x38]
mov r8d, dword [rbp + 0x3c]
mov rcx, qword [rbp + 0x40]
sub r9d, eax
cmp r8d, edx
jae 0x14000dfc0
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 0x14000e0e0
cmp r10d, 6
jbe 0x14000e0e0
cmp r10d, 0xe
jbe 0x14000e497
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 0x14000dac0
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 0x14000db91
lea edx, [r8 - 1]
mov eax, r8d
cmp edx, 6
jbe 0x14000db2d
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 0x14000db91
lea edx, [r8 - 1]
movzx eax, byte [r10]
mov r11d, dword [rsp + 0x48]
mov byte [r9], al
test edx, edx
je 0x14000db91
movzx eax, byte [r10 + 1]
mov byte [r9 + 1], al
cmp r8d, 2
je 0x14000db91
movzx eax, byte [r10 + 2]
mov byte [r9 + 2], al
cmp r8d, 3
je 0x14000db91
movzx eax, byte [r10 + 3]
mov byte [r9 + 3], al
cmp r8d, 4
je 0x14000db91
movzx eax, byte [r10 + 4]
mov byte [r9 + 4], al
cmp r8d, 5
je 0x14000db91
movzx eax, byte [r10 + 5]
mov byte [r9 + 5], al
cmp r8d, 6
je 0x14000db91
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.0x14000cb17.19
mov eax, dword [rbp + 8]
jmp 0x14000cde4
mov r11, r13
jmp 0x14000cc55
mov r11, r13
xor r12d, r12d
mov r13d, dword [rsp + 0x38]
sub r13d, dword [rsp + 0x34]
jmp 0x14000cf7a
cmp ebx, 0xf
ja 0x14000e541
test esi, esi
je 0x14000dbb8
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 0x14000e549
test r9d, r9d
je 0x14000dda0
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 0x14000de48
movzx edx, word [rbp + 0x20]
cmp edx, r15d
je 0x14000de48
lea rax, str.header_crc_mismatch
mov r11, r13
mov rdi, r8
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
test esi, esi
je 0x14000dbb8
mov rdx, rdi
xor r12d, r12d
nop
mov rax, qword [rbp + 0x28]
movzx r9d, byte [rdx]
add r12d, 1
test rax, rax
je 0x14000dca0
mov r8, qword [rax + 0x30]
test r8, r8
je 0x14000dc8c
mov ecx, dword [rbp + 0x50]
cmp ecx, dword [rax + 0x38]
jae 0x14000dc8c
lea eax, [rcx + 1]
mov dword [rbp + 0x50], eax
mov byte [r8 + rcx], r9b
test r9b, r9b
je 0x14000dcd6
cmp esi, r12d
jbe 0x14000dcd6
add rdx, 1
jmp 0x14000dc60
cmp esi, r12d
jbe 0x14000dcd6
test r9b, r9b
mov eax, r12d
setne dl
add rax, rdi
test dl, dl
jne 0x14000dcc5
jmp 0x14000dcd6
test r9b, r9b
je 0x14000dcd6
add r12d, 1
movzx r9d, byte [rax]
add rax, 1
cmp esi, r12d
ja 0x14000dcc0
test byte [rbp + 0x19], 2
je 0x14000dce6
test byte [rbp + 0x10], 4
jne 0x14000e192
mov eax, r12d
sub esi, r12d
add rdi, rax
test r9b, r9b
jne 0x14000dbb8
mov eax, dword [rbp + 0x18]
jmp 0x14000d195
test esi, esi
je 0x14000dbb8
mov rdx, rdi
xor r12d, r12d
nop
mov rax, qword [rbp + 0x28]
movzx r9d, byte [rdx]
add r12d, 1
test rax, rax
je 0x14000dd50
mov r8, qword [rax + 0x20]
test r8, r8
je 0x14000dd3c
mov ecx, dword [rbp + 0x50]
cmp ecx, dword [rax + 0x28]
jae 0x14000dd3c
lea eax, [rcx + 1]
mov dword [rbp + 0x50], eax
mov byte [r8 + rcx], r9b
cmp esi, r12d
jbe 0x14000dd76
test r9b, r9b
je 0x14000dd76
add rdx, 1
jmp 0x14000dd10
test r9b, r9b
je 0x14000dd76
cmp esi, r12d
jbe 0x14000dd76
mov eax, r12d
add rax, rdi
add r12d, 1
movzx r9d, byte [rax]
add rax, 1
cmp esi, r12d
jbe 0x14000dd76
test r9b, r9b
jne 0x14000dd60
test byte [rbp + 0x19], 2
je 0x14000dd86
test byte [rbp + 0x10], 4
jne 0x14000e2b6
mov eax, r12d
sub esi, r12d
add rdi, rax
test r9b, r9b
jne 0x14000dbb8
mov eax, dword [rbp + 0x18]
jmp 0x14000d16d
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 0x14000cf7a
mov rcx, r13
sub rcx, rax
mov eax, dword [rbp + 0x50]
mov r8d, eax
jmp 0x14000da64
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 0x14000cf7a
cmp ebx, edx
jae 0x14000de20
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000de08
test esi, esi
je 0x14000cf68
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
cmp ecx, edx
jb 0x14000de00
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 0x14000ce7e
mov rdi, r8
xor ebx, ebx
xor r15d, r15d
jmp 0x14000d1a5
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 0x14000cf7a
cmp r9w, 0x10
je 0x14000e56f
cmp r9w, 0x11
je 0x14000e33f
lea r12d, [rax + 7]
cmp r12d, ebx
jbe 0x14000decb
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000deb0
test esi, esi
je 0x14000cf68
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9d, cl
add ecx, 8
add r15d, r9d
cmp ecx, r12d
jb 0x14000dea8
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 0x14000e915
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 0x14000df08
mov dword [rbp + 0x84], r10d
jmp 0x14000d2a1
and r10d, 0xf
mov dword [rbp + 0x54], r12d
mov dword [rbp + 0x58], r10d
mov dword [rbp + 8], 0x3f4b
jmp 0x14000cdf4
mov dword [rbp + 0x1be4], 0xffffffff
jmp case.0x14000cb17.11
cmp ebx, r10d
jae 0x14000df99
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000df80
test esi, esi
je 0x14000cf68
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r15d, eax
cmp ecx, r10d
jb 0x14000df78
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 0x14000cdfd
lea eax, [r8 + r9]
add rcx, rax
jmp 0x14000da57
cmp ebx, 0xf
jbe 0x14000d611
jmp 0x14000d63f
cmp ebx, 0xf
ja 0x14000e87f
test esi, esi
je 0x14000dbb8
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 0x14000e887
test r8d, r8d
je 0x14000ddd1
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 0x14000e036
cmp r15d, 0x8b1f
je 0x14000e833
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14000e046
mov dword [rdx + 0x40], 0xffffffff
test al, 1
je 0x14000e51c
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 0x14000e51c
mov eax, r15d
and eax, 0xf
cmp eax, 8
jne 0x14000d6f7
shr r15d, 4
mov eax, dword [rbp + 0x30]
sub ebx, 4
mov ecx, r15d
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x14000e937
mov dword [rbp + 0x30], ecx
cmp ecx, 0xf
jbe 0x14000e948
lea rax, str.invalid_window_size
mov r11, r13
mov rdi, r12
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
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 0x14000e0f0
jmp 0x14000db91
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 0x14000e159
test esi, esi
je 0x14000dbb8
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 0x14000e130
mov ecx, eax
sub ebx, eax
mov r11d, edx
add eax, dword [rbp + 0x1be4]
shr r15d, cl
mov ecx, edx
jmp 0x14000cf1f
mov ebx, ecx
mov esi, r9d
jmp 0x14000d4ea
mov ecx, dword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov byte [rsp + 0x48], r9b
call fcn.14000b340
movzx r9d, byte [rsp + 0x48]
mov dword [rbp + 0x20], eax
jmp 0x14000dce6
mov ebx, ecx
mov rdi, rdx
mov r13d, dword [rsp + 0x38]
xor r12d, r12d
sub r13d, dword [rsp + 0x34]
xor esi, esi
jmp 0x14000cf7a
cmp dword [rsp + 0xd8], 6
mov dword [rbp + 0x50], eax
mov dword [rbp + 8], 0x3f42
je 0x14000e9ab
mov rdi, rdx
xor ebx, ebx
xor r15d, r15d
jmp 0x14000d2e3
test r15d, 0xe000
je 0x14000e74c
lea rax, str.unknown_header_flags_set
mov r11, r13
mov rdi, r12
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
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 0x14000e7dc
call fcn.14000b340
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 0x14000cd1f
mov r13d, dword [rbp + 0x18]
mov edx, r15d
test r13d, r13d
jne 0x14000e28b
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 0x14000cd1f
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 0x14000ce58
mov ecx, dword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov byte [rsp + 0x48], r9b
call fcn.14000b340
movzx r9d, byte [rsp + 0x48]
mov dword [rbp + 0x20], eax
jmp 0x14000dd86
mov ebx, ecx
mov esi, r8d
jmp 0x14000d822
mov esi, edx
jmp 0x14000cbc0
mov ecx, dword [rbp + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], r15w
call fcn.14000b340
mov edx, dword [rbp + 0x18]
mov dword [rbp + 0x20], eax
mov eax, edx
jmp 0x14000d5fc
mov r11, r13
mov ebx, ecx
mov rdi, rdx
jmp 0x14000e1b8
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 0x14000ce58
lea r12d, [rax + 3]
cmp ebx, r12d
jae 0x14000e37b
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000e360
test esi, esi
je 0x14000cf68
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9d, cl
add ecx, 8
add r15d, r9d
cmp ecx, r12d
jb 0x14000e358
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 0x14000deec
mov ebx, ecx
mov r8d, eax
mov rdi, rdx
cmp r8d, 0x12
ja 0x14000e3fa
mov edx, 0x12
mov ecx, r8d
lea rax, [0x14002a7a0]
sub edx, r8d
lea rax, [rax + rcx*2]
add rdx, rcx
lea rcx, [0x14002a7a2]
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 0x14000e3d8
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.14000f500
test eax, eax
je 0x14000e7c3
lea rax, str.invalid_code_lengths_set
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
mov ecx, dword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov qword [rsp + 0x48], r9
call fcn.14000b340
mov r9, qword [rsp + 0x48]
mov dword [rbp + 0x20], eax
jmp 0x14000d3e7
mov r13d, dword [rsp + 0x38]
xor r12d, r12d
sub r13d, dword [rsp + 0x34]
jmp 0x14000cf7a
mov r9, r13
mov r8d, eax
mov r10, rcx
xor r12d, r12d
jmp 0x14000db07
test dl, 0x40
je 0x14000e700
lea rax, str.invalid_literal_length_code
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
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 0x14000cf7a
mov ecx, dword [rbp + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 4
mov dword [rsp + 0x6c], r15d
call fcn.14000b340
mov dword [rbp + 0x20], eax
jmp 0x14000d584
mov r11, r13
mov ebx, ecx
mov rdi, r8
jmp 0x14000e1b8
lea rax, str.incorrect_header_check
mov r11, r13
mov rdi, r12
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
mov rdx, rdi
jmp 0x14000d4ea
mov r8, rdi
jmp 0x14000dc17
mov ebx, ecx
mov esi, r9d
jmp 0x14000dc17
mov dword [rbp + 0x84], 0
mov rdi, rdx
xor r8d, r8d
mov dword [rbp + 8], 0x3f45
jmp 0x14000d0c4
lea r12d, [rax + 2]
cmp ebx, r12d
jae 0x14000e5ab
test esi, esi
je 0x14000dbb8
mov ecx, ebx
jmp 0x14000e590
test esi, esi
je 0x14000cf68
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9d, cl
add ecx, 8
add r15d, r9d
cmp ecx, r12d
jb 0x14000e588
mov ebx, ecx
mov ecx, eax
sub ebx, eax
shr r15d, cl
test r10d, r10d
je 0x14000e915
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 0x14000deec
mov ebx, ecx
mov esi, r8d
jmp 0x14000ccf7
mov ebx, ecx
mov rdi, r12
jmp 0x14000e1b8
mov dword [rbp + 8], 0x3f52
mov r12d, 0xfffffffc
jmp 0x14000ca74
mov r11, r13
xor r12d, r12d
mov r13d, dword [rsp + 0x38]
jmp 0x14000cf7a
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 0x14000e6ad
test esi, esi
je 0x14000dbb8
mov r10d, r8d
mov r8d, dword [rsp + 0x48]
jmp 0x14000e670
test esi, esi
je 0x14000dbb8
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 0x14000e668
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 0x14000da10
jmp 0x14000d933
mov rdx, rdi
jmp 0x14000d822
mov rdx, rdi
jmp 0x14000d8bb
mov r8, rdi
jmp 0x14000cbc0
mov r12, rdi
jmp 0x14000d6e9
mov rdx, rdi
jmp 0x14000d73d
and edx, 0xf
mov dword [rbp + 8], 0x3f49
mov dword [rbp + 0x58], edx
jmp 0x14000ce73
mov ebx, ecx
mov esi, edx
jmp 0x14000d6e9
cmp dword [rsp + 0xd8], 6
mov dword [rbp + 8], 0x3f47
jne case.0x14000cb17.19
mov r11, r13
mov r13d, dword [rsp + 0x38]
sub r13d, dword [rsp + 0x34]
jmp 0x14000cf7a
mov ebx, ecx
mov esi, r8d
jmp 0x14000d8bb
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14000e760
mov eax, r15d
shr eax, 8
and eax, 1
mov dword [rdx], eax
test r15d, 0x200
je 0x14000e773
test byte [rbp + 0x10], 4
jne 0x14000e98a
mov dword [rbp + 8], 0x3f36
mov rdi, r12
xor r15d, r15d
xor ebx, ebx
jmp 0x14000d535
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.14000b340
mov dword [rbp + 0x20], eax
mov eax, dword [rbp + 0x18]
mov edx, eax
and edx, 0x400
jmp 0x14000d361
mov r11, r13
mov rdi, r8
jmp 0x14000e1b8
mov dword [rbp + 0x84], 0
xor r10d, r10d
mov dword [rbp + 8], 0x3f46
jmp 0x14000d1ef
call fcn.14000a7c0
mov r11, qword [rsp + 0x38]
jmp 0x14000e241
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 0x14000ca74
mov r12, rdi
jmp 0x14000ccf7
mov r11, r13
mov r13d, dword [rsp + 0x38]
sub r13d, ecx
jmp 0x14000cf7a
cmp dword [rbp + 0x30], 0
jne 0x14000e840
mov dword [rbp + 0x30], 0xf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov rdi, r12
call fcn.14000b340
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.14000b340
mov dword [rbp + 8], 0x3f35
mov dword [rbp + 0x20], eax
jmp 0x14000d6a9
mov r12, rdi
jmp 0x14000e025
mov ebx, ecx
mov esi, r8d
jmp 0x14000e025
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.14000f500
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
test eax, eax
je 0x14000e9e4
lea rax, str.invalid_literal_lengths_set
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
lea rax, str.invalid_bit_length_repeat
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
mov r11, r13
jmp 0x14000ce58
cmp ecx, 0xf
ja 0x14000e0c0
cmp eax, ecx
jb 0x14000e0c0
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.14000a7c0
mov dword [rbp + 0x20], eax
mov dword [r14 + 0x4c], eax
and r15d, 0x200
jne 0x14000ea43
mov dword [rbp + 8], 0x3f3f
xor ebx, ebx
mov rdi, r12
jmp case.0x14000cb17.11
mov ecx, dword [rbp + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], r15w
call fcn.14000b340
mov dword [rbp + 0x20], eax
jmp 0x14000e773
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 0x14000cf7a
mov r11, r13
shr r15d, 3
mov r13d, dword [rsp + 0x38]
sub ebx, 3
sub r13d, dword [rsp + 0x34]
mov rdi, rdx
jmp 0x14000cf7a
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.14000f500
mov r12d, eax
test eax, eax
je 0x14000e71b
lea rax, str.invalid_distances_set
mov r11, r13
mov qword [r14 + 0x20], rax
mov dword [rbp + 8], 0x3f51
jmp 0x14000ce58
mov dword [rbp + 8], 0x3f3d
xor r15d, r15d
xor ebx, ebx
mov rdi, r12
jmp 0x14000cb39