Function at 0x14006de30
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
test rcx, rcx
mov rdi, rcx
mov dword [rsp + 0xd8], edx
je case.default.0x14006df29
cmp qword [rcx + 0x30], 0
je case.default.0x14006df29
cmp qword [rcx + 0x38], 0
je case.default.0x14006df29
mov r13, qword [rcx + 0x28]
test r13, r13
je case.default.0x14006df29
cmp rcx, qword [r13]
je 0x14006dea0
mov r14d, 0xfffffffe
movaps xmm6, xmmword [rsp + 0x70]
mov eax, r14d
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [r13 + 8]
lea eax, [rdx - 0x3f34]
cmp eax, 0x1f
ja case.default.0x14006df29
mov r11, qword [rcx + 0x10]
test r11, r11
je case.default.0x14006df29
mov rbp, qword [rcx]
mov r15d, dword [rcx + 8]
test rbp, rbp
je 0x14006e358
cmp edx, 0x3f3f
jne 0x14006dedd
mov dword [r13 + 8], 0x3f40
mov eax, 0xc
mov esi, dword [rdi + 0x18]
lea rcx, [0x14010d0a0]
mov r14, r11
mov r12d, dword [r13 + 0x48]
lea rdx, [0x14010d120]
movq xmm1, rcx
mov ebx, dword [r13 + 0x4c]
movq xmm6, rdx
punpcklqdq xmm6, xmm1
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x3c], esi
mov esi, r15d
cmp eax, 0x1e
ja case.default.0x14006df29
lea rdx, [0x14010d018]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp ebx, 0x1f
ja 0x14006fca8
test esi, esi
je 0x14006efe0
movzx edx, byte [rbp]
lea r8d, [rsi - 1]
mov ecx, ebx
lea rax, [rbp + 1]
shl edx, cl
lea ecx, [rbx + 8]
add r12d, edx
cmp ecx, 0x1f
ja 0x14006f8a8
test r8d, r8d
je 0x14006f763
movzx edx, byte [rbp + 1]
lea r8d, [rsi - 2]
lea rax, [rbp + 2]
shl edx, cl
lea ecx, [rbx + 0x10]
add r12d, edx
cmp ecx, 0x1f
ja 0x14006f8a8
test r8d, r8d
je 0x14006f763
movzx edx, byte [rbp + 2]
lea r8d, [rsi - 3]
add ebx, 0x18
lea rax, [rbp + 3]
shl edx, cl
add r12d, edx
cmp ebx, 0x1f
ja 0x14006f8a8
test r8d, r8d
je 0x14006fd96
movzx edx, byte [rbp + 3]
lea rax, [rbp + 4]
mov ecx, ebx
sub esi, 4
shl edx, cl
add r12d, edx
bswap r12d
mov rbp, rax
mov dword [r13 + 0x20], r12d
xor ebx, ebx
mov dword [rdi + 0x4c], r12d
xor r12d, r12d
mov dword [r13 + 8], 0x3f3e
mov r9d, dword [r13 + 0x14]
test r9d, r9d
je 0x14006fdcb
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140074670
mov dword [r13 + 0x20], eax
mov dword [rdi + 0x4c], eax
mov dword [r13 + 8], 0x3f3f
mov eax, dword [rsp + 0xd8]
sub eax, 5
cmp eax, 1
jbe 0x14006efe0
mov r8d, dword [r13 + 0xc]
test r8d, r8d
je 0x14006ebd8
mov ecx, ebx
mov r11, r14
and ebx, 0xfffffff8
mov dword [r13 + 8], 0x3f4e
and ecx, 7
shr r12d, cl
mov r9d, dword [r13 + 0x10]
test r9d, r9d
je 0x14006ee38
cmp ebx, 0x1f
ja 0x14006fdef
test esi, esi
je 0x14006fa4f
movzx eax, byte [rbp]
lea edx, [rsi - 1]
mov ecx, ebx
lea r14, [rbp + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r12d, eax
cmp ecx, 0x1f
ja 0x14006fb97
test edx, edx
je 0x14006fba0
movzx eax, byte [rbp + 1]
lea edx, [rsi - 2]
lea r14, [rbp + 2]
shl eax, cl
lea ecx, [rbx + 0x10]
add r12d, eax
cmp ecx, 0x1f
ja 0x14006fb97
test edx, edx
je 0x14006fba0
movzx eax, byte [rbp + 2]
lea edx, [rsi - 3]
lea r14, [rbp + 3]
shl eax, cl
lea ecx, [rbx + 0x18]
add r12d, eax
cmp ecx, 0x1f
ja 0x14006fb97
test edx, edx
je 0x14006fba0
movzx eax, byte [rbp + 3]
lea r14, [rbp + 4]
sub esi, 4
add ebx, 0x20
shl eax, cl
add r12d, eax
mov eax, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x40]
sub r8d, eax
mov eax, r9d
add dword [rdi + 0x1c], r8d
and eax, 4
add dword [r13 + 0x24], r8d
test r8d, r8d
je 0x14006f83c
test eax, eax
jne 0x14006f802
mov eax, dword [rsp + 0x3c]
mov rbp, r14
xor ebx, ebx
xor r12d, r12d
mov dword [r13 + 8], 0x3f4f
mov dword [rsp + 0x40], eax
jmp 0x14006e8b7
mov rdx, qword [0x14010d960]
movups xmmword [r13 + 0x60], xmm6
cmp dword [rsp + 0xd8], 6
mov dword [r13 + 8], 0x3f47
mov qword [r13 + 0x70], rdx
je 0x140070022
shr r12d, 3
sub ebx, 3
mov rbp, rax
nop word [rax + rax]
mov dword [r13 + 8], 0x3f48
cmp esi, 5
jbe 0x14006ee60
mov eax, dword [rsp + 0x3c]
cmp eax, 0x101
jbe 0x14006ee60
mov edx, dword [rsp + 0x40]
mov qword [rdi + 0x10], r14
mov rcx, rdi
mov dword [rdi + 0x18], eax
mov qword [rdi], rbp
mov dword [rdi + 8], esi
mov dword [r13 + 0x48], r12d
mov dword [r13 + 0x4c], ebx
call fcn.140075590
mov eax, dword [rdi + 0x18]
mov r14, qword [rdi + 0x10]
mov rbp, qword [rdi]
mov esi, dword [rdi + 8]
mov dword [rsp + 0x3c], eax
mov eax, dword [r13 + 8]
mov r12d, dword [r13 + 0x48]
mov ebx, dword [r13 + 0x4c]
cmp eax, 0x3f3f
je 0x14006f528
sub eax, 0x3f34
jmp 0x14006df12
mov r8d, dword [r13 + 0x58]
test r8d, r8d
jne 0x14006f540
mov dword [r13 + 8], 0x3f4c
mov ecx, dword [rsp + 0x3c]
test ecx, ecx
je 0x14006fd51
mov r10d, dword [rsp + 0x40]
mov eax, dword [r13 + 0x54]
mov edx, r10d
sub edx, ecx
cmp edx, eax
jae 0x14006f390
add eax, ecx
mov ecx, eax
sub ecx, r10d
cmp dword [r13 + 0x38], ecx
jae 0x14006ef38
mov r11d, dword [r13 + 0x1be0]
test r11d, r11d
je 0x14006ef38
lea rax, str.invalid_distance_too_far_back
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
mov r8d, dword [rsp + 0x40]
mov r14d, 0xfffffffd
mov eax, dword [rsp + 0x3c]
sub r8d, eax
jmp 0x14006e384
mov edx, dword [r13 + 0x58]
test edx, edx
jne 0x14006f3c0
mov eax, dword [r13 + 0x50]
mov dword [r13 + 0x1be8], eax
mov dword [r13 + 8], 0x3f4a
mov ecx, dword [r13 + 0x74]
mov eax, 0xffffffff
mov rdx, qword [r13 + 0x68]
shl eax, cl
mov ecx, eax
mov eax, r12d
mov qword [rsp + 0x48], rdx
not ecx
and eax, ecx
mov r10d, ecx
lea rax, [rdx + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, dl
cmp ebx, eax
mov r11d, eax
jae 0x14006e30e
test esi, esi
je 0x14006efe0
mov ecx, ebx
mov rbx, qword [rsp + 0x48]
jmp 0x14006e2d8
test esi, esi
je 0x14006e370
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r12d, eax
mov eax, r12d
and eax, r10d
lea rax, [rbx + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, dl
cmp ecx, eax
mov r11d, eax
jb 0x14006e2d0
mov ebx, ecx
cmp r8b, 0xf
mov ecx, eax
jbe 0x14006f6a0
mov eax, dword [r13 + 0x1be4]
shr r12d, cl
sub ebx, r11d
add ecx, eax
test r8b, 0x40
mov dword [r13 + 0x1be4], ecx
je 0x14006f500
lea rax, [0x14010cf9b]
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
test r15d, r15d
je 0x14006dec8
jmp case.default.0x14006df29
mov r8d, dword [rsp + 0x40]
mov r11, r14
mov ebx, ecx
xor r14d, r14d
mov eax, dword [rsp + 0x3c]
sub r8d, eax
mov r10d, dword [r13 + 0x34]
movd xmm0, r12d
movd xmm2, ebx
mov dword [rdi + 0x18], eax
mov qword [rdi + 0x10], r11
punpckldq xmm0, xmm2
mov qword [rdi], rbp
mov dword [rdi + 8], esi
test r10d, r10d
movq qword [r13 + 0x48], xmm0
jne 0x14006e3d0
cmp dword [rsp + 0x40], eax
je 0x14006e3ef
mov eax, dword [r13 + 8]
cmp eax, 0x3f50
ja 0x14006e3ef
cmp eax, 0x3f4d
jbe 0x14006e3d0
cmp dword [rsp + 0xd8], 4
je 0x14006e3ef
nop
mov rdx, r11
mov rcx, rdi
call fcn.14006d630
test eax, eax
jne 0x14006eb39
mov r8d, dword [rsp + 0x40]
mov esi, dword [rdi + 8]
sub r8d, dword [rdi + 0x18]
add dword [rdi + 0x1c], r8d
mov ebx, r15d
sub ebx, esi
add dword [rdi + 0xc], ebx
add dword [r13 + 0x24], r8d
test byte [r13 + 0x10], 4
je 0x14006e40b
test r8d, r8d
jne 0x14006e478
mov edx, dword [r13 + 0xc]
xor eax, eax
mov ecx, dword [r13 + 8]
test edx, edx
setne al
shl eax, 6
add eax, dword [r13 + 0x4c]
cmp ecx, 0x3f3f
je 0x14006e470
cmp ecx, 0x3f47
sete dl
cmp ecx, 0x3f42
sete cl
or edx, ecx
movzx edx, dl
shl edx, 8
add eax, edx
or ebx, r8d
mov dword [rdi + 0x48], eax
je 0x14006e45b
cmp dword [rsp + 0xd8], 4
jne 0x14006de7a
test r14d, r14d
jne 0x14006de7a
mov r14d, 0xfffffffb
jmp 0x14006de7a
sub eax, 0xffffff80
jmp 0x14006e445
mov rdx, qword [rdi + 0x10]
mov eax, r8d
mov dword [rsp + 0x3c], r8d
mov r9d, dword [r13 + 0x18]
mov ecx, dword [r13 + 0x20]
sub rdx, rax
test r9d, r9d
je 0x14006e4b0
call fcn.140075270
mov r8d, dword [rsp + 0x3c]
mov dword [r13 + 0x20], eax
mov dword [rdi + 0x4c], eax
jmp 0x14006e40b
call fcn.140074670
mov r8d, dword [rsp + 0x3c]
jmp 0x14006e49e
mov eax, dword [r13 + 0x84]
mov r8d, dword [r13 + 0x78]
cmp eax, r8d
jae 0x14006f974
lea rdx, [0x14010d920]
mov ecx, ebx
lea r9d, [rax + 1]
cmp ecx, 2
lea r10, [rdx + rax*2]
ja 0x14006e543
test esi, esi
je 0x14006e370
movzx eax, byte [rbp]
lea rdx, [rbp + 1]
sub esi, 1
shl eax, cl
add ecx, 8
add r12d, eax
movzx eax, word [r10]
mov r11d, r12d
sub ecx, 3
shr r12d, 3
and r11d, 7
add r10, 2
cmp r9d, r8d
mov dword [r13 + 0x84], r9d
mov word [r13 + rax*2 + 0x90], r11w
lea eax, [r9 + 1]
je 0x14006f96c
cmp ecx, 2
mov r9d, eax
mov rbp, rdx
jbe 0x14006e4ea
mov rdx, rbp
jmp 0x14006e505
mov r8d, dword [rsp + 0x40]
mov r11, r14
mov r14d, 1
mov eax, dword [rsp + 0x3c]
sub r8d, eax
jmp 0x14006e384
mov edx, dword [r13 + 0x18]
test dh, 8
jne 0x14006f170
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x14006e58e
mov qword [rax + 0x20], 0
mov dword [r13 + 0x50], 0
mov dword [r13 + 8], 0x3f3b
test dh, 0x10
jne 0x14006f080
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x14006e5b8
mov qword [rax + 0x30], 0
mov dword [r13 + 8], 0x3f3c
test dh, 2
jne 0x14006f000
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x14006e5e2
sar edx, 9
mov dword [rax + 0x40], 1
and edx, 1
mov dword [rax + 0x3c], edx
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140075270
mov dword [r13 + 0x20], eax
mov dword [rdi + 0x4c], eax
mov dword [r13 + 8], 0x3f3f
jmp case.0x14006df29.11
mov edx, dword [r13 + 0x18]
jmp 0x14006e59e
mov r10d, dword [r13 + 0x84]
mov r8d, dword [r13 + 0x7c]
mov r11d, dword [r13 + 0x80]
add r11d, r8d
cmp r10d, r11d
jae 0x14006e6e3
mov ecx, dword [r13 + 0x70]
mov edx, 0xffffffff
mov dword [rsp + 0x50], r8d
mov r9, qword [r13 + 0x60]
shl edx, cl
not edx
mov eax, r12d
and eax, edx
lea rax, [r9 + rax*4]
movzx ecx, byte [rax + 1]
movzx r8d, word [rax + 2]
movzx eax, cl
cmp ebx, eax
jae 0x14006e6ae
test esi, esi
je 0x14006efe0
mov ecx, ebx
jmp 0x14006e678
test esi, esi
je 0x14006e370
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r12d, eax
mov eax, r12d
and eax, edx
lea rax, [r9 + rax*4]
movzx ebx, byte [rax + 1]
movzx r8d, word [rax + 2]
movzx eax, bl
cmp ecx, eax
jb 0x14006e670
mov dword [rsp + 0x48], ecx
mov ecx, ebx
mov ebx, dword [rsp + 0x48]
cmp r8w, 0xf
ja 0x14006f450
sub ebx, eax
shr r12d, cl
lea eax, [r10 + 1]
mov dword [r13 + 0x84], eax
mov word [r13 + r10*2 + 0x90], r8w
mov r10d, eax
cmp r10d, r11d
jb 0x14006e644
mov r8d, dword [rsp + 0x50]
cmp dword [r13 + 8], 0x3f51
je case.0x14006df29.29
cmp word [r13 + 0x290], 0
jne 0x14006feeb
lea rax, str.invalid_code____missing_end_of_block
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
mov edx, dword [r13 + 0x50]
mov dword [r13 + 8], 0x3f43
test edx, edx
je 0x14006e002
mov eax, dword [rsp + 0x3c]
cmp esi, edx
cmovbe edx, esi
cmp edx, eax
cmova edx, eax
test edx, edx
je 0x14006fe6d
mov r8d, edx
mov dword [rsp + 0x50], edx
mov rcx, r14
mov rdx, rbp
mov qword [rsp + 0x48], r8
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r9d, dword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
sub dword [rsp + 0x3c], r9d
sub dword [r13 + 0x50], r9d
mov eax, dword [r13 + 8]
sub esi, r9d
add rbp, r8
add r14, r8
jmp 0x14006e1c9
mov r8d, dword [r13 + 0x18]
test r8d, 0x400
mov edx, r8d
jne 0x14006f5ac
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x14006e7b5
mov qword [rax + 0x10], 0
xor eax, eax
mov dword [r13 + 8], 0x3f39
test eax, eax
je 0x14006e878
mov ecx, dword [r13 + 0x50]
cmp esi, ecx
mov r9d, ecx
cmovbe r9d, esi
test r9d, r9d
je 0x14006e86c
mov rax, qword [r13 + 0x28]
mov r10d, r9d
test rax, rax
je 0x14006e84b
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14006e84b
mov r11d, dword [rax + 0x18]
mov eax, dword [rax + 0x1c]
mov dword [rsp + 0x48], r11d
sub r11d, ecx
cmp r11d, eax
jae 0x14006e84b
lea edx, [r9 + r11]
mov qword [rsp + 0x50], r10
cmp eax, edx
jae 0x14006e822
add eax, ecx
mov ecx, eax
mov eax, dword [rsp + 0x48]
sub ecx, eax
mov qword [rsp + 0x50], rcx
lea rcx, [r8 + r11]
mov r8, qword [rsp + 0x50]
mov rdx, rbp
mov qword [rsp + 0x58], r10
mov dword [rsp + 0x48], r9d
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edx, dword [r13 + 0x18]
mov r10, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x48]
and dh, 2
je 0x14006e85b
test byte [r13 + 0x10], 4
jne 0x14006fa63
mov ecx, dword [r13 + 0x50]
sub esi, r9d
add rbp, r10
sub ecx, r9d
mov dword [r13 + 0x50], ecx
test ecx, ecx
jne 0x14006efe0
mov edx, dword [r13 + 0x18]
mov dword [r13 + 0x50], 0
mov dword [r13 + 8], 0x3f3a
jmp 0x14006e574
mov edx, dword [r13 + 0x18]
jmp 0x14006e5c0
mov edx, dword [r13 + 0x50]
jmp 0x14006e72c
mov r9d, dword [r13 + 0x10]
mov r11, r14
test r9d, r9d
je 0x14006ee38
mov r14d, dword [r13 + 0x18]
test r14d, r14d
je 0x14006ee38
cmp ebx, 0x1f
ja 0x14006fae7
test esi, esi
je 0x14006fa4f
movzx edx, byte [rbp]
lea r8d, [rsi - 1]
mov ecx, ebx
lea rax, [rbp + 1]
shl edx, cl
lea ecx, [rbx + 8]
add r12d, edx
cmp ecx, 0x1f
ja 0x14006f781
test r8d, r8d
je 0x14006f7b5
movzx edx, byte [rbp + 1]
lea r8d, [rsi - 2]
lea rax, [rbp + 2]
shl edx, cl
lea ecx, [rbx + 0x10]
add r12d, edx
cmp ecx, 0x1f
ja 0x14006f781
test r8d, r8d
je 0x14006f7b5
movzx edx, byte [rbp + 2]
lea r8d, [rsi - 3]
lea rax, [rbp + 3]
shl edx, cl
lea ecx, [rbx + 0x18]
add r12d, edx
cmp ecx, 0x1f
ja 0x14006f781
test r8d, r8d
je 0x14006f7b5
movzx edx, byte [rbp + 3]
lea rax, [rbp + 4]
sub esi, 4
add ebx, 0x20
shl edx, cl
add r12d, edx
and r9d, 4
je 0x14006ee2c
cmp dword [r13 + 0x24], r12d
je 0x14006ee2c
lea rdx, str.incorrect_length_check
mov rbp, rax
mov qword [rdi + 0x20], rdx
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
mov edx, dword [r13 + 0x18]
mov eax, edx
and eax, 0x400
jmp 0x14006e7bf
cmp ebx, 0x1f
ja 0x14006e9e8
test esi, esi
je 0x14006efe0
mov ecx, ebx
jmp 0x14006e9d0
test esi, esi
je 0x14006e370
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r12d, eax
cmp ecx, 0x1f
jbe 0x14006e9c8
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x14006e9f5
mov dword [rax + 4], r12d
test byte [r13 + 0x19], 2
je 0x14006ea07
test byte [r13 + 0x10], 4
jne 0x14006fab3
mov dword [r13 + 8], 0x3f37
xor ebx, ebx
xor r12d, r12d
jmp 0x14006ea25
cmp ebx, 0xf
ja 0x14006ea58
test esi, esi
je 0x14006efe0
mov ecx, ebx
jmp 0x14006ea40
test esi, esi
je 0x14006e370
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r12d, eax
cmp ecx, 0xf
jbe 0x14006ea38
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x14006ea7c
mov ecx, r12d
movzx eax, r12b
shr ecx, 8
movd xmm0, eax
movd xmm4, ecx
punpckldq xmm0, xmm4
movq qword [rdx + 8], xmm0
mov r8d, dword [r13 + 0x18]
test r8d, 0x200
mov edx, r8d
je 0x14006ea97
test byte [r13 + 0x10], 4
jne 0x14006f8b0
xor ebx, ebx
xor r12d, r12d
test r8d, 0x400
mov dword [r13 + 8], 0x3f38
je 0x14006e7a4
test esi, esi
je 0x14006efe0
mov ecx, ebx
jmp 0x14006eac8
test esi, esi
je 0x14006e370
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r12d, eax
cmp ecx, 0xf
jbe 0x14006eac0
mov rax, qword [r13 + 0x28]
mov dword [r13 + 0x50], r12d
test rax, rax
je 0x14006eaf1
mov dword [rax + 0x18], r12d
test r8d, 0x200
je 0x14006eb05
test byte [r13 + 0x10], 4
jne 0x14006fd63
mov eax, r8d
mov edx, r8d
xor ebx, ebx
and eax, 0x400
xor r12d, r12d
jmp 0x14006e7b7
mov eax, dword [r13 + 0x10]
test eax, eax
jne 0x14006f5ba
mov dword [r13 + 8], 0x3f40
jmp case.0x14006df29.12
mov dword [r13 + 8], 0x3f52
nop dword [rax]
mov r14d, 0xfffffffc
jmp 0x14006de7a
cmp ebx, 0xf
ja 0x14006fc98
test esi, esi
je 0x14006efe0
movzx eax, byte [rbp]
lea edx, [rsi - 1]
mov ecx, ebx
lea r9, [rbp + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r12d, eax
cmp ecx, 0xf
ja 0x14006fd3e
test edx, edx
je 0x14006f3a2
movzx eax, byte [rbp + 1]
lea r9, [rbp + 2]
sub esi, 2
add ebx, 0x10
shl eax, cl
add r12d, eax
cmp r12b, 8
mov dword [r13 + 0x18], r12d
je 0x14006f7e3
lea rax, str.unknown_compression_method
mov r11, r14
mov r14, r9
mov qword [rdi + 0x20], rax
mov rbp, r14
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
cmp ebx, 2
ja 0x14006fcb8
test esi, esi
je 0x14006fd27
movzx edx, byte [rbp]
lea rax, [rbp + 1]
mov ecx, ebx
sub esi, 1
add ebx, 8
shl edx, cl
add r12d, edx
mov edx, r12d
and edx, 1
mov dword [r13 + 0xc], edx
mov edx, r12d
shr edx, 1
and edx, 3
cmp edx, 2
je 0x14006ed19
cmp edx, 3
je 0x14006f8e4
cmp edx, 1
je 0x14006e127
mov dword [r13 + 8], 0x3f41
shr r12d, 3
sub ebx, 3
mov rbp, rax
nop dword [rax]
mov ecx, ebx
and ebx, 0xfffffff8
and ecx, 7
shr r12d, cl
cmp ebx, 0x1f
ja 0x14006fca0
test esi, esi
je 0x14006efe0
movzx edx, byte [rbp]
lea r8d, [rsi - 1]
mov ecx, ebx
lea rax, [rbp + 1]
shl edx, cl
lea ecx, [rbx + 8]
add r12d, edx
cmp ecx, 0x1f
ja 0x14006f8da
test r8d, r8d
je 0x14006f763
movzx edx, byte [rbp + 1]
lea r8d, [rsi - 2]
lea rax, [rbp + 2]
shl edx, cl
lea ecx, [rbx + 0x10]
add r12d, edx
cmp ecx, 0x1f
ja 0x14006f8da
test r8d, r8d
je 0x14006f763
movzx edx, byte [rbp + 2]
lea r8d, [rsi - 3]
lea rax, [rbp + 3]
shl edx, cl
lea ecx, [rbx + 0x18]
add r12d, edx
cmp ecx, 0x1f
ja 0x14006f8da
test r8d, r8d
je 0x14006f763
movzx edx, byte [rbp + 3]
lea rax, [rbp + 4]
sub esi, 4
add ebx, 0x20
shl edx, cl
add r12d, edx
mov ecx, r12d
movzx edx, r12w
shr ecx, 0x10
xor ecx, 0xffff
cmp edx, ecx
je 0x14006f7bc
lea rcx, str.invalid_stored_block_lengths
mov r11, r14
mov rbp, rax
mov qword [rdi + 0x20], rcx
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
mov dword [r13 + 8], 0x3f44
shr r12d, 3
sub ebx, 3
mov rbp, rax
nop dword [rax + rax]
cmp ebx, 0xd
ja 0x14006fcb0
test esi, esi
je 0x14006efe0
movzx eax, byte [rbp]
lea r8d, [rsi - 1]
mov ecx, ebx
lea rdx, [rbp + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r12d, eax
cmp ecx, 0xd
ja 0x14006fd47
test r8d, r8d
je 0x14006f42d
movzx eax, byte [rbp + 1]
lea rdx, [rbp + 2]
sub esi, 2
add ebx, 0x10
shl eax, cl
add r12d, eax
mov ecx, r12d
mov eax, r12d
mov r8d, r12d
and ecx, 0x1f
shr eax, 5
sub ebx, 0xe
shr r8d, 0xa
add ecx, 0x101
and eax, 0x1f
and r8d, 0xf
add eax, 1
shr r12d, 0xe
mov dword [r13 + 0x7c], ecx
add r8d, 4
cmp ecx, 0x11e
mov dword [r13 + 0x80], eax
mov dword [r13 + 0x78], r8d
ja 0x14006edca
cmp eax, 0x1e
jbe 0x14006fb01
lea rax, str.too_many_length_or_distance_symbols
mov r11, r14
mov rbp, rdx
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
shr r12d, cl
sub ebx, eax
mov dword [r13 + 0x1be4], eax
mov dword [r13 + 0x50], r10d
mov dword [r13 + 8], 0x3f4d
mov edx, dword [rsp + 0x3c]
test edx, edx
je 0x14006fe80
mov eax, dword [r13 + 0x50]
sub edx, 1
add r14, 1
mov dword [rsp + 0x3c], edx
mov byte [r14 - 1], al
mov dword [r13 + 8], 0x3f48
jmp case.0x14006df29.20
mov rbp, rax
xor ebx, ebx
xor r12d, r12d
nop dword [rax]
mov r8d, dword [rsp + 0x40]
mov dword [r13 + 8], 0x3f50
mov r14d, 1
mov eax, dword [rsp + 0x3c]
sub r8d, eax
jmp 0x14006e384
mov ecx, dword [r13 + 0x70]
mov r9d, 0xffffffff
mov eax, r12d
mov dword [r13 + 0x1be4], 0
mov r8, qword [r13 + 0x60]
shl r9d, cl
not r9d
and eax, r9d
lea rax, [r8 + rax*4]
movzx ecx, byte [rax + 1]
movzx edx, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, cl
cmp ebx, eax
jae 0x14006eeef
test esi, esi
je 0x14006efe0
mov ecx, ebx
jmp 0x14006eeb8
test esi, esi
je 0x14006e370
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r12d, eax
mov eax, r12d
and eax, r9d
lea rax, [r8 + rax*4]
movzx r11d, byte [rax + 1]
movzx edx, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, r11b
cmp ecx, eax
jb 0x14006eeb0
mov ebx, ecx
mov ecx, r11d
test dl, dl
je 0x14006ede8
cmp dl, 0xf
jbe 0x14006fbaa
mov ecx, eax
sub ebx, eax
mov dword [r13 + 0x1be4], eax
shr r12d, cl
mov dword [r13 + 0x50], r10d
test dl, 0x20
je 0x14006fa8f
mov dword [r13 + 0x1be4], 0xffffffff
mov dword [r13 + 8], 0x3f3f
jmp case.0x14006df29.11
mov r8d, dword [r13 + 0x3c]
mov r9d, dword [rsp + 0x40]
mov rdx, qword [r13 + 0x40]
sub r9d, eax
cmp r8d, ecx
jae 0x14006f5a0
sub ecx, r8d
add r8d, dword [r13 + 0x34]
lea eax, [r8 + r9]
add rdx, rax
mov r8d, dword [r13 + 0x50]
mov eax, ecx
cmp r8d, ecx
cmovbe eax, r8d
mov ecx, dword [rsp + 0x3c]
cmp eax, ecx
cmova eax, ecx
lea r9d, [rax - 1]
sub ecx, eax
sub r8d, eax
cmp r9d, 6
mov dword [rsp + 0x3c], ecx
mov dword [r13 + 0x50], r8d
jbe 0x14006efa0
lea r8, [rdx + 1]
mov rcx, r14
sub rcx, r8
cmp rcx, 0xe
ja 0x14006f268
mov ecx, r9d
xor eax, eax
nop dword [rax]
movzx r8d, byte [rdx + rax]
mov byte [r14 + rax], r8b
mov r8, rax
add rax, 1
cmp rcx, r8
jne 0x14006efa8
mov r10d, dword [r13 + 0x50]
lea r14, [r14 + rcx + 1]
test r10d, r10d
je case.0x14006df29.19
mov eax, dword [r13 + 8]
jmp 0x14006e1c9
mov r11, r14
jmp 0x14006e040
mov r8d, dword [rsp + 0x40]
mov r11, r14
xor r14d, r14d
mov eax, dword [rsp + 0x3c]
sub r8d, eax
jmp 0x14006e384
cmp ebx, 0xf
ja 0x14006faef
test esi, esi
je 0x14006efe0
movzx eax, byte [rbp]
lea r8d, [rsi - 1]
mov ecx, ebx
lea r9, [rbp + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r12d, eax
cmp ecx, 0xf
ja 0x14006faf7
test r8d, r8d
je 0x14006f243
movzx eax, byte [rbp + 1]
lea r9, [rbp + 2]
sub esi, 2
add ebx, 0x10
shl eax, cl
add r12d, eax
test byte [r13 + 0x10], 4
je 0x14006f420
movzx eax, word [r13 + 0x20]
cmp eax, r12d
je 0x14006f420
lea rax, str.header_crc_mismatch
mov r11, r14
mov rbp, r9
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
test esi, esi
je 0x14006efe0
mov rax, qword [r13 + 0x28]
mov rcx, rbp
xor r8d, r8d
add r8d, 1
test rax, rax
movzx r9d, byte [rcx]
je 0x14006f0d0
mov r10, qword [rax + 0x30]
test r10, r10
je 0x14006f158
mov edx, dword [r13 + 0x50]
cmp edx, dword [rax + 0x38]
jb 0x14006f130
cmp r8d, esi
jae 0x14006f0fe
test r9b, r9b
je 0x14006f0fe
add rcx, 1
add r8d, 1
test rax, rax
movzx r9d, byte [rcx]
jne 0x14006f09f
test r9b, r9b
je 0x14006f0fe
cmp r8d, esi
jae 0x14006f0fe
mov eax, r8d
add rax, rbp
jmp 0x14006f0ed
test r9b, r9b
je 0x14006f0fe
add r8d, 1
movzx r9d, byte [rax]
add rax, 1
cmp r8d, esi
jb 0x14006f0e8
test byte [r13 + 0x19], 2
je 0x14006f110
test byte [r13 + 0x10], 4
jne 0x14006f78b
sub esi, r8d
add rbp, r8
test r9b, r9b
jne 0x14006efe0
mov edx, dword [r13 + 0x18]
jmp 0x14006e5b8
lea eax, [rdx + 1]
test r9b, r9b
mov dword [r13 + 0x50], eax
mov byte [r10 + rdx], r9b
je 0x14006f0fe
cmp r8d, esi
jae 0x14006f0fe
mov rax, qword [r13 + 0x28]
add rcx, 1
jmp 0x14006f092
test r9b, r9b
je 0x14006f0fe
cmp r8d, esi
jb 0x14006f0bf
jmp 0x14006f0fe
test esi, esi
je 0x14006efe0
mov rax, qword [r13 + 0x28]
mov r10, rbp
xor r8d, r8d
nop word [rax + rax]
add r8d, 1
test rax, rax
movzx r9d, byte [r10]
je 0x14006f1e0
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14006f230
mov edx, dword [r13 + 0x50]
cmp edx, dword [rax + 0x28]
jae 0x14006f230
lea eax, [rdx + 1]
test r9b, r9b
mov dword [r13 + 0x50], eax
mov byte [rcx + rdx], r9b
je 0x14006f206
cmp r8d, esi
jae 0x14006f206
mov rax, qword [r13 + 0x28]
add r10, 1
add r8d, 1
movzx r9d, byte [r10]
test rax, rax
jne 0x14006f195
nop dword [rax]
test r9b, r9b
je 0x14006f206
cmp r8d, esi
jae 0x14006f206
mov eax, r8d
add rax, rbp
add r8d, 1
movzx r9d, byte [rax]
add rax, 1
cmp r8d, esi
jae 0x14006f206
test r9b, r9b
jne 0x14006f1f0
test byte [r13 + 0x19], 2
je 0x14006f218
test byte [r13 + 0x10], 4
jne 0x14006f87e
sub esi, r8d
add rbp, r8
test r9b, r9b
jne 0x14006efe0
mov edx, dword [r13 + 0x18]
jmp 0x14006e58e
test r9b, r9b
je 0x14006f206
cmp r8d, esi
jae 0x14006f206
add r10, 1
jmp 0x14006f188
mov r8d, dword [rsp + 0x40]
mov r11, r14
mov ebx, ecx
xor esi, esi
mov eax, dword [rsp + 0x3c]
mov rbp, r9
xor r14d, r14d
sub r8d, eax
jmp 0x14006e384
cmp r9d, 0xe
jbe 0x14006fc80
lea r8d, [rax - 0x10]
xor ecx, ecx
xor r10d, r10d
shr r8d, 4
add r8d, 1
nop dword [rax + rax]
movdqu xmm3, xmmword [rdx + rcx]
add r10d, 1
movups xmmword [r14 + rcx], xmm3
add rcx, 0x10
cmp r10d, r8d
jb 0x14006f288
shl r8d, 4
mov r10d, r8d
mov r11d, r8d
mov qword [rsp + 0x50], r10
lea r8, [r14 + r10]
mov rcx, r10
mov r10d, eax
sub r10d, ecx
mov rcx, qword [rsp + 0x50]
cmp eax, r11d
mov dword [rsp + 0x48], r10d
lea r10, [rdx + rcx]
mov ecx, r9d
je 0x14006efbd
mov eax, dword [rsp + 0x48]
lea ecx, [rax - 1]
cmp ecx, 6
jbe 0x14006f30a
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rdx + rcx]
mov qword [r14 + rcx], rdx
mov ecx, eax
and ecx, 0xfffffff8
sub dword [rsp + 0x48], ecx
mov edx, ecx
mov ecx, r9d
add r8, rdx
add r10, rdx
test al, 7
je 0x14006efbd
mov edx, dword [rsp + 0x48]
mov ecx, r9d
movzx eax, byte [r10]
cmp edx, 1
mov byte [r8], al
je 0x14006efbd
movzx eax, byte [r10 + 1]
cmp edx, 2
mov byte [r8 + 1], al
je 0x14006efbd
movzx eax, byte [r10 + 2]
cmp edx, 3
mov byte [r8 + 2], al
je 0x14006efbd
movzx eax, byte [r10 + 3]
cmp edx, 4
mov byte [r8 + 3], al
je 0x14006efbd
movzx eax, byte [r10 + 4]
cmp edx, 5
mov byte [r8 + 4], al
je 0x14006efbd
movzx eax, byte [r10 + 5]
cmp edx, 6
mov byte [r8 + 5], al
je 0x14006efbd
movzx eax, byte [r10 + 6]
mov byte [r8 + 6], al
jmp 0x14006efbd
mov rdx, r14
sub rdx, rax
mov eax, dword [r13 + 0x50]
mov r8d, eax
jmp 0x14006ef6c
mov r8d, dword [rsp + 0x40]
mov r11, r14
mov ebx, ecx
xor esi, esi
mov eax, dword [rsp + 0x3c]
mov rbp, r9
xor r14d, r14d
sub r8d, eax
jmp 0x14006e384
cmp ebx, edx
jae 0x14006f3f1
test esi, esi
je 0x14006efe0
mov ecx, ebx
jmp 0x14006f3d8
test esi, esi
je 0x14006e370
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r12d, eax
cmp ecx, edx
jb 0x14006f3d0
mov ebx, ecx
add dword [r13 + 0x1be4], edx
mov ecx, edx
mov eax, 0xffffffff
sub ebx, edx
shl eax, cl
not eax
and eax, r12d
add eax, dword [r13 + 0x50]
shr r12d, cl
mov dword [r13 + 0x50], eax
jmp 0x14006e270
mov rbp, r9
xor ebx, ebx
xor r12d, r12d
jmp 0x14006e5c9
mov r8d, dword [rsp + 0x40]
mov r11, r14
mov ebx, ecx
xor esi, esi
mov eax, dword [rsp + 0x3c]
mov rbp, rdx
xor r14d, r14d
sub r8d, eax
jmp 0x14006e384
cmp r8w, 0x10
je 0x14006fb1e
cmp r8w, 0x11
je 0x14006f909
lea ecx, [rax + 7]
cmp ebx, ecx
jae 0x14006f4ad
test esi, esi
je 0x14006efe0
mov r8d, eax
mov eax, ecx
mov ecx, ebx
mov ebx, r8d
jmp 0x14006f490
test esi, esi
je 0x14006e370
movzx r8d, byte [rbp]
add rbp, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add r12d, r8d
cmp ecx, eax
jb 0x14006f488
mov eax, ebx
mov ebx, ecx
mov ecx, eax
sub ebx, eax
xor r8d, r8d
shr r12d, cl
sub ebx, 7
mov ecx, r12d
shr r12d, 7
and ecx, 0x7f
add ecx, 0xb
add r10d, ecx
cmp r11d, r10d
jb 0x14006ff73
mov eax, dword [r13 + 0x84]
lea r10d, [rax + rcx]
nop
mov ecx, eax
add eax, 1
mov word [r13 + rcx*2 + 0x90], r8w
cmp r10d, eax
jne 0x14006f4e0
mov dword [r13 + 0x84], r10d
jmp 0x14006e6d5
and r8d, 0xf
movd xmm0, r9d
mov dword [r13 + 8], 0x3f4b
movd xmm5, r8d
punpckldq xmm0, xmm5
movq qword [r13 + 0x54], xmm0
jmp 0x14006e1dc
mov dword [r13 + 0x1be4], 0xffffffff
jmp case.0x14006df29.11
cmp ebx, r8d
jae 0x14006f57a
test esi, esi
je 0x14006efe0
mov ecx, ebx
jmp 0x14006f560
test esi, esi
je 0x14006e370
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r12d, eax
cmp ecx, r8d
jb 0x14006f558
mov ebx, ecx
mov ecx, r8d
mov eax, 0xffffffff
sub ebx, r8d
add dword [r13 + 0x1be4], r8d
shl eax, cl
not eax
and eax, r12d
shr r12d, cl
add dword [r13 + 0x54], eax
jmp 0x14006e1e5
lea eax, [r8 + r9]
add rdx, rax
jmp 0x14006ef5f
cmp ebx, 0xf
jbe 0x14006eab1
jmp 0x14006eae0
cmp ebx, 0xf
ja 0x14006fe92
test esi, esi
je 0x14006efe0
movzx edx, byte [rbp]
lea r8d, [rsi - 1]
mov ecx, ebx
lea r9, [rbp + 1]
shl edx, cl
lea ecx, [rbx + 8]
add r12d, edx
cmp ecx, 0xf
ja 0x14006fe9a
test r8d, r8d
je 0x14006f3a2
movzx edx, byte [rbp + 1]
lea r9, [rbp + 2]
sub esi, 2
add ebx, 0x10
shl edx, cl
add r12d, edx
test al, 2
je 0x14006f617
cmp r12d, 0x8b1f
je 0x14006fe10
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x14006f627
mov dword [rdx + 0x40], 0xffffffff
test al, 1
je 0x14006fad5
mov edx, r12d
mov eax, r12d
shl edx, 8
shr eax, 8
movzx edx, dx
lea ecx, [rdx + rax]
mov rdx, rcx
imul rcx, rcx, 0x8421085
mov eax, edx
shr rcx, 0x20
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 0x14006fad5
mov eax, r12d
and eax, 0xf
cmp eax, 8
je 0x14006fea4
lea rax, str.unknown_compression_method
mov r11, r14
mov rbp, r9
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
lea ecx, [r8 + rax]
movzx r11d, r9w
mov r9d, 0xffffffff
shl r9d, cl
mov ecx, edx
not r9d
mov r8d, r9d
mov dword [rsp + 0x50], r9d
and r8d, r12d
shr r8d, cl
mov rcx, qword [rsp + 0x48]
lea edx, [r8 + r11]
lea rdx, [rcx + rdx*4]
movzx r8d, byte [rdx]
movzx r9d, word [rdx + 2]
movzx edx, byte [rdx + 1]
lea ecx, [rdx + rax]
cmp ebx, ecx
jae 0x14006f74b
test esi, esi
je 0x14006efe0
mov qword [rsp + 0xd0], rdi
mov r10, qword [rsp + 0x48]
mov edi, dword [rsp + 0x50]
jmp 0x14006f708
test esi, esi
je 0x14006fa30
movzx edx, byte [rbp]
mov ecx, ebx
add ebx, 8
add rbp, 1
sub esi, 1
shl edx, cl
mov ecx, eax
add r12d, edx
mov edx, edi
and edx, r12d
shr edx, cl
add edx, r11d
mov edx, edx
lea rdx, [r10 + rdx*4]
movzx r8d, byte [rdx]
movzx r9d, word [rdx + 2]
movzx edx, byte [rdx + 1]
lea ecx, [rdx + rax]
cmp ebx, ecx
jb 0x14006f700
mov rdi, qword [rsp + 0xd0]
mov ecx, eax
sub ebx, eax
mov r11d, edx
add eax, dword [r13 + 0x1be4]
shr r12d, cl
mov ecx, edx
jmp 0x14006e321
mov r11, r14
mov ebx, ecx
mov rbp, rax
mov r8d, dword [rsp + 0x40]
xor r14d, r14d
xor esi, esi
mov eax, dword [rsp + 0x3c]
sub r8d, eax
jmp 0x14006e384
mov ebx, ecx
mov esi, r8d
jmp 0x14006e965
mov ecx, dword [r13 + 0x20]
mov rdx, rbp
mov byte [rsp + 0x50], r9b
mov dword [rsp + 0x48], r8d
call fcn.140075270
movzx r9d, byte [rsp + 0x50]
mov r8d, dword [rsp + 0x48]
mov dword [r13 + 0x20], eax
jmp 0x14006f110
mov ebx, ecx
mov rbp, rax
jmp 0x14006f76b
cmp dword [rsp + 0xd8], 6
mov dword [r13 + 0x50], edx
mov dword [r13 + 8], 0x3f42
je 0x1400700a7
mov rbp, rax
xor ebx, ebx
xor r12d, r12d
jmp 0x14006e724
test r12d, 0xe000
je 0x14006fcd4
lea rax, str.unknown_header_flags_set
mov r11, r14
mov r14, r9
jmp 0x14006ebbd
mov r9d, dword [r13 + 0x18]
mov eax, r8d
mov rdx, r11
mov qword [rsp + 0x40], r11
sub rdx, rax
mov ecx, dword [r13 + 0x20]
test r9d, r9d
je 0x14006fda1
call fcn.140075270
mov r11, qword [rsp + 0x40]
mov r9d, dword [r13 + 0x10]
mov dword [r13 + 0x20], eax
mov dword [rdi + 0x4c], eax
mov eax, r9d
and eax, 4
test eax, eax
je 0x14006e10a
mov edx, dword [r13 + 0x18]
mov eax, r12d
test edx, edx
jne 0x14006f851
bswap eax
cmp dword [r13 + 0x20], eax
je 0x14006e10a
lea rax, str.incorrect_data_check
mov rbp, r14
mov qword [rdi + 0x20], rax
mov eax, dword [rsp + 0x3c]
mov dword [r13 + 8], 0x3f51
mov dword [rsp + 0x40], eax
jmp 0x14006e246
mov ecx, dword [r13 + 0x20]
mov rdx, rbp
mov byte [rsp + 0x50], r9b
mov dword [rsp + 0x48], r8d
call fcn.140075270
movzx r9d, byte [rsp + 0x50]
mov r8d, dword [rsp + 0x48]
mov dword [r13 + 0x20], eax
jmp 0x14006f218
mov esi, r8d
jmp 0x14006dfc7
mov ecx, dword [r13 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], r12w
call fcn.140075270
mov r8d, dword [r13 + 0x18]
mov dword [r13 + 0x20], eax
mov edx, r8d
jmp 0x14006ea97
mov ebx, ecx
mov esi, r8d
jmp 0x14006ece3
lea rcx, str.invalid_block_type
mov r11, r14
shr r12d, 3
mov qword [rdi + 0x20], rcx
sub ebx, 3
mov rbp, rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
lea ecx, [rax + 3]
cmp ebx, ecx
jae 0x14006f94d
test esi, esi
je 0x14006efe0
mov r8d, eax
mov eax, ecx
mov ecx, ebx
mov ebx, r8d
jmp 0x14006f930
test esi, esi
je 0x14006e370
movzx r8d, byte [rbp]
add rbp, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add r12d, r8d
cmp ecx, eax
jb 0x14006f928
mov eax, ebx
mov ebx, ecx
mov ecx, eax
sub ebx, eax
xor r8d, r8d
shr r12d, cl
sub ebx, 3
mov ecx, r12d
shr r12d, 3
and ecx, 7
add ecx, 3
jmp 0x14006f4c7
mov ebx, ecx
mov eax, r9d
mov rbp, rdx
cmp eax, 0x12
ja 0x14006f9c3
lea rdx, [0x14010d920]
mov ecx, 0x12
mov r8d, eax
lea rdx, [rdx + r8*2]
sub ecx, eax
lea rax, [rcx + r8]
lea rcx, [0x14010d922]
lea rcx, [rcx + rax*2]
nop dword [rax]
movzx eax, word [rdx]
add rdx, 2
xor r8d, r8d
cmp rdx, rcx
mov word [r13 + rax*2 + 0x90], r8w
jne 0x14006f9a0
mov dword [r13 + 0x84], 0x13
lea rax, [r13 + 0x550]
xor ecx, ecx
mov dword [r13 + 0x70], 7
mov r8d, 0x13
mov qword [r13 + 0x88], rax
lea rdx, [r13 + 0x90]
mov qword [r13 + 0x60], rax
lea rax, [r13 + 0x310]
mov qword [rsp + 0x28], rax
lea rax, [r13 + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [r13 + 0x88]
call fcn.140070b80
test eax, eax
je 0x14006fdb0
lea rax, str.invalid_code_lengths_set
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
mov r8d, dword [rsp + 0x40]
mov r11, r14
xor r14d, r14d
mov eax, dword [rsp + 0x3c]
mov rdi, qword [rsp + 0xd0]
sub r8d, eax
jmp 0x14006e384
mov r8d, dword [rsp + 0x40]
xor r14d, r14d
mov eax, dword [rsp + 0x3c]
sub r8d, eax
jmp 0x14006e384
mov ecx, dword [r13 + 0x20]
mov r8d, r9d
mov rdx, rbp
mov qword [rsp + 0x50], r10
mov dword [rsp + 0x48], r9d
call fcn.140075270
mov r10, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x48]
mov dword [r13 + 0x20], eax
jmp 0x14006e85b
test dl, 0x40
je 0x14006fcc0
lea rax, [0x14010cf7f]
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
mov ecx, dword [r13 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 4
mov dword [rsp + 0x6c], r12d
call fcn.140075270
mov dword [r13 + 0x20], eax
jmp 0x14006ea07
lea rax, str.incorrect_header_check
mov r11, r14
mov r14, r9
jmp 0x14006ebbd
mov rax, rbp
jmp 0x14006e965
mov r9, rbp
jmp 0x14006f048
mov ebx, ecx
mov esi, r8d
jmp 0x14006f048
mov dword [r13 + 0x84], 0
mov rbp, rdx
xor eax, eax
mov dword [r13 + 8], 0x3f45
jmp 0x14006e4d4
lea ecx, [rax + 2]
cmp ebx, ecx
jae 0x14006fb65
test esi, esi
je 0x14006efe0
mov r8d, eax
mov eax, ecx
mov ecx, ebx
mov ebx, r8d
jmp 0x14006fb48
test esi, esi
je 0x14006e370
movzx r8d, byte [rbp]
add rbp, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add r12d, r8d
cmp ecx, eax
jb 0x14006fb40
mov eax, ebx
mov ebx, ecx
mov ecx, eax
sub ebx, eax
shr r12d, cl
test r10d, r10d
je 0x14006ff73
lea eax, [r10 - 1]
sub ebx, 2
movzx r8d, word [r13 + rax*2 + 0x90]
mov eax, r12d
shr r12d, 2
and eax, 3
lea ecx, [rax + 3]
jmp 0x14006f4c7
mov ebx, ecx
mov esi, edx
jmp 0x14006e0df
mov ebx, ecx
mov rbp, r14
jmp 0x14006f76b
add edx, eax
mov r9d, 0xffffffff
mov dword [rsp + 0x58], r10d
mov ecx, edx
shl r9d, cl
mov ecx, eax
not r9d
mov edx, r9d
mov dword [rsp + 0x50], r9d
and edx, r12d
shr edx, cl
add edx, r10d
mov edx, edx
lea rcx, [r8 + rdx*4]
movzx r9d, byte [rcx + 1]
movzx edx, byte [rcx]
movzx r11d, word [rcx + 2]
lea r10d, [r9 + rax]
cmp ebx, r10d
jae 0x14006fc58
test esi, esi
je 0x14006efe0
mov qword [rsp + 0x48], r14
mov edx, dword [rsp + 0x58]
mov r14d, dword [rsp + 0x50]
jmp 0x14006fc10
test esi, esi
je 0x14006fdf7
movzx r9d, byte [rbp]
mov ecx, ebx
add ebx, 8
add rbp, 1
sub esi, 1
shl r9d, cl
mov ecx, eax
add r12d, r9d
mov r9d, r14d
and r9d, r12d
shr r9d, cl
lea ecx, [r9 + rdx]
lea r9, [r8 + rcx*4]
movzx ecx, byte [r9]
movzx r11d, word [r9 + 2]
movzx r9d, byte [r9 + 1]
lea r10d, [r9 + rax]
cmp ebx, r10d
jb 0x14006fc08
mov r14, qword [rsp + 0x48]
mov edx, ecx
mov ecx, eax
sub ebx, eax
mov dword [r13 + 0x1be4], r10d
shr r12d, cl
mov ecx, r9d
sub ebx, r9d
mov dword [r13 + 0x50], r11d
shr r12d, cl
test dl, dl
jne 0x14006ef12
jmp 0x14006edf8
mov r8, r14
mov dword [rsp + 0x48], eax
mov r10, rdx
mov qword [rsp + 0x50], 0
jmp 0x14006f2e1
mov r9, rbp
jmp 0x14006eba2
mov rax, rbp
jmp 0x14006ece3
mov rax, rbp
jmp 0x14006dfc7
mov rdx, rbp
jmp 0x14006ed7c
mov rax, rbp
jmp 0x14006ebfe
and edx, 0xf
mov dword [r13 + 8], 0x3f49
mov dword [r13 + 0x58], edx
jmp 0x14006e264
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x14006fce8
mov eax, r12d
shr eax, 8
and eax, 1
mov dword [rdx], eax
test r12d, 0x200
je 0x14006fcfc
test byte [r13 + 0x10], 4
jne 0x14006ff8e
mov dword [r13 + 8], 0x3f36
mov rbp, r9
xor ebx, ebx
xor r12d, r12d
jmp 0x14006e9b5
cmp dword [rsp + 0xd8], 6
mov dword [r13 + 8], 0x3f47
jne case.0x14006df29.19
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, r8d
mov r8d, dword [rsp + 0x40]
sub r8d, eax
jmp 0x14006e384
mov ebx, ecx
mov esi, edx
jmp 0x14006eba2
mov ebx, ecx
mov esi, r8d
jmp 0x14006ed7c
mov r11, r14
mov r8d, dword [rsp + 0x40]
xor r14d, r14d
mov eax, ecx
jmp 0x14006e384
mov ecx, dword [r13 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
xor ebx, ebx
mov word [rsp + 0x6c], r12w
xor r12d, r12d
call fcn.140075270
mov edx, dword [r13 + 0x18]
mov dword [r13 + 0x20], eax
mov eax, edx
and eax, 0x400
jmp 0x14006e7b7
mov r11, r14
mov rbp, rax
jmp 0x14006f76b
call fcn.140074670
mov r11, qword [rsp + 0x40]
jmp 0x14006f82b
mov dword [r13 + 0x84], 0
xor r10d, r10d
mov dword [r13 + 8], 0x3f46
jmp 0x14006e617
mov eax, dword [rsp + 0x3c]
mov qword [rdi + 0x10], r14
mov r14d, 2
mov qword [rdi], rbp
mov dword [rdi + 8], esi
mov dword [rdi + 0x18], eax
mov dword [r13 + 0x48], r12d
mov dword [r13 + 0x4c], ebx
jmp 0x14006de7a
mov r14, rbp
jmp 0x14006e0df
mov r8d, dword [rsp + 0x40]
xor r14d, r14d
mov eax, dword [rsp + 0x3c]
mov r11, qword [rsp + 0x48]
sub r8d, eax
jmp 0x14006e384
cmp dword [r13 + 0x30], 0
jne 0x14006fe1f
mov dword [r13 + 0x30], 0xf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x48], r9
call fcn.140075270
lea rdx, [rsp + 0x6c]
xor r12d, r12d
xor ebx, ebx
mov ecx, eax
mov dword [r13 + 0x20], eax
movzx eax, word [0x14010d958]
mov r8d, 2
mov word [rsp + 0x6c], ax
call fcn.140075270
mov rbp, qword [rsp + 0x48]
mov dword [r13 + 8], 0x3f35
mov dword [r13 + 0x20], eax
jmp 0x14006eb61
mov r8d, dword [rsp + 0x40]
mov r11, r14
xor r14d, r14d
sub r8d, eax
jmp 0x14006e384
mov r11, r14
mov r8d, dword [rsp + 0x40]
xor r14d, r14d
mov eax, edx
jmp 0x14006e384
mov r9, rbp
jmp 0x14006f606
mov ebx, ecx
mov esi, r8d
jmp 0x14006f606
mov eax, dword [r13 + 0x30]
shr r12d, 4
mov ecx, r12d
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x14006ffc3
cmp ecx, 0xf
mov dword [r13 + 0x30], ecx
jbe 0x14006ffd4
lea rax, str.invalid_window_size
mov r11, r14
sub ebx, 4
mov qword [rdi + 0x20], rax
mov rbp, r9
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
lea rax, [r13 + 0x550]
mov dword [r13 + 0x70], 9
mov ecx, 1
mov qword [r13 + 0x88], rax
lea r10, [r13 + 0x310]
mov qword [r13 + 0x60], rax
lea rax, [r13 + 0x70]
lea r9, [r13 + 0x88]
mov qword [rsp + 0x28], r10
lea rdx, [r13 + 0x90]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x48], rdx
call fcn.140070b80
mov rdx, qword [rsp + 0x48]
test eax, eax
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
je 0x140070045
lea rax, str.invalid_literal_lengths_set
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
lea rax, str.invalid_bit_length_repeat
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
mov ecx, dword [r13 + 0x20]
lea rdx, [rsp + 0x6c]
mov qword [rsp + 0x48], r9
mov r8d, 2
mov word [rsp + 0x6c], r12w
call fcn.140075270
mov r9, qword [rsp + 0x48]
mov dword [r13 + 0x20], eax
jmp 0x14006fcfc
mov r11, r14
jmp 0x14006e246
cmp ecx, 0xf
ja 0x14006feca
cmp eax, ecx
jb 0x14006feca
mov eax, 1
xor r10d, r10d
xor r8d, r8d
mov qword [rsp + 0x48], r9
shl eax, cl
xor edx, edx
xor ecx, ecx
mov dword [r13 + 0x18], r10d
mov dword [r13 + 0x1c], eax
call fcn.140074670
and r12d, 0x200
mov r9, qword [rsp + 0x48]
mov dword [r13 + 0x20], eax
mov dword [rdi + 0x4c], eax
jne 0x1400700ca
mov dword [r13 + 8], 0x3f3f
xor ebx, ebx
mov rbp, r9
jmp case.0x14006df29.11
mov ecx, dword [rsp + 0x3c]
mov r11, r14
mov r14d, r8d
mov rbp, rax
mov r8d, dword [rsp + 0x40]
shr r12d, 3
sub ebx, 3
mov eax, ecx
sub r8d, ecx
jmp 0x14006e384
mov rax, qword [r13 + 0x88]
mov dword [r13 + 0x74], 6
mov ecx, 2
mov r8d, dword [r13 + 0x80]
mov qword [r13 + 0x68], rax
mov eax, dword [r13 + 0x7c]
mov qword [rsp + 0x28], r10
add rax, rax
add rdx, rax
lea rax, [r13 + 0x74]
mov qword [rsp + 0x20], rax
call fcn.140070b80
test eax, eax
mov r8d, eax
je 0x14006fd11
lea rax, str.invalid_distances_set
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r13 + 8], 0x3f51
jmp 0x14006e246
mov ebx, dword [rsp + 0x3c]
mov r11, r14
mov rbp, rax
xor r14d, r14d
mov r8d, dword [rsp + 0x40]
xor r12d, r12d
mov eax, dword [rsp + 0x3c]
sub r8d, ebx
xor ebx, ebx
jmp 0x14006e384
mov dword [r13 + 8], 0x3f3d
xor r12d, r12d
mov rbp, r9
xor ebx, ebx
jmp 0x14006df39