	.file	"241415.c"
	.intel_syntax noprefix
	.text
	.globl	mz_adler32
	.type	mz_adler32, @function
mz_adler32:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	and	eax, 65535
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	shr	rax, 16
	mov	DWORD PTR -12[rbp], eax
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, rcx
	shr	rax, 4
	movabs	rdx, 106321291491121335
	mul	rdx
	mov	rax, rdx
	shr	rax
	imul	rdx, rax, 5552
	mov	rax, rcx
	sub	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L4
	mov	eax, 1
	jmp	.L3
.L9:
	mov	DWORD PTR -20[rbp], 0
	jmp	.L5
.L6:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	DWORD PTR -12[rbp], eax
	add	DWORD PTR -20[rbp], 8
	add	QWORD PTR -48[rbp], 8
.L5:
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 7
	mov	eax, eax
	cmp	QWORD PTR -8[rbp], rax
	ja	.L6
	jmp	.L7
.L8:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	DWORD PTR -12[rbp], eax
	add	DWORD PTR -20[rbp], 1
.L7:
	mov	eax, DWORD PTR -20[rbp]
	cmp	QWORD PTR -8[rbp], rax
	ja	.L8
	mov	eax, DWORD PTR -16[rbp]
	mov	ecx, eax
	mov	edx, 2147975281
	imul	rdx, rcx
	shr	rdx, 32
	shr	edx, 15
	imul	edx, edx, 65521
	sub	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	ecx, eax
	mov	edx, 2147975281
	imul	rdx, rcx
	shr	rdx, 32
	shr	edx, 15
	imul	edx, edx, 65521
	sub	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	sub	QWORD PTR -56[rbp], rax
	mov	QWORD PTR -8[rbp], 5552
.L4:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L9
	mov	eax, DWORD PTR -12[rbp]
	sal	eax, 16
	mov	edx, eax
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	mov	eax, eax
.L3:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	mz_adler32, .-mz_adler32
	.globl	mz_crc32
	.type	mz_crc32, @function
mz_crc32:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR -4[rbp], eax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L11
	mov	eax, 0
	jmp	.L12
.L11:
	not	DWORD PTR -4[rbp]
	jmp	.L13
.L14:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -5[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 4
	mov	ecx, eax
	movzx	eax, BYTE PTR -5[rbp]
	xor	eax, DWORD PTR -4[rbp]
	and	eax, 15
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, s_crc32.18[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	eax, ecx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 4
	mov	ecx, eax
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 15
	mov	edx, eax
	movzx	eax, BYTE PTR -5[rbp]
	shr	al, 4
	movzx	eax, al
	xor	eax, edx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, s_crc32.18[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	eax, ecx
	mov	DWORD PTR -4[rbp], eax
.L13:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, -1[rax]
	mov	QWORD PTR -40[rbp], rdx
	test	rax, rax
	jne	.L14
	mov	eax, DWORD PTR -4[rbp]
	not	eax
	mov	eax, eax
.L12:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	mz_crc32, .-mz_crc32
	.globl	mz_free
	.type	mz_free, @function
mz_free:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	mz_free, .-mz_free
	.section	.rodata
.LC3:
	.string	"the_stack_data/241415.c"
.LC4:
	.string	"!num_bits"
.LC0:
	.string	"\005\005\004"
.LC1:
	.string	"\002\003\007"
.LC2:
	.string	"\003\003\013"
	.text
	.globl	tinfl_decompress
	.type	tinfl_decompress, @function
tinfl_decompress:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 512
	mov	QWORD PTR -472[rbp], rdi
	mov	QWORD PTR -480[rbp], rsi
	mov	QWORD PTR -488[rbp], rdx
	mov	QWORD PTR -496[rbp], rcx
	mov	QWORD PTR -504[rbp], r8
	mov	QWORD PTR -512[rbp], r9
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -480[rbp]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -488[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -480[rbp]
	add	rax, rdx
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -512[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -504[rbp]
	add	rax, rdx
	mov	QWORD PTR -184[rbp], rax
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 4
	test	eax, eax
	jne	.L17
	mov	rax, QWORD PTR -504[rbp]
	sub	rax, QWORD PTR -496[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -512[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, rdx
	sub	rax, 1
	jmp	.L18
.L17:
	mov	rax, -1
.L18:
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	add	rax, 1
	and	rax, QWORD PTR -176[rbp]
	test	rax, rax
	jne	.L19
	mov	rax, QWORD PTR -504[rbp]
	cmp	rax, QWORD PTR -496[rbp]
	jnb	.L20
.L19:
	mov	rax, QWORD PTR -512[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -512[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -488[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, -3
	jmp	.L21
.L20:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -448[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -444[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -440[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -436[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 53
	ja	.L22
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L24[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L24[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L24:
	.long	.L55-.L24
	.long	.L54-.L24
	.long	.L53-.L24
	.long	.L52-.L24
	.long	.L22-.L24
	.long	.L51-.L24
	.long	.L50-.L24
	.long	.L49-.L24
	.long	.L22-.L24
	.long	.L48-.L24
	.long	.L113-.L24
	.long	.L46-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L45-.L24
	.long	.L22-.L24
	.long	.L44-.L24
	.long	.L178-.L24
	.long	.L42-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L188-.L24
	.long	.L22-.L24
	.long	.L40-.L24
	.long	.L39-.L24
	.long	.L38-.L24
	.long	.L37-.L24
	.long	.L36-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L35-.L24
	.long	.L22-.L24
	.long	.L269-.L24
	.long	.L145-.L24
	.long	.L70-.L24
	.long	.L248-.L24
	.long	.L30-.L24
	.long	.L95-.L24
	.long	.L22-.L24
	.long	.L28-.L24
	.long	.L27-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L22-.L24
	.long	.L26-.L24
	.long	.L25-.L24
	.long	.L23-.L24
	.text
.L55:
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -436[rbp], eax
	mov	eax, DWORD PTR -436[rbp]
	mov	DWORD PTR -440[rbp], eax
	mov	eax, DWORD PTR -440[rbp]
	mov	DWORD PTR -444[rbp], eax
	mov	eax, DWORD PTR -444[rbp]
	mov	DWORD PTR -448[rbp], eax
	mov	eax, DWORD PTR -448[rbp]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 28[rax], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 1
	test	eax, eax
	je	.L56
	jmp	.L54
.L59:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L57
	mov	eax, 1
	jmp	.L58
.L57:
	mov	eax, -4
.L58:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 1
	jmp	.L22
.L54:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L59
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L53
.L62:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L60
	mov	eax, 1
	jmp	.L61
.L60:
	mov	eax, -4
.L61:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 2
	jmp	.L22
.L53:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L62
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 8[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	ecx, [rdx+rax]
	mov	eax, ecx
	imul	rax, rax, 138547333
	shr	rax, 32
	mov	rdx, rax
	mov	eax, ecx
	sub	eax, edx
	shr	eax
	add	eax, edx
	shr	eax, 4
	mov	edx, eax
	sal	edx, 5
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	test	eax, eax
	jne	.L63
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 12[rax]
	and	eax, 32
	test	eax, eax
	jne	.L63
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, 15
	cmp	eax, 8
	je	.L64
.L63:
	mov	eax, 1
	jmp	.L65
.L64:
	mov	eax, 0
.L65:
	mov	DWORD PTR -440[rbp], eax
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 4
	test	eax, eax
	jne	.L66
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 8[rax]
	shr	eax, 4
	add	eax, 8
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	cmp	eax, 32768
	ja	.L67
	mov	rax, QWORD PTR -176[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 8[rax]
	shr	eax, 4
	add	eax, 8
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	test	rax, rax
	jne	.L68
.L67:
	mov	eax, 1
	jmp	.L69
.L68:
	mov	eax, 0
.L69:
	or	DWORD PTR -440[rbp], eax
.L66:
	cmp	DWORD PTR -440[rbp], 0
	je	.L56
.L70:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 36
	jmp	.L22
.L56:
	cmp	DWORD PTR -448[rbp], 2
	ja	.L71
	jmp	.L52
.L74:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L72
	mov	eax, 1
	jmp	.L73
.L72:
	mov	eax, -4
.L73:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 3
	jmp	.L22
.L52:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L74
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -340[rbp], eax
	mov	edx, DWORD PTR -340[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	cmp	DWORD PTR -448[rbp], 2
	jbe	.L52
.L71:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 7
	mov	edx, eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 20[rax], edx
	shr	QWORD PTR -264[rbp], 3
	sub	DWORD PTR -448[rbp], 3
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 20[rax]
	shr	eax
	mov	edx, eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L76
	mov	eax, DWORD PTR -448[rbp]
	and	eax, 7
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L77
	jmp	.L51
.L80:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L78
	mov	eax, 1
	jmp	.L79
.L78:
	mov	eax, -4
.L79:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 5
	jmp	.L22
.L51:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L80
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -284[rbp], eax
	mov	edx, DWORD PTR -284[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	mov	eax, DWORD PTR -448[rbp]
	and	eax, 7
	cmp	DWORD PTR -448[rbp], eax
	jb	.L51
.L77:
	mov	eax, DWORD PTR -448[rbp]
	and	eax, 7
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	and	DWORD PTR -448[rbp], -8
	mov	DWORD PTR -440[rbp], 0
	jmp	.L82
.L93:
	cmp	DWORD PTR -448[rbp], 0
	je	.L49
	cmp	DWORD PTR -448[rbp], 7
	ja	.L84
	jmp	.L50
.L87:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L85
	mov	eax, 1
	jmp	.L86
.L85:
	mov	eax, -4
.L86:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 6
	jmp	.L22
.L50:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L87
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -268[rbp], eax
	mov	edx, DWORD PTR -268[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	cmp	DWORD PTR -448[rbp], 7
	jbe	.L50
.L84:
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, eax
	mov	rdx, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR -440[rbp]
	mov	BYTE PTR 10536[rdx+rax], cl
	shr	QWORD PTR -264[rbp], 8
	sub	DWORD PTR -448[rbp], 8
	jmp	.L89
.L92:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L90
	mov	eax, 1
	jmp	.L91
.L90:
	mov	eax, -4
.L91:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 7
	jmp	.L22
.L49:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L92
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rdx, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR -440[rbp]
	mov	BYTE PTR 10536[rdx+rax], cl
.L89:
	add	DWORD PTR -440[rbp], 1
.L82:
	cmp	DWORD PTR -440[rbp], 3
	jbe	.L93
	mov	rax, QWORD PTR -472[rbp]
	movzx	eax, BYTE PTR 10536[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -472[rbp]
	movzx	eax, BYTE PTR 10537[rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, edx
	mov	DWORD PTR -440[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	movzx	eax, BYTE PTR 10538[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -472[rbp]
	movzx	eax, BYTE PTR 10539[rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, edx
	xor	eax, 65535
	cmp	DWORD PTR -440[rbp], eax
	je	.L96
.L95:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 39
	jmp	.L22
.L104:
	cmp	DWORD PTR -448[rbp], 7
	ja	.L97
	jmp	.L26
.L100:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L98
	mov	eax, 1
	jmp	.L99
.L98:
	mov	eax, -4
.L99:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 51
	jmp	.L22
.L26:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L100
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	edx, DWORD PTR -272[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	cmp	DWORD PTR -448[rbp], 7
	jbe	.L26
.L97:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 255
	mov	DWORD PTR -444[rbp], eax
	shr	QWORD PTR -264[rbp], 8
	sub	DWORD PTR -448[rbp], 8
	jmp	.L25
.L102:
	mov	DWORD PTR -452[rbp], 2
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 52
	jmp	.L22
.L25:
	mov	rax, QWORD PTR -248[rbp]
	cmp	rax, QWORD PTR -184[rbp]
	jnb	.L102
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -248[rbp], rdx
	mov	edx, DWORD PTR -444[rbp]
	mov	BYTE PTR [rax], dl
	sub	DWORD PTR -440[rbp], 1
.L96:
	cmp	DWORD PTR -440[rbp], 0
	je	.L105
	cmp	DWORD PTR -448[rbp], 0
	jne	.L104
	jmp	.L105
.L106:
	mov	DWORD PTR -452[rbp], 2
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 9
	jmp	.L22
.L48:
	mov	rax, QWORD PTR -248[rbp]
	cmp	rax, QWORD PTR -184[rbp]
	jnb	.L106
	jmp	.L30
.L109:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L107
	mov	eax, 1
	jmp	.L108
.L107:
	mov	eax, -4
.L108:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 38
	jmp	.L22
.L30:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L109
	mov	edx, DWORD PTR -440[rbp]
	mov	rax, QWORD PTR -192[rbp]
	sub	rax, QWORD PTR -256[rbp]
	mov	rcx, rax
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR -248[rbp]
	cmp	rcx, rax
	cmovbe	rax, rcx
	cmp	rdx, rax
	cmovbe	rax, rdx
	mov	QWORD PTR -152[rbp], rax
	mov	rdx, QWORD PTR -152[rbp]
	mov	rcx, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -152[rbp]
	add	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	add	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	sub	DWORD PTR -440[rbp], eax
.L105:
	cmp	DWORD PTR -440[rbp], 0
	jne	.L48
	jmp	.L111
.L76:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 3
	jne	.L112
.L113:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 10
	jmp	.L22
.L112:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	jne	.L114
	mov	rax, QWORD PTR -472[rbp]
	add	rax, 72
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 44[rax], 288
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 48[rax], 32
	mov	rax, QWORD PTR -472[rbp]
	add	rax, 3560
	mov	edx, 32
	mov	esi, 5
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -432[rbp], 0
	jmp	.L115
.L116:
	mov	rax, QWORD PTR -232[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -232[rbp], rdx
	mov	BYTE PTR [rax], 8
	add	DWORD PTR -432[rbp], 1
.L115:
	cmp	DWORD PTR -432[rbp], 143
	jbe	.L116
	jmp	.L117
.L118:
	mov	rax, QWORD PTR -232[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -232[rbp], rdx
	mov	BYTE PTR [rax], 9
	add	DWORD PTR -432[rbp], 1
.L117:
	cmp	DWORD PTR -432[rbp], 255
	jbe	.L118
	jmp	.L119
.L120:
	mov	rax, QWORD PTR -232[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -232[rbp], rdx
	mov	BYTE PTR [rax], 7
	add	DWORD PTR -432[rbp], 1
.L119:
	cmp	DWORD PTR -432[rbp], 279
	jbe	.L120
	jmp	.L121
.L122:
	mov	rax, QWORD PTR -232[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -232[rbp], rdx
	mov	BYTE PTR [rax], 8
	add	DWORD PTR -432[rbp], 1
.L121:
	cmp	DWORD PTR -432[rbp], 287
	jbe	.L122
	jmp	.L138
.L114:
	mov	DWORD PTR -440[rbp], 0
	jmp	.L124
.L130:
	mov	eax, DWORD PTR -440[rbp]
	lea	rdx, .LC0[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L125
	jmp	.L46
.L128:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L126
	mov	eax, 1
	jmp	.L127
.L126:
	mov	eax, -4
.L127:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 11
	jmp	.L22
.L46:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L128
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -328[rbp], eax
	mov	edx, DWORD PTR -328[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	mov	eax, DWORD PTR -440[rbp]
	lea	rdx, .LC0[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	cmp	DWORD PTR -448[rbp], eax
	jb	.L46
.L125:
	mov	eax, DWORD PTR -440[rbp]
	lea	rdx, .LC0[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, edx
	and	ecx, eax
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR -440[rbp]
	add	rdx, 8
	mov	DWORD PTR 12[rax+rdx*4], ecx
	mov	eax, DWORD PTR -440[rbp]
	lea	rdx, .LC0[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -440[rbp]
	lea	rdx, .LC0[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	sub	DWORD PTR -448[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR -440[rbp]
	add	rdx, 8
	mov	ecx, DWORD PTR 12[rax+rdx*4]
	mov	eax, DWORD PTR -440[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, s_min_table_sizes.17[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	ecx, eax
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR -440[rbp]
	add	rdx, 8
	mov	DWORD PTR 12[rax+rdx*4], ecx
	add	DWORD PTR -440[rbp], 1
.L124:
	cmp	DWORD PTR -440[rbp], 2
	jbe	.L130
	mov	rax, QWORD PTR -472[rbp]
	add	rax, 7048
	mov	edx, 288
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -440[rbp], 0
	jmp	.L131
.L137:
	cmp	DWORD PTR -448[rbp], 2
	ja	.L132
	jmp	.L45
.L135:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L133
	mov	eax, 1
	jmp	.L134
.L133:
	mov	eax, -4
.L134:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 14
	jmp	.L22
.L45:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L135
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -336[rbp], eax
	mov	edx, DWORD PTR -336[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	cmp	DWORD PTR -448[rbp], 2
	jbe	.L45
.L132:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 7
	mov	DWORD PTR -332[rbp], eax
	shr	QWORD PTR -264[rbp], 3
	sub	DWORD PTR -448[rbp], 3
	mov	eax, DWORD PTR -440[rbp]
	lea	rdx, s_length_dezigzag.16[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	mov	edx, DWORD PTR -332[rbp]
	mov	ecx, edx
	mov	rdx, QWORD PTR -472[rbp]
	cdqe
	mov	BYTE PTR 7048[rdx+rax], cl
	add	DWORD PTR -440[rbp], 1
.L131:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	DWORD PTR -440[rbp], eax
	jb	.L137
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 52[rax], 19
	jmp	.L138
.L189:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, rax, 3488
	lea	rdx, 64[rax]
	mov	rax, QWORD PTR -472[rbp]
	add	rax, rdx
	add	rax, 8
	mov	QWORD PTR -168[rbp], rax
	lea	rax, -144[rbp]
	mov	edx, 64
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 288
	mov	edx, 2048
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 2336
	mov	edx, 1152
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -420[rbp], 0
	jmp	.L139
.L140:
	mov	rdx, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR -420[rbp]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	movsx	rdx, eax
	mov	edx, DWORD PTR -144[rbp+rdx*4]
	add	edx, 1
	cdqe
	mov	DWORD PTR -144[rbp+rax*4], edx
	add	DWORD PTR -420[rbp], 1
.L139:
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, edx
	add	rdx, 8
	mov	eax, DWORD PTR 12[rax+rdx*4]
	cmp	DWORD PTR -420[rbp], eax
	jb	.L140
	mov	DWORD PTR -412[rbp], 0
	mov	DWORD PTR -408[rbp], 0
	mov	DWORD PTR -76[rbp], 0
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -420[rbp], 1
	jmp	.L141
.L142:
	mov	eax, DWORD PTR -420[rbp]
	mov	eax, DWORD PTR -144[rbp+rax*4]
	add	DWORD PTR -412[rbp], eax
	mov	eax, DWORD PTR -420[rbp]
	mov	edx, DWORD PTR -144[rbp+rax*4]
	mov	eax, DWORD PTR -408[rbp]
	add	eax, edx
	add	eax, eax
	mov	DWORD PTR -408[rbp], eax
	mov	eax, DWORD PTR -420[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -408[rbp]
	mov	DWORD PTR -80[rbp+rdx*4], eax
	add	DWORD PTR -420[rbp], 1
.L141:
	cmp	DWORD PTR -420[rbp], 15
	jbe	.L142
	cmp	DWORD PTR -408[rbp], 65536
	je	.L143
	cmp	DWORD PTR -412[rbp], 1
	jbe	.L143
.L145:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 35
	jmp	.L22
.L143:
	mov	DWORD PTR -428[rbp], -1
	mov	DWORD PTR -404[rbp], 0
	jmp	.L146
.L159:
	mov	DWORD PTR -400[rbp], 0
	mov	rdx, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR -404[rbp]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -324[rbp], eax
	cmp	DWORD PTR -324[rbp], 0
	je	.L293
	mov	eax, DWORD PTR -324[rbp]
	mov	eax, DWORD PTR -80[rbp+rax*4]
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -324[rbp]
	mov	DWORD PTR -80[rbp+rdx*4], ecx
	mov	DWORD PTR -392[rbp], eax
	mov	eax, DWORD PTR -324[rbp]
	mov	DWORD PTR -396[rbp], eax
	jmp	.L149
.L150:
	mov	eax, DWORD PTR -400[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -392[rbp]
	and	eax, 1
	or	eax, edx
	mov	DWORD PTR -400[rbp], eax
	sub	DWORD PTR -396[rbp], 1
	shr	DWORD PTR -392[rbp]
.L149:
	cmp	DWORD PTR -396[rbp], 0
	jne	.L150
	cmp	DWORD PTR -324[rbp], 10
	ja	.L151
	mov	eax, DWORD PTR -324[rbp]
	sal	eax, 9
	mov	edx, eax
	mov	eax, DWORD PTR -404[rbp]
	or	eax, edx
	mov	WORD PTR -454[rbp], ax
	jmp	.L152
.L153:
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -400[rbp]
	lea	rcx, 144[rdx]
	movzx	edx, WORD PTR -454[rbp]
	mov	WORD PTR [rax+rcx*2], dx
	mov	eax, DWORD PTR -324[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	add	DWORD PTR -400[rbp], eax
.L152:
	cmp	DWORD PTR -400[rbp], 1023
	jbe	.L153
	jmp	.L148
.L151:
	mov	eax, DWORD PTR -400[rbp]
	and	eax, 1023
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	add	rdx, 144
	movzx	eax, WORD PTR [rax+rdx*2]
	cwde
	mov	DWORD PTR -424[rbp], eax
	cmp	DWORD PTR -424[rbp], 0
	jne	.L154
	mov	eax, DWORD PTR -400[rbp]
	and	eax, 1023
	mov	edx, eax
	mov	eax, DWORD PTR -428[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	add	rdx, 144
	mov	WORD PTR [rax+rdx*2], cx
	mov	eax, DWORD PTR -428[rbp]
	mov	DWORD PTR -424[rbp], eax
	sub	DWORD PTR -428[rbp], 2
.L154:
	shr	DWORD PTR -400[rbp], 9
	mov	eax, DWORD PTR -324[rbp]
	mov	DWORD PTR -416[rbp], eax
	jmp	.L155
.L158:
	shr	DWORD PTR -400[rbp]
	mov	eax, DWORD PTR -400[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -424[rbp]
	sub	eax, edx
	mov	DWORD PTR -424[rbp], eax
	mov	eax, DWORD PTR -424[rbp]
	not	eax
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	movsx	rdx, edx
	add	rdx, 1168
	movzx	eax, WORD PTR [rax+rdx*2]
	test	ax, ax
	jne	.L156
	mov	eax, DWORD PTR -424[rbp]
	not	eax
	mov	edx, eax
	mov	eax, DWORD PTR -428[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -168[rbp]
	movsx	rdx, edx
	add	rdx, 1168
	mov	WORD PTR [rax+rdx*2], cx
	mov	eax, DWORD PTR -428[rbp]
	mov	DWORD PTR -424[rbp], eax
	sub	DWORD PTR -428[rbp], 2
	jmp	.L157
.L156:
	mov	eax, DWORD PTR -424[rbp]
	not	eax
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	movsx	rdx, edx
	add	rdx, 1168
	movzx	eax, WORD PTR [rax+rdx*2]
	cwde
	mov	DWORD PTR -424[rbp], eax
.L157:
	sub	DWORD PTR -416[rbp], 1
.L155:
	cmp	DWORD PTR -416[rbp], 11
	ja	.L158
	shr	DWORD PTR -400[rbp]
	mov	eax, DWORD PTR -400[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -424[rbp]
	sub	eax, edx
	mov	DWORD PTR -424[rbp], eax
	mov	eax, DWORD PTR -424[rbp]
	not	eax
	mov	edx, eax
	mov	eax, DWORD PTR -404[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -168[rbp]
	movsx	rdx, edx
	add	rdx, 1168
	mov	WORD PTR [rax+rdx*2], cx
	jmp	.L148
.L293:
	nop
.L148:
	add	DWORD PTR -404[rbp], 1
.L146:
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, edx
	add	rdx, 8
	mov	eax, DWORD PTR 12[rax+rdx*4]
	cmp	DWORD PTR -404[rbp], eax
	jb	.L159
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 2
	jne	.L160
	mov	DWORD PTR -440[rbp], 0
	jmp	.L161
.L186:
	cmp	DWORD PTR -448[rbp], 14
	ja	.L162
	mov	rax, QWORD PTR -192[rbp]
	sub	rax, QWORD PTR -256[rbp]
	cmp	rax, 1
	jg	.L163
.L172:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 1023
	mov	rdx, rax
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 3664
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -388[rbp], eax
	cmp	DWORD PTR -388[rbp], 0
	js	.L164
	mov	eax, DWORD PTR -388[rbp]
	sar	eax, 9
	mov	DWORD PTR -384[rbp], eax
	cmp	DWORD PTR -384[rbp], 0
	je	.L44
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -384[rbp]
	jb	.L44
	jmp	.L162
.L164:
	cmp	DWORD PTR -448[rbp], 10
	jbe	.L44
	mov	DWORD PTR -384[rbp], 10
.L168:
	mov	eax, DWORD PTR -388[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -384[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -384[rbp], edx
	mov	rdx, QWORD PTR -264[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	and	eax, 1
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 4688
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -388[rbp], eax
	cmp	DWORD PTR -388[rbp], 0
	jns	.L167
	mov	eax, DWORD PTR -384[rbp]
	add	eax, 1
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L168
.L167:
	cmp	DWORD PTR -388[rbp], 0
	js	.L44
	jmp	.L162
.L171:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L169
	mov	eax, 1
	jmp	.L170
.L169:
	mov	eax, -4
.L170:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 16
	jmp	.L22
.L44:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L171
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -296[rbp], eax
	mov	edx, DWORD PTR -296[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	cmp	DWORD PTR -448[rbp], 14
	jbe	.L172
	jmp	.L162
.L163:
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -448[rbp]
	mov	rsi, rdx
	mov	ecx, eax
	sal	rsi, cl
	mov	rax, QWORD PTR -256[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -448[rbp]
	add	eax, 8
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	rax, rsi
	or	QWORD PTR -264[rbp], rax
	add	QWORD PTR -256[rbp], 2
	add	DWORD PTR -448[rbp], 16
.L162:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 1023
	mov	rdx, rax
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 3664
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -388[rbp], eax
	cmp	DWORD PTR -388[rbp], 0
	js	.L173
	mov	eax, DWORD PTR -388[rbp]
	sar	eax, 9
	mov	DWORD PTR -384[rbp], eax
	and	DWORD PTR -388[rbp], 511
	jmp	.L174
.L173:
	mov	DWORD PTR -384[rbp], 10
.L175:
	mov	eax, DWORD PTR -388[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -384[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -384[rbp], edx
	mov	rdx, QWORD PTR -264[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	and	eax, 1
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 4688
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -388[rbp], eax
	cmp	DWORD PTR -388[rbp], 0
	js	.L175
.L174:
	mov	eax, DWORD PTR -388[rbp]
	mov	DWORD PTR -444[rbp], eax
	mov	eax, DWORD PTR -384[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -384[rbp]
	sub	DWORD PTR -448[rbp], eax
	cmp	DWORD PTR -444[rbp], 15
	ja	.L176
	mov	edx, DWORD PTR -440[rbp]
	lea	eax, 1[rdx]
	mov	DWORD PTR -440[rbp], eax
	mov	eax, DWORD PTR -444[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, edx
	mov	BYTE PTR 10540[rax+rdx], cl
	jmp	.L161
.L176:
	cmp	DWORD PTR -444[rbp], 16
	jne	.L177
	cmp	DWORD PTR -440[rbp], 0
	jne	.L177
.L178:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 17
	jmp	.L22
.L177:
	mov	eax, DWORD PTR -444[rbp]
	sub	eax, 16
	mov	edx, eax
	lea	rax, .LC1[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	mov	DWORD PTR -436[rbp], eax
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -436[rbp]
	jnb	.L179
	jmp	.L42
.L182:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L180
	mov	eax, 1
	jmp	.L181
.L180:
	mov	eax, -4
.L181:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 18
	jmp	.L22
.L42:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L182
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -292[rbp], eax
	mov	edx, DWORD PTR -292[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -436[rbp]
	jb	.L42
.L179:
	mov	eax, DWORD PTR -436[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -264[rbp]
	and	eax, edx
	mov	DWORD PTR -288[rbp], eax
	mov	eax, DWORD PTR -436[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -436[rbp]
	sub	DWORD PTR -448[rbp], eax
	mov	eax, DWORD PTR -444[rbp]
	sub	eax, 16
	mov	edx, eax
	lea	rax, .LC2[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	add	DWORD PTR -288[rbp], eax
	mov	edx, DWORD PTR -288[rbp]
	cmp	DWORD PTR -444[rbp], 16
	jne	.L184
	mov	eax, DWORD PTR -440[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	ecx, ecx
	movzx	eax, BYTE PTR 10540[rax+rcx]
	movzx	eax, al
	jmp	.L185
.L184:
	mov	eax, 0
.L185:
	mov	rcx, QWORD PTR -472[rbp]
	lea	rsi, 10540[rcx]
	mov	ecx, DWORD PTR -440[rbp]
	add	rcx, rsi
	mov	esi, eax
	mov	rdi, rcx
	call	memset@PLT
	mov	eax, DWORD PTR -288[rbp]
	add	DWORD PTR -440[rbp], eax
.L161:
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 48[rax]
	add	eax, edx
	cmp	DWORD PTR -440[rbp], eax
	jb	.L186
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 48[rax]
	add	eax, edx
	cmp	DWORD PTR -440[rbp], eax
	je	.L187
.L188:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 21
	jmp	.L22
.L187:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -472[rbp]
	lea	rcx, 10540[rax]
	mov	rax, QWORD PTR -472[rbp]
	add	rax, 72
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -472[rbp]
	lea	rcx, 10540[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	eax, eax
	add	rcx, rax
	mov	rax, QWORD PTR -472[rbp]
	add	rax, 3560
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
.L160:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 24[rax], edx
.L138:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jns	.L189
	jmp	.L219
.L297:
	nop
.L219:
	mov	rax, QWORD PTR -192[rbp]
	sub	rax, QWORD PTR -256[rbp]
	cmp	rax, 3
	jle	.L190
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR -248[rbp]
	cmp	rax, 1
	jg	.L191
.L190:
	cmp	DWORD PTR -448[rbp], 14
	ja	.L192
	mov	rax, QWORD PTR -192[rbp]
	sub	rax, QWORD PTR -256[rbp]
	cmp	rax, 1
	jg	.L193
.L202:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 1023
	mov	rdx, rax
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 176
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -380[rbp], eax
	cmp	DWORD PTR -380[rbp], 0
	js	.L194
	mov	eax, DWORD PTR -380[rbp]
	sar	eax, 9
	mov	DWORD PTR -376[rbp], eax
	cmp	DWORD PTR -376[rbp], 0
	je	.L40
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -376[rbp]
	jb	.L40
	jmp	.L192
.L194:
	cmp	DWORD PTR -448[rbp], 10
	jbe	.L40
	mov	DWORD PTR -376[rbp], 10
.L198:
	mov	eax, DWORD PTR -380[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -376[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -376[rbp], edx
	mov	rdx, QWORD PTR -264[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	and	eax, 1
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 1200
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -380[rbp], eax
	cmp	DWORD PTR -380[rbp], 0
	jns	.L197
	mov	eax, DWORD PTR -376[rbp]
	add	eax, 1
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L198
.L197:
	cmp	DWORD PTR -380[rbp], 0
	js	.L40
	jmp	.L192
.L201:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L199
	mov	eax, 1
	jmp	.L200
.L199:
	mov	eax, -4
.L200:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 23
	jmp	.L22
.L40:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L201
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -320[rbp], eax
	mov	edx, DWORD PTR -320[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	cmp	DWORD PTR -448[rbp], 14
	jbe	.L202
	jmp	.L192
.L193:
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -448[rbp]
	mov	rsi, rdx
	mov	ecx, eax
	sal	rsi, cl
	mov	rax, QWORD PTR -256[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -448[rbp]
	add	eax, 8
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	rax, rsi
	or	QWORD PTR -264[rbp], rax
	add	QWORD PTR -256[rbp], 2
	add	DWORD PTR -448[rbp], 16
.L192:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 1023
	mov	rdx, rax
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 176
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -380[rbp], eax
	cmp	DWORD PTR -380[rbp], 0
	js	.L203
	mov	eax, DWORD PTR -380[rbp]
	sar	eax, 9
	mov	DWORD PTR -376[rbp], eax
	and	DWORD PTR -380[rbp], 511
	jmp	.L204
.L203:
	mov	DWORD PTR -376[rbp], 10
.L205:
	mov	eax, DWORD PTR -380[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -376[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -376[rbp], edx
	mov	rdx, QWORD PTR -264[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	and	eax, 1
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 1200
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -380[rbp], eax
	cmp	DWORD PTR -380[rbp], 0
	js	.L205
.L204:
	mov	eax, DWORD PTR -380[rbp]
	mov	DWORD PTR -440[rbp], eax
	mov	eax, DWORD PTR -376[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -376[rbp]
	sub	DWORD PTR -448[rbp], eax
	cmp	DWORD PTR -440[rbp], 255
	jbe	.L39
	jmp	.L207
.L208:
	mov	DWORD PTR -452[rbp], 2
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 24
	jmp	.L22
.L39:
	mov	rax, QWORD PTR -248[rbp]
	cmp	rax, QWORD PTR -184[rbp]
	jnb	.L208
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -248[rbp], rdx
	mov	edx, DWORD PTR -440[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L219
.L191:
	cmp	DWORD PTR -448[rbp], 29
	ja	.L210
	mov	rax, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	QWORD PTR -256[rbp], 4
	add	DWORD PTR -448[rbp], 32
.L210:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 1023
	mov	rdx, rax
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 176
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -372[rbp], eax
	cmp	DWORD PTR -372[rbp], 0
	js	.L211
	mov	eax, DWORD PTR -372[rbp]
	sar	eax, 9
	mov	DWORD PTR -368[rbp], eax
	jmp	.L212
.L211:
	mov	DWORD PTR -368[rbp], 10
.L213:
	mov	eax, DWORD PTR -372[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -368[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -368[rbp], edx
	mov	rdx, QWORD PTR -264[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	and	eax, 1
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 1200
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -372[rbp], eax
	cmp	DWORD PTR -372[rbp], 0
	js	.L213
.L212:
	mov	eax, DWORD PTR -372[rbp]
	mov	DWORD PTR -440[rbp], eax
	mov	eax, DWORD PTR -368[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -368[rbp]
	sub	DWORD PTR -448[rbp], eax
	mov	eax, DWORD PTR -440[rbp]
	and	eax, 256
	test	eax, eax
	jne	.L294
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 1023
	mov	rdx, rax
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 176
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -372[rbp], eax
	cmp	DWORD PTR -372[rbp], 0
	js	.L215
	mov	eax, DWORD PTR -372[rbp]
	sar	eax, 9
	mov	DWORD PTR -368[rbp], eax
	jmp	.L216
.L215:
	mov	DWORD PTR -368[rbp], 10
.L217:
	mov	eax, DWORD PTR -372[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -368[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -368[rbp], edx
	mov	rdx, QWORD PTR -264[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	and	eax, 1
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 1200
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -372[rbp], eax
	cmp	DWORD PTR -372[rbp], 0
	js	.L217
.L216:
	mov	eax, DWORD PTR -368[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -368[rbp]
	sub	DWORD PTR -448[rbp], eax
	mov	eax, DWORD PTR -440[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -372[rbp]
	and	eax, 256
	test	eax, eax
	je	.L218
	add	QWORD PTR -248[rbp], 1
	mov	eax, DWORD PTR -372[rbp]
	mov	DWORD PTR -440[rbp], eax
	jmp	.L207
.L218:
	mov	rax, QWORD PTR -248[rbp]
	add	rax, 1
	mov	edx, DWORD PTR -372[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -248[rbp], 2
	jmp	.L219
.L294:
	nop
.L207:
	and	DWORD PTR -440[rbp], 511
	cmp	DWORD PTR -440[rbp], 256
	je	.L295
	mov	eax, DWORD PTR -440[rbp]
	sub	eax, 257
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, s_length_extra.15[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -436[rbp], eax
	mov	eax, DWORD PTR -440[rbp]
	sub	eax, 257
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, s_length_base.14[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -440[rbp], eax
	cmp	DWORD PTR -436[rbp], 0
	je	.L221
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -436[rbp]
	jnb	.L222
	jmp	.L38
.L225:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L223
	mov	eax, 1
	jmp	.L224
.L223:
	mov	eax, -4
.L224:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 25
	jmp	.L22
.L38:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L225
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -316[rbp], eax
	mov	edx, DWORD PTR -316[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -436[rbp]
	jb	.L38
.L222:
	mov	eax, DWORD PTR -436[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -264[rbp]
	and	eax, edx
	mov	DWORD PTR -312[rbp], eax
	mov	eax, DWORD PTR -436[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -436[rbp]
	sub	DWORD PTR -448[rbp], eax
	mov	eax, DWORD PTR -312[rbp]
	add	DWORD PTR -440[rbp], eax
.L221:
	cmp	DWORD PTR -448[rbp], 14
	ja	.L227
	mov	rax, QWORD PTR -192[rbp]
	sub	rax, QWORD PTR -256[rbp]
	cmp	rax, 1
	jg	.L228
.L237:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 1023
	mov	rdx, rax
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 1920
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -364[rbp], eax
	cmp	DWORD PTR -364[rbp], 0
	js	.L229
	mov	eax, DWORD PTR -364[rbp]
	sar	eax, 9
	mov	DWORD PTR -360[rbp], eax
	cmp	DWORD PTR -360[rbp], 0
	je	.L37
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -360[rbp]
	jb	.L37
	jmp	.L227
.L229:
	cmp	DWORD PTR -448[rbp], 10
	jbe	.L37
	mov	DWORD PTR -360[rbp], 10
.L233:
	mov	eax, DWORD PTR -364[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -360[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -360[rbp], edx
	mov	rdx, QWORD PTR -264[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	and	eax, 1
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 2944
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -364[rbp], eax
	cmp	DWORD PTR -364[rbp], 0
	jns	.L232
	mov	eax, DWORD PTR -360[rbp]
	add	eax, 1
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L233
.L232:
	cmp	DWORD PTR -364[rbp], 0
	js	.L37
	jmp	.L227
.L236:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L234
	mov	eax, 1
	jmp	.L235
.L234:
	mov	eax, -4
.L235:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 26
	jmp	.L22
.L37:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L236
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -308[rbp], eax
	mov	edx, DWORD PTR -308[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	cmp	DWORD PTR -448[rbp], 14
	jbe	.L237
	jmp	.L227
.L228:
	mov	rax, QWORD PTR -256[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -448[rbp]
	mov	rsi, rdx
	mov	ecx, eax
	sal	rsi, cl
	mov	rax, QWORD PTR -256[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -448[rbp]
	add	eax, 8
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	rax, rsi
	or	QWORD PTR -264[rbp], rax
	add	QWORD PTR -256[rbp], 2
	add	DWORD PTR -448[rbp], 16
.L227:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 1023
	mov	rdx, rax
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 1920
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -364[rbp], eax
	cmp	DWORD PTR -364[rbp], 0
	js	.L238
	mov	eax, DWORD PTR -364[rbp]
	sar	eax, 9
	mov	DWORD PTR -360[rbp], eax
	and	DWORD PTR -364[rbp], 511
	jmp	.L239
.L238:
	mov	DWORD PTR -360[rbp], 10
.L240:
	mov	eax, DWORD PTR -364[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -360[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -360[rbp], edx
	mov	rdx, QWORD PTR -264[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	and	eax, 1
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -472[rbp]
	add	rdx, 2944
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -364[rbp], eax
	cmp	DWORD PTR -364[rbp], 0
	js	.L240
.L239:
	mov	eax, DWORD PTR -364[rbp]
	mov	DWORD PTR -444[rbp], eax
	mov	eax, DWORD PTR -360[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -360[rbp]
	sub	DWORD PTR -448[rbp], eax
	mov	eax, DWORD PTR -444[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, s_dist_extra.13[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -436[rbp], eax
	mov	eax, DWORD PTR -444[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, s_dist_base.12[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -444[rbp], eax
	cmp	DWORD PTR -436[rbp], 0
	je	.L241
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -436[rbp]
	jnb	.L242
	jmp	.L36
.L245:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L243
	mov	eax, 1
	jmp	.L244
.L243:
	mov	eax, -4
.L244:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 27
	jmp	.L22
.L36:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L245
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -304[rbp], eax
	mov	edx, DWORD PTR -304[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -436[rbp]
	jb	.L36
.L242:
	mov	eax, DWORD PTR -436[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -264[rbp]
	and	eax, edx
	mov	DWORD PTR -300[rbp], eax
	mov	eax, DWORD PTR -436[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -436[rbp]
	sub	DWORD PTR -448[rbp], eax
	mov	eax, DWORD PTR -300[rbp]
	add	DWORD PTR -444[rbp], eax
.L241:
	mov	rax, QWORD PTR -248[rbp]
	sub	rax, QWORD PTR -496[rbp]
	mov	QWORD PTR -240[rbp], rax
	mov	eax, DWORD PTR -444[rbp]
	cmp	QWORD PTR -240[rbp], rax
	jnb	.L247
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 4
	test	eax, eax
	je	.L247
.L248:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 37
	jmp	.L22
.L247:
	mov	edx, DWORD PTR -444[rbp]
	mov	rax, QWORD PTR -240[rbp]
	sub	rax, rdx
	and	rax, QWORD PTR -176[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -496[rbp]
	add	rax, rdx
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	cmp	QWORD PTR -224[rbp], rax
	cmovnb	rax, QWORD PTR -224[rbp]
	mov	rdx, rax
	mov	eax, DWORD PTR -440[rbp]
	add	rax, rdx
	cmp	QWORD PTR -184[rbp], rax
	jnb	.L249
	jmp	.L250
.L251:
	mov	DWORD PTR -452[rbp], 2
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 53
	jmp	.L22
.L23:
	mov	rax, QWORD PTR -248[rbp]
	cmp	rax, QWORD PTR -184[rbp]
	jnb	.L251
	mov	rax, QWORD PTR -240[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -240[rbp], rdx
	mov	edx, DWORD PTR -444[rbp]
	sub	rax, rdx
	and	rax, QWORD PTR -176[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -496[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -248[rbp], rdx
	movzx	edx, BYTE PTR [rcx]
	mov	BYTE PTR [rax], dl
.L250:
	mov	eax, DWORD PTR -440[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -440[rbp], edx
	test	eax, eax
	jne	.L23
	jmp	.L253
.L249:
	cmp	DWORD PTR -440[rbp], 8
	jbe	.L258
	mov	eax, DWORD PTR -440[rbp]
	cmp	eax, DWORD PTR -444[rbp]
	ja	.L258
	mov	eax, DWORD PTR -440[rbp]
	and	eax, 4294967288
	mov	rdx, rax
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	mov	QWORD PTR -160[rbp], rax
.L255:
	mov	rax, QWORD PTR -224[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, 4[rax]
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR [rdx], eax
	add	QWORD PTR -248[rbp], 8
	add	QWORD PTR -224[rbp], 8
	mov	rax, QWORD PTR -224[rbp]
	cmp	rax, QWORD PTR -160[rbp]
	jb	.L255
	and	DWORD PTR -440[rbp], 7
	cmp	DWORD PTR -440[rbp], 2
	ja	.L258
	cmp	DWORD PTR -440[rbp], 0
	je	.L296
	mov	rax, QWORD PTR -224[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], dl
	cmp	DWORD PTR -440[rbp], 1
	jbe	.L257
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 1[rax]
	mov	BYTE PTR [rdx], al
.L257:
	mov	eax, DWORD PTR -440[rbp]
	add	QWORD PTR -248[rbp], rax
	jmp	.L296
.L258:
	mov	rax, QWORD PTR -224[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 1[rax]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, 2[rax]
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 2[rax]
	mov	BYTE PTR [rdx], al
	add	QWORD PTR -248[rbp], 3
	add	QWORD PTR -224[rbp], 3
	sub	DWORD PTR -440[rbp], 3
	mov	eax, DWORD PTR -440[rbp]
	cmp	eax, 2
	jg	.L258
	mov	eax, DWORD PTR -440[rbp]
	test	eax, eax
	jle	.L297
	mov	rax, QWORD PTR -224[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -440[rbp]
	cmp	eax, 1
	jle	.L259
	mov	rax, QWORD PTR -248[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -224[rbp]
	movzx	eax, BYTE PTR 1[rax]
	mov	BYTE PTR [rdx], al
.L259:
	mov	eax, DWORD PTR -440[rbp]
	add	QWORD PTR -248[rbp], rax
	jmp	.L297
.L296:
	nop
.L253:
	jmp	.L297
.L295:
	nop
.L111:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 20[rax]
	and	eax, 1
	test	eax, eax
	je	.L56
	mov	eax, DWORD PTR -448[rbp]
	and	eax, 7
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L260
	jmp	.L35
.L263:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L261
	mov	eax, 1
	jmp	.L262
.L261:
	mov	eax, -4
.L262:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 32
	jmp	.L22
.L35:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L263
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -280[rbp], eax
	mov	edx, DWORD PTR -280[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	mov	eax, DWORD PTR -448[rbp]
	and	eax, 7
	cmp	DWORD PTR -448[rbp], eax
	jb	.L35
.L260:
	mov	eax, DWORD PTR -448[rbp]
	and	eax, 7
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	and	DWORD PTR -448[rbp], -8
	jmp	.L265
.L267:
	sub	QWORD PTR -256[rbp], 1
	sub	DWORD PTR -448[rbp], 8
.L265:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -480[rbp]
	jbe	.L266
	cmp	DWORD PTR -448[rbp], 7
	ja	.L267
.L266:
	mov	eax, DWORD PTR -448[rbp]
	mov	rdx, -1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	not	rax
	and	QWORD PTR -264[rbp], rax
	cmp	DWORD PTR -448[rbp], 0
	je	.L268
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 1707
	lea	rsi, .LC3[rip]
	lea	rdi, .LC4[rip]
	call	__assert_fail@PLT
.L268:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 1
	test	eax, eax
	je	.L269
	mov	DWORD PTR -440[rbp], 0
	jmp	.L270
.L281:
	cmp	DWORD PTR -448[rbp], 0
	je	.L27
	cmp	DWORD PTR -448[rbp], 7
	ja	.L272
	jmp	.L28
.L275:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L273
	mov	eax, 1
	jmp	.L274
.L273:
	mov	eax, -4
.L274:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 41
	jmp	.L22
.L28:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L275
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -276[rbp], eax
	mov	edx, DWORD PTR -276[rbp]
	mov	eax, DWORD PTR -448[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -264[rbp], rax
	add	DWORD PTR -448[rbp], 8
	cmp	DWORD PTR -448[rbp], 7
	jbe	.L28
.L272:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 255
	mov	DWORD PTR -356[rbp], eax
	shr	QWORD PTR -264[rbp], 8
	sub	DWORD PTR -448[rbp], 8
	jmp	.L277
.L280:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L278
	mov	eax, 1
	jmp	.L279
.L278:
	mov	eax, -4
.L279:
	mov	DWORD PTR -452[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 42
	jmp	.L22
.L27:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L280
	mov	rax, QWORD PTR -256[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -256[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -356[rbp], eax
.L277:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 16[rax]
	sal	eax, 8
	or	eax, DWORD PTR -356[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 16[rax], edx
	add	DWORD PTR -440[rbp], 1
.L270:
	cmp	DWORD PTR -440[rbp], 3
	jbe	.L281
.L269:
	mov	DWORD PTR -452[rbp], 0
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 34
	nop
.L22:
	cmp	DWORD PTR -452[rbp], 1
	je	.L282
	cmp	DWORD PTR -452[rbp], -4
	je	.L282
	jmp	.L283
.L284:
	sub	QWORD PTR -256[rbp], 1
	sub	DWORD PTR -448[rbp], 8
.L283:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -480[rbp]
	jbe	.L282
	cmp	DWORD PTR -448[rbp], 7
	ja	.L284
.L282:
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR -448[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	eax, DWORD PTR -448[rbp]
	mov	rdx, -1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	not	rax
	and	rax, QWORD PTR -264[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -472[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR -444[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR -440[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR -436[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -472[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -256[rbp]
	sub	rax, QWORD PTR -480[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -488[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -248[rbp]
	sub	rax, QWORD PTR -504[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -512[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 9
	test	eax, eax
	je	.L285
	cmp	DWORD PTR -452[rbp], 0
	js	.L285
	mov	rax, QWORD PTR -504[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -512[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 28[rax]
	and	eax, 65535
	mov	DWORD PTR -348[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 28[rax]
	shr	eax, 16
	mov	DWORD PTR -344[rbp], eax
	mov	rcx, QWORD PTR -208[rbp]
	mov	rax, rcx
	shr	rax, 4
	movabs	rdx, 106321291491121335
	mul	rdx
	mov	rax, rdx
	shr	rax
	imul	rdx, rax, 5552
	mov	rax, rcx
	sub	rax, rdx
	mov	QWORD PTR -200[rbp], rax
	jmp	.L286
.L291:
	mov	DWORD PTR -352[rbp], 0
	jmp	.L287
.L288:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -348[rbp]
	add	DWORD PTR -344[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -348[rbp]
	add	DWORD PTR -344[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -348[rbp]
	add	DWORD PTR -344[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -348[rbp]
	add	DWORD PTR -344[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -348[rbp]
	add	DWORD PTR -344[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -348[rbp]
	add	DWORD PTR -344[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -348[rbp]
	add	DWORD PTR -344[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -348[rbp]
	add	DWORD PTR -344[rbp], eax
	add	DWORD PTR -352[rbp], 8
	add	QWORD PTR -216[rbp], 8
.L287:
	mov	eax, DWORD PTR -352[rbp]
	add	eax, 7
	mov	eax, eax
	cmp	QWORD PTR -200[rbp], rax
	ja	.L288
	jmp	.L289
.L290:
	mov	rax, QWORD PTR -216[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -216[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -348[rbp]
	add	DWORD PTR -344[rbp], eax
	add	DWORD PTR -352[rbp], 1
.L289:
	mov	eax, DWORD PTR -352[rbp]
	cmp	QWORD PTR -200[rbp], rax
	ja	.L290
	mov	eax, DWORD PTR -348[rbp]
	mov	ecx, eax
	mov	edx, 2147975281
	imul	rdx, rcx
	shr	rdx, 32
	shr	edx, 15
	imul	edx, edx, 65521
	sub	eax, edx
	mov	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -344[rbp]
	mov	ecx, eax
	mov	edx, 2147975281
	imul	rdx, rcx
	shr	rdx, 32
	shr	edx, 15
	imul	edx, edx, 65521
	sub	eax, edx
	mov	DWORD PTR -344[rbp], eax
	mov	rax, QWORD PTR -200[rbp]
	sub	QWORD PTR -208[rbp], rax
	mov	QWORD PTR -200[rbp], 5552
.L286:
	cmp	QWORD PTR -208[rbp], 0
	jne	.L291
	mov	eax, DWORD PTR -344[rbp]
	sal	eax, 16
	mov	edx, eax
	mov	eax, DWORD PTR -348[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 28[rax], edx
	cmp	DWORD PTR -452[rbp], 0
	jne	.L285
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 1
	test	eax, eax
	je	.L285
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	edx, eax
	je	.L285
	mov	DWORD PTR -452[rbp], -2
.L285:
	mov	eax, DWORD PTR -452[rbp]
.L21:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L292
	call	__stack_chk_fail@PLT
.L292:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	tinfl_decompress, .-tinfl_decompress
	.globl	tinfl_decompress_mem_to_heap
	.type	tinfl_decompress_mem_to_heap, @function
tinfl_decompress_mem_to_heap:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 2912
	mov	QWORD PTR -11080[rbp], rdi
	mov	QWORD PTR -11088[rbp], rsi
	mov	QWORD PTR -11096[rbp], rdx
	mov	DWORD PTR -11100[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -11048[rbp], 0
	mov	QWORD PTR -11040[rbp], 0
	mov	QWORD PTR -11032[rbp], 0
	mov	rax, QWORD PTR -11096[rbp]
	mov	QWORD PTR [rax], 0
	mov	DWORD PTR -11008[rbp], 0
.L308:
	mov	rax, QWORD PTR -11088[rbp]
	sub	rax, QWORD PTR -11040[rbp]
	mov	QWORD PTR -11064[rbp], rax
	mov	rax, QWORD PTR -11096[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -11032[rbp]
	sub	rax, rdx
	mov	QWORD PTR -11056[rbp], rax
	mov	eax, DWORD PTR -11100[rbp]
	and	eax, -7
	or	eax, 4
	mov	r9d, eax
	cmp	QWORD PTR -11048[rbp], 0
	je	.L299
	mov	rax, QWORD PTR -11096[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -11048[rbp]
	lea	rdi, [rdx+rax]
	jmp	.L300
.L299:
	mov	edi, 0
.L300:
	mov	rdx, QWORD PTR -11080[rbp]
	mov	rax, QWORD PTR -11040[rbp]
	lea	rsi, [rdx+rax]
	lea	r8, -11056[rbp]
	mov	rcx, QWORD PTR -11048[rbp]
	lea	rdx, -11064[rbp]
	lea	rax, -11008[rbp]
	sub	rsp, 8
	push	r9
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	call	tinfl_decompress
	add	rsp, 16
	mov	DWORD PTR -11068[rbp], eax
	cmp	DWORD PTR -11068[rbp], 0
	js	.L301
	cmp	DWORD PTR -11068[rbp], 1
	jne	.L302
.L301:
	mov	rax, QWORD PTR -11048[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -11096[rbp]
	mov	QWORD PTR [rax], 0
	mov	eax, 0
	jmp	.L309
.L302:
	mov	rax, QWORD PTR -11064[rbp]
	add	QWORD PTR -11040[rbp], rax
	mov	rax, QWORD PTR -11096[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -11056[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -11096[rbp]
	mov	QWORD PTR [rax], rdx
	cmp	DWORD PTR -11068[rbp], 0
	jne	.L304
	mov	rax, QWORD PTR -11048[rbp]
	jmp	.L309
.L304:
	mov	rax, QWORD PTR -11032[rbp]
	add	rax, rax
	mov	QWORD PTR -11024[rbp], rax
	cmp	QWORD PTR -11024[rbp], 127
	ja	.L306
	mov	QWORD PTR -11024[rbp], 128
.L306:
	mov	rdx, QWORD PTR -11024[rbp]
	mov	rax, QWORD PTR -11048[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -11016[rbp], rax
	cmp	QWORD PTR -11016[rbp], 0
	jne	.L307
	mov	rax, QWORD PTR -11048[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -11096[rbp]
	mov	QWORD PTR [rax], 0
	mov	eax, 0
	jmp	.L309
.L307:
	mov	rax, QWORD PTR -11016[rbp]
	mov	QWORD PTR -11048[rbp], rax
	mov	rax, QWORD PTR -11024[rbp]
	mov	QWORD PTR -11032[rbp], rax
	jmp	.L308
.L309:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L310
	call	__stack_chk_fail@PLT
.L310:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	tinfl_decompress_mem_to_heap, .-tinfl_decompress_mem_to_heap
	.globl	tinfl_decompress_mem_to_mem
	.type	tinfl_decompress_mem_to_mem, @function
tinfl_decompress_mem_to_mem:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 2880
	mov	QWORD PTR -11032[rbp], rdi
	mov	QWORD PTR -11040[rbp], rsi
	mov	QWORD PTR -11048[rbp], rdx
	mov	QWORD PTR -11056[rbp], rcx
	mov	DWORD PTR -11060[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -11008[rbp], 0
	mov	eax, DWORD PTR -11060[rbp]
	and	eax, -7
	or	eax, 4
	mov	r9d, eax
	lea	r8, -11040[rbp]
	mov	rdi, QWORD PTR -11032[rbp]
	mov	rcx, QWORD PTR -11032[rbp]
	lea	rdx, -11056[rbp]
	mov	rsi, QWORD PTR -11048[rbp]
	lea	rax, -11008[rbp]
	sub	rsp, 8
	push	r9
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	call	tinfl_decompress
	add	rsp, 16
	mov	DWORD PTR -11012[rbp], eax
	cmp	DWORD PTR -11012[rbp], 0
	jne	.L312
	mov	rax, QWORD PTR -11040[rbp]
	jmp	.L314
.L312:
	mov	rax, -1
.L314:
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, QWORD PTR fs:40
	je	.L315
	call	__stack_chk_fail@PLT
.L315:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	tinfl_decompress_mem_to_mem, .-tinfl_decompress_mem_to_mem
	.globl	tinfl_decompress_mem_to_callback
	.type	tinfl_decompress_mem_to_callback, @function
tinfl_decompress_mem_to_callback:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 2912
	mov	QWORD PTR -11064[rbp], rdi
	mov	QWORD PTR -11072[rbp], rsi
	mov	QWORD PTR -11080[rbp], rdx
	mov	QWORD PTR -11088[rbp], rcx
	mov	DWORD PTR -11092[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -11056[rbp], 0
	mov	edi, 32768
	call	malloc@PLT
	mov	QWORD PTR -11016[rbp], rax
	mov	QWORD PTR -11032[rbp], 0
	mov	QWORD PTR -11024[rbp], 0
	cmp	QWORD PTR -11016[rbp], 0
	jne	.L317
	mov	eax, -1
	jmp	.L323
.L317:
	mov	DWORD PTR -11008[rbp], 0
.L322:
	mov	rax, QWORD PTR -11072[rbp]
	mov	rax, QWORD PTR [rax]
	sub	rax, QWORD PTR -11032[rbp]
	mov	QWORD PTR -11048[rbp], rax
	mov	eax, 32768
	sub	rax, QWORD PTR -11024[rbp]
	mov	QWORD PTR -11040[rbp], rax
	mov	eax, DWORD PTR -11092[rbp]
	and	eax, -7
	mov	edi, eax
	mov	rdx, QWORD PTR -11016[rbp]
	mov	rax, QWORD PTR -11024[rbp]
	lea	r10, [rdx+rax]
	mov	rdx, QWORD PTR -11064[rbp]
	mov	rax, QWORD PTR -11032[rbp]
	lea	rsi, [rdx+rax]
	lea	r8, -11040[rbp]
	mov	rcx, QWORD PTR -11016[rbp]
	lea	rdx, -11048[rbp]
	lea	rax, -11008[rbp]
	sub	rsp, 8
	push	rdi
	mov	r9, r8
	mov	r8, r10
	mov	rdi, rax
	call	tinfl_decompress
	add	rsp, 16
	mov	DWORD PTR -11052[rbp], eax
	mov	rax, QWORD PTR -11048[rbp]
	add	QWORD PTR -11032[rbp], rax
	mov	rax, QWORD PTR -11040[rbp]
	test	rax, rax
	je	.L319
	mov	rax, QWORD PTR -11040[rbp]
	mov	esi, eax
	mov	rdx, QWORD PTR -11016[rbp]
	mov	rax, QWORD PTR -11024[rbp]
	lea	rdi, [rdx+rax]
	mov	rax, QWORD PTR -11088[rbp]
	mov	rcx, QWORD PTR -11080[rbp]
	mov	rdx, rax
	call	rcx
	test	eax, eax
	je	.L325
.L319:
	cmp	DWORD PTR -11052[rbp], 2
	je	.L321
	cmp	DWORD PTR -11052[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -11056[rbp], eax
	jmp	.L320
.L321:
	mov	rdx, QWORD PTR -11040[rbp]
	mov	rax, QWORD PTR -11024[rbp]
	add	rax, rdx
	and	eax, 32767
	mov	QWORD PTR -11024[rbp], rax
	jmp	.L322
.L325:
	nop
.L320:
	mov	rax, QWORD PTR -11016[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -11072[rbp]
	mov	rdx, QWORD PTR -11032[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -11056[rbp]
.L323:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L324
	call	__stack_chk_fail@PLT
.L324:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	tinfl_decompress_mem_to_callback, .-tinfl_decompress_mem_to_callback
	.section	.rodata
	.align 32
	.type	s_tdefl_len_sym, @object
	.size	s_tdefl_len_sym, 512
s_tdefl_len_sym:
	.value	257
	.value	258
	.value	259
	.value	260
	.value	261
	.value	262
	.value	263
	.value	264
	.value	265
	.value	265
	.value	266
	.value	266
	.value	267
	.value	267
	.value	268
	.value	268
	.value	269
	.value	269
	.value	269
	.value	269
	.value	270
	.value	270
	.value	270
	.value	270
	.value	271
	.value	271
	.value	271
	.value	271
	.value	272
	.value	272
	.value	272
	.value	272
	.value	273
	.value	273
	.value	273
	.value	273
	.value	273
	.value	273
	.value	273
	.value	273
	.value	274
	.value	274
	.value	274
	.value	274
	.value	274
	.value	274
	.value	274
	.value	274
	.value	275
	.value	275
	.value	275
	.value	275
	.value	275
	.value	275
	.value	275
	.value	275
	.value	276
	.value	276
	.value	276
	.value	276
	.value	276
	.value	276
	.value	276
	.value	276
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	277
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	278
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	279
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	280
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	281
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	282
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	283
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	284
	.value	285
	.align 32
	.type	s_tdefl_len_extra, @object
	.size	s_tdefl_len_extra, 256
s_tdefl_len_extra:
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"\001\001\001\001\001\001\001\001\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.align 32
	.type	s_tdefl_small_dist_sym, @object
	.size	s_tdefl_small_dist_sym, 512
s_tdefl_small_dist_sym:
	.string	""
	.ascii	"\001\002\003\004\004\005\005\006\006\006\006\007\007\007\007"
	.ascii	"\b\b\b\b\b\b\b\b\t\t\t\t\t\t\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
	.ascii	"\n\n\013\013\013\013\013\013\013\013\013\013\013\013\013\013"
	.ascii	"\013\013\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f"
	.ascii	"\f\f\f\f\f\f\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r"
	.ascii	"\r\r\r\r\r\r\r\r\016\016\016\016\016\016\016\016\016\016\016"
	.ascii	"\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016"
	.ascii	"\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016"
	.ascii	"\016\016\016\016\016\016\016\016\016\016\016\016\016\016\016"
	.ascii	"\016\016\016\016\016\016\016\016\017\017\017\017\017\017\017"
	.ascii	"\017\017\017\017\017\017\017\017\017\017\017\017\017\017\017"
	.ascii	"\017\017\017\017\017\017\017\017\017\017\017\017\017\017\017"
	.ascii	"\017\017\017\017\017\017\017\017\017\017\017\017\017\017\017"
	.ascii	"\017\017\017\017\017\017\017\017\017\017\017\017\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.align 32
	.type	s_tdefl_small_dist_extra, @object
	.size	s_tdefl_small_dist_extra, 512
s_tdefl_small_dist_extra:
	.string	""
	.string	""
	.string	""
	.string	""
	.ascii	"\001\001\001\001\002\002\002\002\002\002\002\002\003\003\003"
	.ascii	"\003\003\003\003\003\003\003\003\003\003\003\003\003\004\004"
	.ascii	"\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004"
	.ascii	"\004\004\004\004\004\004\004\004\004\004\004\004\004\004\004"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.align 32
	.type	s_tdefl_large_dist_sym, @object
	.size	s_tdefl_large_dist_sym, 128
s_tdefl_large_dist_sym:
	.string	""
	.string	""
	.ascii	"\022\023\024\024\025\025\026\026\026\026\027\027\027\027\030"
	.ascii	"\030\030\030\030\030\030\030\031\031\031\031\031\031\031\031"
	.ascii	"\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032"
	.ascii	"\032\033\033\033\033\033\033\033\033\033\033\033\033\033\033"
	.ascii	"\033\033\034\034\034\034\034\034\034\034\034\034\034\034\034"
	.ascii	"\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034"
	.ascii	"\034\034\034\034\035\035\035\035\035\035\035\035\035\035\035"
	.ascii	"\035\035\035\035\035\035\035\035\035\035\035\035\035\035\035"
	.ascii	"\035\035\035\035\035\035"
	.align 32
	.type	s_tdefl_large_dist_extra, @object
	.size	s_tdefl_large_dist_extra, 128
s_tdefl_large_dist_extra:
	.string	""
	.string	""
	.ascii	"\b\b\t\t\t\t\n\n\n\n\n\n\n\n\013\013\013\013\013\013\013\013"
	.ascii	"\013\013\013\013\013\013\013\013\f\f\f\f\f\f\f\f\f\f\f\f\f\f"
	.ascii	"\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\r\r\r\r\r\r\r\r\r\r\r\r"
	.ascii	"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r"
	.ascii	"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r"
	.text
	.type	tdefl_radix_sort_syms, @function
tdefl_radix_sort_syms:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 3184
	mov	DWORD PTR -3156[rbp], edi
	mov	QWORD PTR -3168[rbp], rsi
	mov	QWORD PTR -3176[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -3144[rbp], 2
	mov	rax, QWORD PTR -3168[rbp]
	mov	QWORD PTR -3120[rbp], rax
	mov	rax, QWORD PTR -3176[rbp]
	mov	QWORD PTR -3112[rbp], rax
	lea	rax, -2064[rbp]
	mov	edx, 2048
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -3132[rbp], 0
	jmp	.L327
.L328:
	mov	eax, DWORD PTR -3132[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3168[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -3124[rbp], eax
	mov	eax, DWORD PTR -3124[rbp]
	movzx	edx, al
	mov	eax, edx
	mov	eax, DWORD PTR -2064[rbp+rax*4]
	add	eax, 1
	mov	edx, edx
	mov	DWORD PTR -2064[rbp+rdx*4], eax
	mov	eax, DWORD PTR -3124[rbp]
	shr	eax, 8
	movzx	eax, al
	lea	edx, 256[rax]
	mov	eax, edx
	mov	eax, DWORD PTR -2064[rbp+rax*4]
	add	eax, 1
	mov	edx, edx
	mov	DWORD PTR -2064[rbp+rdx*4], eax
	add	DWORD PTR -3132[rbp], 1
.L327:
	mov	eax, DWORD PTR -3132[rbp]
	cmp	eax, DWORD PTR -3156[rbp]
	jb	.L328
	jmp	.L329
.L331:
	sub	DWORD PTR -3144[rbp], 1
.L329:
	cmp	DWORD PTR -3144[rbp], 1
	jbe	.L330
	mov	eax, DWORD PTR -3144[rbp]
	sub	eax, 1
	sal	eax, 8
	mov	eax, eax
	mov	eax, DWORD PTR -2064[rbp+rax*4]
	cmp	DWORD PTR -3156[rbp], eax
	je	.L331
.L330:
	mov	DWORD PTR -3140[rbp], 0
	mov	DWORD PTR -3136[rbp], 0
	jmp	.L332
.L337:
	mov	eax, DWORD PTR -3136[rbp]
	sal	eax, 8
	mov	edx, eax
	lea	rax, -2064[rbp]
	mov	edx, edx
	sal	rdx, 2
	add	rax, rdx
	mov	QWORD PTR -3104[rbp], rax
	mov	DWORD PTR -3128[rbp], 0
	mov	DWORD PTR -3132[rbp], 0
	jmp	.L333
.L334:
	mov	eax, DWORD PTR -3132[rbp]
	mov	edx, DWORD PTR -3128[rbp]
	mov	DWORD PTR -3088[rbp+rax*4], edx
	mov	eax, DWORD PTR -3132[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3104[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	add	DWORD PTR -3128[rbp], eax
	add	DWORD PTR -3132[rbp], 1
.L333:
	cmp	DWORD PTR -3132[rbp], 255
	jbe	.L334
	mov	DWORD PTR -3132[rbp], 0
	jmp	.L335
.L336:
	mov	eax, DWORD PTR -3132[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3120[rbp]
	lea	rsi, [rdx+rax]
	mov	eax, DWORD PTR -3132[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3120[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	eax, DWORD PTR -3140[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	movzx	eax, al
	movsx	rdx, eax
	mov	edx, DWORD PTR -3088[rbp+rdx*4]
	lea	ecx, 1[rdx]
	cdqe
	mov	DWORD PTR -3088[rbp+rax*4], ecx
	mov	eax, edx
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR [rsi]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -3132[rbp], 1
.L335:
	mov	eax, DWORD PTR -3132[rbp]
	cmp	eax, DWORD PTR -3156[rbp]
	jb	.L336
	mov	rax, QWORD PTR -3120[rbp]
	mov	QWORD PTR -3096[rbp], rax
	mov	rax, QWORD PTR -3112[rbp]
	mov	QWORD PTR -3120[rbp], rax
	mov	rax, QWORD PTR -3096[rbp]
	mov	QWORD PTR -3112[rbp], rax
	add	DWORD PTR -3136[rbp], 1
	add	DWORD PTR -3140[rbp], 8
.L332:
	mov	eax, DWORD PTR -3136[rbp]
	cmp	eax, DWORD PTR -3144[rbp]
	jb	.L337
	mov	rax, QWORD PTR -3120[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L339
	call	__stack_chk_fail@PLT
.L339:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	tdefl_radix_sort_syms, .-tdefl_radix_sort_syms
	.type	tdefl_calculate_minimum_redundancy, @function
tdefl_calculate_minimum_redundancy:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	cmp	DWORD PTR -44[rbp], 0
	je	.L361
	cmp	DWORD PTR -44[rbp], 1
	jne	.L343
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR [rax], 1
	jmp	.L340
.L343:
	mov	rax, QWORD PTR -40[rbp]
	movzx	edx, WORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 4
	movzx	eax, WORD PTR [rax]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR [rax], dx
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 2
	mov	DWORD PTR -16[rbp], 1
	jmp	.L344
.L351:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jge	.L345
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	edx, WORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	cmp	dx, ax
	jnb	.L346
.L345:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, rcx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR [rdx], ax
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -24[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	mov	WORD PTR [rax], dx
	jmp	.L347
.L346:
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -20[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, rcx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR [rdx], ax
.L347:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jge	.L348
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jge	.L349
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	edx, WORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	cmp	dx, ax
	jnb	.L349
.L348:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	ecx, WORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	edx, WORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	add	edx, ecx
	mov	WORD PTR [rax], dx
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -24[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	mov	WORD PTR [rax], dx
	jmp	.L350
.L349:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	ecx, WORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -20[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	edx, WORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	add	edx, ecx
	mov	WORD PTR [rax], dx
.L350:
	add	DWORD PTR -16[rbp], 1
.L344:
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	jl	.L351
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 2
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 0
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 3
	mov	DWORD PTR -16[rbp], eax
	jmp	.L352
.L353:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	edx, WORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	add	edx, 1
	mov	WORD PTR [rax], dx
	sub	DWORD PTR -16[rbp], 1
.L352:
	cmp	DWORD PTR -16[rbp], 0
	jns	.L353
	mov	DWORD PTR -12[rbp], 1
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 2
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 1
	mov	DWORD PTR -16[rbp], eax
	jmp	.L354
.L357:
	add	DWORD PTR -8[rbp], 1
	sub	DWORD PTR -24[rbp], 1
.L355:
	cmp	DWORD PTR -24[rbp], 0
	js	.L358
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	cmp	DWORD PTR -4[rbp], eax
	je	.L357
	jmp	.L358
.L359:
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -16[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -4[rbp]
	mov	WORD PTR [rax], dx
	sub	DWORD PTR -12[rbp], 1
.L358:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jg	.L359
	mov	eax, DWORD PTR -8[rbp]
	add	eax, eax
	mov	DWORD PTR -12[rbp], eax
	add	DWORD PTR -4[rbp], 1
	mov	DWORD PTR -8[rbp], 0
.L354:
	cmp	DWORD PTR -12[rbp], 0
	jg	.L355
	jmp	.L340
.L361:
	nop
.L340:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	tdefl_calculate_minimum_redundancy, .-tdefl_calculate_minimum_redundancy
	.type	tdefl_huffman_enforce_max_code_size, @function
tdefl_huffman_enforce_max_code_size:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -4[rbp], 0
	cmp	DWORD PTR -28[rbp], 1
	jle	.L375
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
	jmp	.L365
.L366:
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	add	edx, ecx
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -8[rbp], 1
.L365:
	cmp	DWORD PTR -8[rbp], 32
	jle	.L366
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -8[rbp], eax
	jmp	.L367
.L368:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, DWORD PTR -8[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	add	DWORD PTR -4[rbp], eax
	sub	DWORD PTR -8[rbp], 1
.L367:
	cmp	DWORD PTR -8[rbp], 0
	jg	.L368
	jmp	.L369
.L374:
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	sub	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
	jmp	.L370
.L373:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L371
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	sub	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	add	edx, 2
	mov	DWORD PTR [rax], edx
	jmp	.L372
.L371:
	sub	DWORD PTR -8[rbp], 1
.L370:
	cmp	DWORD PTR -8[rbp], 0
	jg	.L373
.L372:
	sub	DWORD PTR -4[rbp], 1
.L369:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -32[rbp]
	mov	esi, 1
	mov	ecx, eax
	sal	rsi, cl
	mov	rax, rsi
	cmp	rdx, rax
	jne	.L374
	jmp	.L362
.L375:
	nop
.L362:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	tdefl_huffman_enforce_max_code_size, .-tdefl_huffman_enforce_max_code_size
	.type	tdefl_optimize_huffman_table, @function
tdefl_optimize_huffman_table:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 2544
	mov	QWORD PTR -2520[rbp], rdi
	mov	DWORD PTR -2524[rbp], esi
	mov	DWORD PTR -2528[rbp], edx
	mov	DWORD PTR -2532[rbp], ecx
	mov	DWORD PTR -2536[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -2464[rbp]
	mov	edx, 132
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	cmp	DWORD PTR -2536[rbp], 0
	je	.L377
	mov	DWORD PTR -2508[rbp], 0
	jmp	.L378
.L379:
	mov	rsi, QWORD PTR -2520[rbp]
	mov	eax, DWORD PTR -2508[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -2524[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 5
	add	rax, rsi
	add	rax, rcx
	add	rax, 36682
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	movsx	rdx, eax
	mov	edx, DWORD PTR -2464[rbp+rdx*4]
	add	edx, 1
	cdqe
	mov	DWORD PTR -2464[rbp+rax*4], edx
	add	DWORD PTR -2508[rbp], 1
.L378:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2528[rbp]
	jl	.L379
	jmp	.L380
.L377:
	mov	DWORD PTR -2496[rbp], 0
	mov	eax, DWORD PTR -2524[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 6
	lea	rdx, 33216[rax]
	mov	rax, QWORD PTR -2520[rbp]
	add	rax, rdx
	add	rax, 10
	mov	QWORD PTR -2480[rbp], rax
	mov	DWORD PTR -2508[rbp], 0
	jmp	.L381
.L383:
	mov	eax, DWORD PTR -2508[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -2480[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	test	ax, ax
	je	.L382
	mov	eax, DWORD PTR -2508[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -2480[rbp]
	add	rax, rdx
	movzx	edx, WORD PTR [rax]
	mov	eax, DWORD PTR -2496[rbp]
	cdqe
	mov	WORD PTR -2320[rbp+rax*4], dx
	mov	eax, DWORD PTR -2496[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -2496[rbp], edx
	mov	edx, DWORD PTR -2508[rbp]
	cdqe
	mov	WORD PTR -2318[rbp+rax*4], dx
.L382:
	add	DWORD PTR -2508[rbp], 1
.L381:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2528[rbp]
	jl	.L383
	mov	eax, DWORD PTR -2496[rbp]
	lea	rdx, -1168[rbp]
	lea	rcx, -2320[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	tdefl_radix_sort_syms
	mov	QWORD PTR -2472[rbp], rax
	mov	edx, DWORD PTR -2496[rbp]
	mov	rax, QWORD PTR -2472[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tdefl_calculate_minimum_redundancy
	mov	DWORD PTR -2508[rbp], 0
	jmp	.L384
.L385:
	mov	eax, DWORD PTR -2508[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2472[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	movsx	rdx, eax
	mov	edx, DWORD PTR -2464[rbp+rdx*4]
	add	edx, 1
	cdqe
	mov	DWORD PTR -2464[rbp+rax*4], edx
	add	DWORD PTR -2508[rbp], 1
.L384:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2496[rbp]
	jl	.L385
	mov	edx, DWORD PTR -2532[rbp]
	mov	ecx, DWORD PTR -2496[rbp]
	lea	rax, -2464[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	tdefl_huffman_enforce_max_code_size
	mov	eax, DWORD PTR -2524[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 5
	lea	rdx, 36672[rax]
	mov	rax, QWORD PTR -2520[rbp]
	add	rax, rdx
	add	rax, 10
	mov	edx, 288
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -2524[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 6
	lea	rdx, 34944[rax]
	mov	rax, QWORD PTR -2520[rbp]
	add	rax, rdx
	add	rax, 10
	mov	edx, 576
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -2508[rbp], 1
	mov	eax, DWORD PTR -2496[rbp]
	mov	DWORD PTR -2504[rbp], eax
	jmp	.L386
.L389:
	mov	eax, DWORD PTR -2508[rbp]
	cdqe
	mov	eax, DWORD PTR -2464[rbp+rax*4]
	mov	DWORD PTR -2500[rbp], eax
	jmp	.L387
.L388:
	sub	DWORD PTR -2504[rbp], 1
	mov	eax, DWORD PTR -2504[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2472[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR 2[rax]
	movzx	eax, ax
	mov	edx, DWORD PTR -2508[rbp]
	mov	ecx, edx
	mov	rdi, QWORD PTR -2520[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -2524[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 5
	add	rax, rdi
	add	rax, rsi
	add	rax, 36682
	mov	BYTE PTR [rax], cl
	sub	DWORD PTR -2500[rbp], 1
.L387:
	cmp	DWORD PTR -2500[rbp], 0
	jg	.L388
	add	DWORD PTR -2508[rbp], 1
.L386:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2532[rbp]
	jle	.L389
.L380:
	mov	DWORD PTR -1164[rbp], 0
	mov	DWORD PTR -2504[rbp], 0
	mov	DWORD PTR -2508[rbp], 2
	jmp	.L390
.L391:
	mov	eax, DWORD PTR -2508[rbp]
	sub	eax, 1
	cdqe
	mov	edx, DWORD PTR -2464[rbp+rax*4]
	mov	eax, DWORD PTR -2504[rbp]
	add	eax, edx
	add	eax, eax
	mov	DWORD PTR -2504[rbp], eax
	mov	edx, DWORD PTR -2504[rbp]
	mov	eax, DWORD PTR -2508[rbp]
	cdqe
	mov	DWORD PTR -1168[rbp+rax*4], edx
	add	DWORD PTR -2508[rbp], 1
.L390:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2532[rbp]
	jle	.L391
	mov	DWORD PTR -2508[rbp], 0
	jmp	.L392
.L397:
	mov	DWORD PTR -2492[rbp], 0
	mov	rsi, QWORD PTR -2520[rbp]
	mov	eax, DWORD PTR -2508[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -2524[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 5
	add	rax, rsi
	add	rax, rcx
	add	rax, 36682
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -2484[rbp], eax
	cmp	DWORD PTR -2484[rbp], 0
	je	.L399
	mov	eax, DWORD PTR -2484[rbp]
	mov	eax, DWORD PTR -1168[rbp+rax*4]
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -2484[rbp]
	mov	DWORD PTR -1168[rbp+rdx*4], ecx
	mov	DWORD PTR -2488[rbp], eax
	mov	eax, DWORD PTR -2484[rbp]
	mov	DWORD PTR -2500[rbp], eax
	jmp	.L395
.L396:
	mov	eax, DWORD PTR -2492[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -2488[rbp]
	and	eax, 1
	or	eax, edx
	mov	DWORD PTR -2492[rbp], eax
	sub	DWORD PTR -2500[rbp], 1
	shr	DWORD PTR -2488[rbp]
.L395:
	cmp	DWORD PTR -2500[rbp], 0
	jg	.L396
	mov	eax, DWORD PTR -2492[rbp]
	mov	esi, eax
	mov	rdx, QWORD PTR -2520[rbp]
	mov	eax, DWORD PTR -2508[rbp]
	movsx	rdi, eax
	mov	eax, DWORD PTR -2524[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 3
	add	rax, rcx
	sal	rax, 5
	add	rax, rdi
	add	rax, 17472
	mov	WORD PTR 10[rdx+rax*2], si
	jmp	.L394
.L399:
	nop
.L394:
	add	DWORD PTR -2508[rbp], 1
.L392:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2528[rbp]
	jl	.L397
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L398
	call	__stack_chk_fail@PLT
.L398:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	tdefl_optimize_huffman_table, .-tdefl_optimize_huffman_table
	.data
	.align 16
	.type	s_tdefl_packed_code_size_syms_swizzle, @object
	.size	s_tdefl_packed_code_size_syms_swizzle, 19
s_tdefl_packed_code_size_syms_swizzle:
	.string	"\020\021\022"
	.ascii	"\b\007\t\006\n\005\013\004\f\003\r\002\016\001\017"
	.section	.rodata
.LC5:
	.string	"bits <= ((1U << len) - 1U)"
	.align 8
.LC6:
	.string	"code < TDEFL_MAX_HUFF_SYMBOLS_2"
	.text
	.type	tdefl_start_dynamic_block, @function
tdefl_start_dynamic_block:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 784
	mov	QWORD PTR -776[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	BYTE PTR -754[rbp], -1
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 33738[rax], 1
	mov	rax, QWORD PTR -776[rbp]
	mov	r8d, 0
	mov	ecx, 15
	mov	edx, 288
	mov	esi, 0
	mov	rdi, rax
	call	tdefl_optimize_huffman_table
	mov	rax, QWORD PTR -776[rbp]
	mov	r8d, 0
	mov	ecx, 15
	mov	edx, 32
	mov	esi, 1
	mov	rdi, rax
	call	tdefl_optimize_huffman_table
	mov	DWORD PTR -752[rbp], 286
	jmp	.L401
.L404:
	mov	eax, DWORD PTR -752[rbp]
	sub	eax, 1
	mov	rdx, QWORD PTR -776[rbp]
	cdqe
	movzx	eax, BYTE PTR 36682[rdx+rax]
	test	al, al
	jne	.L488
	sub	DWORD PTR -752[rbp], 1
.L401:
	cmp	DWORD PTR -752[rbp], 257
	jg	.L404
	jmp	.L403
.L488:
	nop
.L403:
	mov	DWORD PTR -748[rbp], 30
	jmp	.L405
.L408:
	mov	eax, DWORD PTR -748[rbp]
	sub	eax, 1
	mov	rdx, QWORD PTR -776[rbp]
	cdqe
	movzx	eax, BYTE PTR 36970[rdx+rax]
	test	al, al
	jne	.L489
	sub	DWORD PTR -748[rbp], 1
.L405:
	cmp	DWORD PTR -748[rbp], 1
	jg	.L408
	jmp	.L407
.L489:
	nop
.L407:
	mov	eax, DWORD PTR -752[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -776[rbp]
	lea	rcx, 36682[rax]
	lea	rax, -656[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -748[rbp]
	cdqe
	mov	rdx, QWORD PTR -776[rbp]
	lea	rsi, 36970[rdx]
	mov	edx, DWORD PTR -752[rbp]
	movsx	rdx, edx
	lea	rcx, -656[rbp]
	add	rcx, rdx
	mov	rdx, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	edx, DWORD PTR -752[rbp]
	mov	eax, DWORD PTR -748[rbp]
	add	eax, edx
	mov	DWORD PTR -720[rbp], eax
	mov	DWORD PTR -736[rbp], 0
	mov	DWORD PTR -732[rbp], 0
	mov	DWORD PTR -728[rbp], 0
	mov	rax, QWORD PTR -776[rbp]
	add	rax, 34378
	mov	edx, 38
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -740[rbp], 0
	jmp	.L409
.L438:
	mov	eax, DWORD PTR -740[rbp]
	movzx	eax, BYTE PTR -656[rbp+rax]
	mov	BYTE PTR -753[rbp], al
	cmp	BYTE PTR -753[rbp], 0
	jne	.L410
	cmp	DWORD PTR -728[rbp], 0
	je	.L411
	cmp	DWORD PTR -728[rbp], 2
	ja	.L412
	movzx	edx, BYTE PTR -754[rbp]
	mov	rax, QWORD PTR -776[rbp]
	movsx	rdx, edx
	add	rdx, 17184
	movzx	ecx, WORD PTR 10[rax+rdx*2]
	mov	eax, DWORD PTR -728[rbp]
	movzx	edx, BYTE PTR -754[rbp]
	add	ecx, eax
	mov	rax, QWORD PTR -776[rbp]
	movsx	rdx, edx
	add	rdx, 17184
	mov	WORD PTR 10[rax+rdx*2], cx
	jmp	.L413
.L414:
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	edx, eax
	movzx	eax, BYTE PTR -754[rbp]
	mov	BYTE PTR -336[rbp+rdx], al
.L413:
	mov	eax, DWORD PTR -728[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -728[rbp], edx
	test	eax, eax
	jne	.L414
	jmp	.L415
.L412:
	mov	rax, QWORD PTR -776[rbp]
	movzx	eax, WORD PTR 34410[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34410[rax], dx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 16
	mov	eax, DWORD PTR -728[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	lea	edx, -3[rcx]
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], dl
.L415:
	mov	DWORD PTR -728[rbp], 0
.L411:
	add	DWORD PTR -732[rbp], 1
	cmp	DWORD PTR -732[rbp], 138
	jne	.L416
	cmp	DWORD PTR -732[rbp], 0
	je	.L416
	cmp	DWORD PTR -732[rbp], 2
	ja	.L417
	mov	rax, QWORD PTR -776[rbp]
	movzx	edx, WORD PTR 34378[rax]
	mov	eax, DWORD PTR -732[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34378[rax], dx
	jmp	.L418
.L419:
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 0
.L418:
	mov	eax, DWORD PTR -732[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -732[rbp], edx
	test	eax, eax
	jne	.L419
	jmp	.L420
.L417:
	cmp	DWORD PTR -732[rbp], 10
	ja	.L421
	mov	rax, QWORD PTR -776[rbp]
	movzx	eax, WORD PTR 34412[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34412[rax], dx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 17
	mov	eax, DWORD PTR -732[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	lea	edx, -3[rcx]
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], dl
	jmp	.L420
.L421:
	mov	rax, QWORD PTR -776[rbp]
	movzx	eax, WORD PTR 34414[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34414[rax], dx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 18
	mov	eax, DWORD PTR -732[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	lea	edx, -11[rcx]
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], dl
.L420:
	mov	DWORD PTR -732[rbp], 0
	jmp	.L416
.L410:
	cmp	DWORD PTR -732[rbp], 0
	je	.L422
	cmp	DWORD PTR -732[rbp], 2
	ja	.L423
	mov	rax, QWORD PTR -776[rbp]
	movzx	edx, WORD PTR 34378[rax]
	mov	eax, DWORD PTR -732[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34378[rax], dx
	jmp	.L424
.L425:
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 0
.L424:
	mov	eax, DWORD PTR -732[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -732[rbp], edx
	test	eax, eax
	jne	.L425
	jmp	.L426
.L423:
	cmp	DWORD PTR -732[rbp], 10
	ja	.L427
	mov	rax, QWORD PTR -776[rbp]
	movzx	eax, WORD PTR 34412[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34412[rax], dx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 17
	mov	eax, DWORD PTR -732[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	lea	edx, -3[rcx]
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], dl
	jmp	.L426
.L427:
	mov	rax, QWORD PTR -776[rbp]
	movzx	eax, WORD PTR 34414[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34414[rax], dx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 18
	mov	eax, DWORD PTR -732[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	lea	edx, -11[rcx]
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], dl
.L426:
	mov	DWORD PTR -732[rbp], 0
.L422:
	movzx	eax, BYTE PTR -753[rbp]
	cmp	al, BYTE PTR -754[rbp]
	je	.L428
	cmp	DWORD PTR -728[rbp], 0
	je	.L429
	cmp	DWORD PTR -728[rbp], 2
	ja	.L430
	movzx	edx, BYTE PTR -754[rbp]
	mov	rax, QWORD PTR -776[rbp]
	movsx	rdx, edx
	add	rdx, 17184
	movzx	ecx, WORD PTR 10[rax+rdx*2]
	mov	eax, DWORD PTR -728[rbp]
	movzx	edx, BYTE PTR -754[rbp]
	add	ecx, eax
	mov	rax, QWORD PTR -776[rbp]
	movsx	rdx, edx
	add	rdx, 17184
	mov	WORD PTR 10[rax+rdx*2], cx
	jmp	.L431
.L432:
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	edx, eax
	movzx	eax, BYTE PTR -754[rbp]
	mov	BYTE PTR -336[rbp+rdx], al
.L431:
	mov	eax, DWORD PTR -728[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -728[rbp], edx
	test	eax, eax
	jne	.L432
	jmp	.L433
.L430:
	mov	rax, QWORD PTR -776[rbp]
	movzx	eax, WORD PTR 34410[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34410[rax], dx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 16
	mov	eax, DWORD PTR -728[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	lea	edx, -3[rcx]
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], dl
.L433:
	mov	DWORD PTR -728[rbp], 0
.L429:
	movzx	edx, BYTE PTR -753[rbp]
	mov	rax, QWORD PTR -776[rbp]
	movsx	rdx, edx
	add	rdx, 17184
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	edx, BYTE PTR -753[rbp]
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	movsx	rdx, edx
	add	rdx, 17184
	mov	WORD PTR 10[rax+rdx*2], cx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	edx, eax
	movzx	eax, BYTE PTR -753[rbp]
	mov	BYTE PTR -336[rbp+rdx], al
	jmp	.L416
.L428:
	add	DWORD PTR -728[rbp], 1
	cmp	DWORD PTR -728[rbp], 6
	jne	.L416
	cmp	DWORD PTR -728[rbp], 0
	je	.L416
	cmp	DWORD PTR -728[rbp], 2
	ja	.L434
	movzx	edx, BYTE PTR -754[rbp]
	mov	rax, QWORD PTR -776[rbp]
	movsx	rdx, edx
	add	rdx, 17184
	movzx	ecx, WORD PTR 10[rax+rdx*2]
	mov	eax, DWORD PTR -728[rbp]
	movzx	edx, BYTE PTR -754[rbp]
	add	ecx, eax
	mov	rax, QWORD PTR -776[rbp]
	movsx	rdx, edx
	add	rdx, 17184
	mov	WORD PTR 10[rax+rdx*2], cx
	jmp	.L435
.L436:
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	edx, eax
	movzx	eax, BYTE PTR -754[rbp]
	mov	BYTE PTR -336[rbp+rdx], al
.L435:
	mov	eax, DWORD PTR -728[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -728[rbp], edx
	test	eax, eax
	jne	.L436
	jmp	.L437
.L434:
	mov	rax, QWORD PTR -776[rbp]
	movzx	eax, WORD PTR 34410[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34410[rax], dx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 16
	mov	eax, DWORD PTR -728[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	lea	edx, -3[rcx]
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], dl
.L437:
	mov	DWORD PTR -728[rbp], 0
.L416:
	movzx	eax, BYTE PTR -753[rbp]
	mov	BYTE PTR -754[rbp], al
	add	DWORD PTR -740[rbp], 1
.L409:
	mov	eax, DWORD PTR -740[rbp]
	cmp	eax, DWORD PTR -720[rbp]
	jb	.L438
	cmp	DWORD PTR -728[rbp], 0
	je	.L439
	cmp	DWORD PTR -728[rbp], 0
	je	.L440
	cmp	DWORD PTR -728[rbp], 2
	ja	.L441
	movzx	edx, BYTE PTR -754[rbp]
	mov	rax, QWORD PTR -776[rbp]
	movsx	rdx, edx
	add	rdx, 17184
	movzx	ecx, WORD PTR 10[rax+rdx*2]
	mov	eax, DWORD PTR -728[rbp]
	movzx	edx, BYTE PTR -754[rbp]
	add	ecx, eax
	mov	rax, QWORD PTR -776[rbp]
	movsx	rdx, edx
	add	rdx, 17184
	mov	WORD PTR 10[rax+rdx*2], cx
	jmp	.L442
.L443:
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	edx, eax
	movzx	eax, BYTE PTR -754[rbp]
	mov	BYTE PTR -336[rbp+rdx], al
.L442:
	mov	eax, DWORD PTR -728[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -728[rbp], edx
	test	eax, eax
	jne	.L443
	jmp	.L444
.L441:
	mov	rax, QWORD PTR -776[rbp]
	movzx	eax, WORD PTR 34410[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34410[rax], dx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 16
	mov	eax, DWORD PTR -728[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	lea	edx, -3[rcx]
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], dl
.L444:
	mov	DWORD PTR -728[rbp], 0
	jmp	.L440
.L439:
	cmp	DWORD PTR -732[rbp], 0
	je	.L440
	cmp	DWORD PTR -732[rbp], 2
	ja	.L445
	mov	rax, QWORD PTR -776[rbp]
	movzx	edx, WORD PTR 34378[rax]
	mov	eax, DWORD PTR -732[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34378[rax], dx
	jmp	.L446
.L447:
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 0
.L446:
	mov	eax, DWORD PTR -732[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -732[rbp], edx
	test	eax, eax
	jne	.L447
	jmp	.L448
.L445:
	cmp	DWORD PTR -732[rbp], 10
	ja	.L449
	mov	rax, QWORD PTR -776[rbp]
	movzx	eax, WORD PTR 34412[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34412[rax], dx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 17
	mov	eax, DWORD PTR -732[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	lea	edx, -3[rcx]
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], dl
	jmp	.L448
.L449:
	mov	rax, QWORD PTR -776[rbp]
	movzx	eax, WORD PTR 34414[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	WORD PTR 34414[rax], dx
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], 18
	mov	eax, DWORD PTR -732[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -736[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -736[rbp], edx
	lea	edx, -11[rcx]
	mov	eax, eax
	mov	BYTE PTR -336[rbp+rax], dl
.L448:
	mov	DWORD PTR -732[rbp], 0
.L440:
	mov	rax, QWORD PTR -776[rbp]
	mov	r8d, 0
	mov	ecx, 7
	mov	edx, 19
	mov	esi, 2
	mov	rdi, rax
	call	tdefl_optimize_huffman_table
	mov	DWORD PTR -716[rbp], 2
	mov	DWORD PTR -712[rbp], 2
	mov	eax, DWORD PTR -712[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -716[rbp], eax
	jbe	.L450
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2024
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L450:
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -716[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -712[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L451
.L453:
	mov	rax, QWORD PTR -776[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L452
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -776[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L452:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
.L451:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L453
	mov	eax, DWORD PTR -752[rbp]
	sub	eax, 257
	mov	DWORD PTR -708[rbp], eax
	mov	DWORD PTR -704[rbp], 5
	mov	eax, DWORD PTR -704[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -708[rbp], eax
	jbe	.L454
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2026
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L454:
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -708[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -704[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L455
.L457:
	mov	rax, QWORD PTR -776[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L456
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -776[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L456:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
.L455:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L457
	mov	eax, DWORD PTR -748[rbp]
	sub	eax, 1
	mov	DWORD PTR -700[rbp], eax
	mov	DWORD PTR -696[rbp], 5
	mov	eax, DWORD PTR -696[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -700[rbp], eax
	jbe	.L458
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2027
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L458:
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -700[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -696[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L459
.L461:
	mov	rax, QWORD PTR -776[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L460
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -776[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L460:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
.L459:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L461
	mov	DWORD PTR -744[rbp], 18
	jmp	.L462
.L465:
	mov	eax, DWORD PTR -744[rbp]
	cdqe
	lea	rdx, s_tdefl_packed_code_size_syms_swizzle[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	mov	rdx, QWORD PTR -776[rbp]
	cdqe
	movzx	eax, BYTE PTR 37258[rdx+rax]
	test	al, al
	jne	.L490
	sub	DWORD PTR -744[rbp], 1
.L462:
	cmp	DWORD PTR -744[rbp], 0
	jns	.L465
	jmp	.L464
.L490:
	nop
.L464:
	mov	eax, 3
	cmp	DWORD PTR -744[rbp], 3
	cmovge	eax, DWORD PTR -744[rbp]
	add	eax, 1
	mov	DWORD PTR -744[rbp], eax
	mov	eax, DWORD PTR -744[rbp]
	sub	eax, 4
	mov	DWORD PTR -692[rbp], eax
	mov	DWORD PTR -688[rbp], 4
	mov	eax, DWORD PTR -688[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -692[rbp], eax
	jbe	.L466
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2030
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L466:
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -692[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -688[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L467
.L469:
	mov	rax, QWORD PTR -776[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L468
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -776[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L468:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
.L467:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L469
	mov	DWORD PTR -740[rbp], 0
	jmp	.L470
.L475:
	mov	eax, DWORD PTR -740[rbp]
	lea	rdx, s_tdefl_packed_code_size_syms_swizzle[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	mov	rdx, QWORD PTR -776[rbp]
	cdqe
	movzx	eax, BYTE PTR 37258[rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -664[rbp], eax
	mov	DWORD PTR -660[rbp], 3
	mov	eax, DWORD PTR -660[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -664[rbp], eax
	jbe	.L471
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2031
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L471:
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -664[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -660[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L472
.L474:
	mov	rax, QWORD PTR -776[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L473
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -776[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L473:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
.L472:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L474
	add	DWORD PTR -740[rbp], 1
.L470:
	mov	eax, DWORD PTR -740[rbp]
	cmp	DWORD PTR -744[rbp], eax
	jg	.L475
	mov	DWORD PTR -724[rbp], 0
	jmp	.L476
.L486:
	mov	eax, DWORD PTR -724[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -724[rbp], edx
	mov	eax, eax
	movzx	eax, BYTE PTR -336[rbp+rax]
	movzx	eax, al
	mov	DWORD PTR -684[rbp], eax
	cmp	DWORD PTR -684[rbp], 18
	jbe	.L477
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2035
	lea	rsi, .LC3[rip]
	lea	rdi, .LC6[rip]
	call	__assert_fail@PLT
.L477:
	mov	rax, QWORD PTR -776[rbp]
	mov	edx, DWORD PTR -684[rbp]
	add	rdx, 18048
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	eax, ax
	mov	DWORD PTR -680[rbp], eax
	mov	rdx, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR -684[rbp]
	movzx	eax, BYTE PTR 37258[rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -676[rbp], eax
	mov	eax, DWORD PTR -676[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -680[rbp], eax
	jbe	.L478
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2036
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L478:
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -680[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -676[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L479
.L481:
	mov	rax, QWORD PTR -776[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L480
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -776[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L480:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
.L479:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L481
	cmp	DWORD PTR -684[rbp], 15
	jbe	.L476
	mov	eax, DWORD PTR -724[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -724[rbp], edx
	mov	eax, eax
	movzx	eax, BYTE PTR -336[rbp+rax]
	movzx	eax, al
	mov	DWORD PTR -672[rbp], eax
	mov	eax, DWORD PTR -684[rbp]
	sub	eax, 16
	mov	edx, eax
	lea	rax, .LC1[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	mov	DWORD PTR -668[rbp], eax
	mov	eax, DWORD PTR -668[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -672[rbp], eax
	jbe	.L482
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2037
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L482:
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -672[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -668[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L483
.L485:
	mov	rax, QWORD PTR -776[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L484
	mov	rax, QWORD PTR -776[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -776[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L484:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -776[rbp]
	mov	DWORD PTR 92[rax], edx
.L483:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L485
.L476:
	mov	eax, DWORD PTR -724[rbp]
	cmp	eax, DWORD PTR -736[rbp]
	jb	.L486
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L487
	call	__stack_chk_fail@PLT
.L487:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	tdefl_start_dynamic_block, .-tdefl_start_dynamic_block
	.type	tdefl_start_static_block, @function
tdefl_start_static_block:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 36682
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L492
.L493:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 8
	add	DWORD PTR -20[rbp], 1
.L492:
	cmp	DWORD PTR -20[rbp], 143
	jbe	.L493
	jmp	.L494
.L495:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 9
	add	DWORD PTR -20[rbp], 1
.L494:
	cmp	DWORD PTR -20[rbp], 255
	jbe	.L495
	jmp	.L496
.L497:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 7
	add	DWORD PTR -20[rbp], 1
.L496:
	cmp	DWORD PTR -20[rbp], 279
	jbe	.L497
	jmp	.L498
.L499:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 8
	add	DWORD PTR -20[rbp], 1
.L498:
	cmp	DWORD PTR -20[rbp], 287
	jbe	.L499
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 36970
	mov	edx, 32
	mov	esi, 5
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, 1
	mov	ecx, 15
	mov	edx, 288
	mov	esi, 0
	mov	rdi, rax
	call	tdefl_optimize_huffman_table
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, 1
	mov	ecx, 15
	mov	edx, 32
	mov	esi, 1
	mov	rdi, rax
	call	tdefl_optimize_huffman_table
	mov	DWORD PTR -16[rbp], 1
	mov	DWORD PTR -12[rbp], 2
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	jbe	.L500
	lea	rcx, __PRETTY_FUNCTION__.9[rip]
	mov	edx, 2056
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L500:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -16[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L501
.L503:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L502
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L502:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 92[rax], edx
.L501:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L503
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	tdefl_start_static_block, .-tdefl_start_static_block
	.section	.rodata
	.align 32
	.type	mz_bitmasks, @object
	.size	mz_bitmasks, 68
mz_bitmasks:
	.long	0
	.long	1
	.long	3
	.long	7
	.long	15
	.long	31
	.long	63
	.long	127
	.long	255
	.long	511
	.long	1023
	.long	2047
	.long	4095
	.long	8191
	.long	16383
	.long	32767
	.long	65535
	.align 8
.LC7:
	.string	"d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]"
.LC8:
	.string	"d->m_huff_code_sizes[1][sym]"
.LC9:
	.string	"d->m_huff_code_sizes[0][lit]"
	.text
	.type	tdefl_compress_lz_codes, @function
tdefl_compress_lz_codes:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 96[rax]
	mov	eax, eax
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	DWORD PTR -92[rbp], eax
	mov	DWORD PTR -96[rbp], 1
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 37546
	mov	QWORD PTR -32[rbp], rax
	jmp	.L505
.L520:
	cmp	DWORD PTR -96[rbp], 1
	jne	.L506
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	ah, 1
	mov	DWORD PTR -96[rbp], eax
.L506:
	mov	eax, DWORD PTR -96[rbp]
	and	eax, 1
	test	eax, eax
	je	.L507
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -60[rbp], eax
	add	QWORD PTR -32[rbp], 3
	mov	eax, DWORD PTR -64[rbp]
	lea	rdx, [rax+rax]
	lea	rax, s_tdefl_len_sym[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	mov	rdx, QWORD PTR -104[rbp]
	cdqe
	movzx	eax, BYTE PTR 36682[rdx+rax]
	test	al, al
	jne	.L508
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 2084
	lea	rsi, .LC3[rip]
	lea	rdi, .LC7[rip]
	call	__assert_fail@PLT
.L508:
	mov	eax, DWORD PTR -64[rbp]
	lea	rdx, [rax+rax]
	lea	rax, s_tdefl_len_sym[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -104[rbp]
	movsx	rdx, edx
	add	rdx, 17472
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	edx, ax
	mov	eax, DWORD PTR -92[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -64[rbp]
	lea	rdx, [rax+rax]
	lea	rax, s_tdefl_len_sym[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	mov	rdx, QWORD PTR -104[rbp]
	cdqe
	movzx	eax, BYTE PTR 36682[rdx+rax]
	movzx	eax, al
	add	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	lea	rdx, s_tdefl_len_extra[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, mz_bitmasks[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, DWORD PTR -64[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -92[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -64[rbp]
	lea	rdx, s_tdefl_len_extra[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	add	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 511
	mov	edx, eax
	lea	rax, s_tdefl_small_dist_sym[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 511
	mov	edx, eax
	lea	rax, s_tdefl_small_dist_extra[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	shr	eax, 8
	mov	edx, eax
	lea	rax, s_tdefl_large_dist_sym[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	shr	eax, 8
	mov	edx, eax
	lea	rax, s_tdefl_large_dist_extra[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -60[rbp], 511
	ja	.L509
	mov	eax, DWORD PTR -56[rbp]
	jmp	.L510
.L509:
	mov	eax, DWORD PTR -48[rbp]
.L510:
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -60[rbp], 511
	ja	.L511
	mov	eax, DWORD PTR -52[rbp]
	jmp	.L512
.L511:
	mov	eax, DWORD PTR -44[rbp]
.L512:
	mov	DWORD PTR -36[rbp], eax
	mov	rdx, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 36970[rdx+rax]
	test	al, al
	jne	.L513
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 2096
	lea	rsi, .LC3[rip]
	lea	rdi, .LC8[rip]
	call	__assert_fail@PLT
.L513:
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR -40[rbp]
	add	rdx, 17760
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	edx, ax
	mov	eax, DWORD PTR -92[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 36970[rdx+rax]
	movzx	eax, al
	add	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, mz_bitmasks[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, DWORD PTR -60[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -92[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	add	DWORD PTR -92[rbp], eax
	jmp	.L514
.L507:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -68[rbp], eax
	mov	rdx, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR 36682[rdx+rax]
	test	al, al
	jne	.L515
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 2103
	lea	rsi, .LC3[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L515:
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR -68[rbp]
	add	rdx, 17472
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	edx, ax
	mov	eax, DWORD PTR -92[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR 36682[rdx+rax]
	movzx	eax, al
	add	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -96[rbp]
	and	eax, 2
	test	eax, eax
	jne	.L514
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jnb	.L514
	shr	DWORD PTR -96[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -68[rbp], eax
	mov	rdx, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR 36682[rdx+rax]
	test	al, al
	jne	.L516
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 2110
	lea	rsi, .LC3[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L516:
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR -68[rbp]
	add	rdx, 17472
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	edx, ax
	mov	eax, DWORD PTR -92[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR 36682[rdx+rax]
	movzx	eax, al
	add	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -96[rbp]
	and	eax, 2
	test	eax, eax
	jne	.L514
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jnb	.L514
	shr	DWORD PTR -96[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -68[rbp], eax
	mov	rdx, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR 36682[rdx+rax]
	test	al, al
	jne	.L517
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 2117
	lea	rsi, .LC3[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L517:
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR -68[rbp]
	add	rdx, 17472
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	edx, ax
	mov	eax, DWORD PTR -92[rbp]
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR -68[rbp]
	movzx	eax, BYTE PTR 36682[rdx+rax]
	movzx	eax, al
	add	DWORD PTR -92[rbp], eax
.L514:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	QWORD PTR -24[rbp], rax
	jb	.L518
	mov	eax, 0
	jmp	.L519
.L518:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -92[rbp]
	shr	eax, 3
	mov	eax, eax
	add	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -92[rbp]
	and	eax, -8
	mov	ecx, eax
	shr	QWORD PTR -16[rbp], cl
	and	DWORD PTR -92[rbp], 7
	shr	DWORD PTR -96[rbp]
.L505:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jb	.L520
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 92[rax], 0
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 96[rax], 0
	jmp	.L521
.L526:
	mov	eax, 16
	cmp	DWORD PTR -92[rbp], 16
	cmovbe	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -80[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, mz_bitmasks[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, ecx
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -76[rbp], eax
	jbe	.L522
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 2141
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L522:
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -76[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -72[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L523
.L525:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L524
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L524:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 92[rax], edx
.L523:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L525
	mov	eax, DWORD PTR -80[rbp]
	mov	ecx, eax
	shr	QWORD PTR -16[rbp], cl
	mov	eax, DWORD PTR -80[rbp]
	sub	DWORD PTR -92[rbp], eax
.L521:
	cmp	DWORD PTR -92[rbp], 0
	jne	.L526
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, WORD PTR 35466[rax]
	movzx	eax, ax
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR 36938[rax]
	movzx	eax, al
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -88[rbp], eax
	jbe	.L527
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 2146
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L527:
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -88[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -84[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L528
.L530:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L529
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L529:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 92[rax], edx
.L528:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L530
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	setb	al
	movzx	eax, al
.L519:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	tdefl_compress_lz_codes, .-tdefl_compress_lz_codes
	.type	tdefl_compress_block, @function
tdefl_compress_block:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	cmp	DWORD PTR -12[rbp], 0
	je	.L532
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_start_static_block
	jmp	.L533
.L532:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_start_dynamic_block
.L533:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_compress_lz_codes
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	tdefl_compress_block, .-tdefl_compress_block
	.section	.rodata
.LC10:
	.string	"!d->m_output_flush_remaining"
	.align 8
.LC11:
	.string	"d->m_pOutput_buf < d->m_pOutput_buf_end"
	.text
	.type	tdefl_flush_block, @function
tdefl_flush_block:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -168[rbp], rdi
	mov	DWORD PTR -172[rbp], esi
	mov	DWORD PTR -156[rbp], 0
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 524288
	test	eax, eax
	je	.L536
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 88[rax]
	sub	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	edx, eax
	ja	.L536
	mov	eax, 1
	jmp	.L537
.L536:
	mov	eax, 0
.L537:
	mov	DWORD PTR -132[rbp], eax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L538
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 160[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rcx, QWORD PTR 192[rax]
	mov	rax, rdx
	sub	rax, rcx
	cmp	rax, 85195
	jbe	.L538
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 144[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 192[rax]
	add	rax, rdx
	jmp	.L539
.L538:
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 234154
.L539:
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rdx, 85180[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	je	.L540
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2216
	lea	rsi, .LC3[rip]
	lea	rdi, .LC10[rip]
	call	__assert_fail@PLT
.L540:
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 112[rax], 0
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 116[rax], 0
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 56[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 80[rax]
	mov	ecx, eax
	sar	edx, cl
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 80[rax]
	cmp	eax, 8
	sete	al
	movzx	eax, al
	neg	rax
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 4096
	test	eax, eax
	je	.L541
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 124[rax]
	test	eax, eax
	jne	.L541
	mov	DWORD PTR -128[rbp], 120
	mov	DWORD PTR -124[rbp], 8
	mov	eax, DWORD PTR -124[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -128[rbp], eax
	jbe	.L542
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2225
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L542:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -128[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -124[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L543
.L545:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L544
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L544:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L543:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L545
	mov	DWORD PTR -120[rbp], 1
	mov	DWORD PTR -116[rbp], 8
	mov	eax, DWORD PTR -116[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -120[rbp], eax
	jbe	.L546
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2225
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L546:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -120[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -116[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L547
.L549:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L548
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L548:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L547:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L549
.L541:
	cmp	DWORD PTR -172[rbp], 4
	sete	al
	movzx	eax, al
	mov	DWORD PTR -112[rbp], eax
	mov	DWORD PTR -108[rbp], 1
	mov	eax, DWORD PTR -108[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -112[rbp], eax
	jbe	.L550
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2228
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L550:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -112[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -108[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L551
.L553:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L552
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L552:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L551:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L553
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -132[rbp], 0
	jne	.L554
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 262144
	test	eax, eax
	jne	.L555
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 84[rax]
	cmp	eax, 47
	ja	.L556
.L555:
	mov	edx, 1
	jmp	.L557
.L556:
	mov	edx, 0
.L557:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tdefl_compress_block
	mov	DWORD PTR -156[rbp], eax
.L554:
	cmp	DWORD PTR -132[rbp], 0
	jne	.L558
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 84[rax]
	test	eax, eax
	je	.L559
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	sub	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 84[rax]
	mov	eax, eax
	cmp	rdx, rax
	jl	.L559
.L558:
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 88[rax]
	sub	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	edx, eax
	ja	.L559
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -104[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -100[rbp]
	mov	DWORD PTR 92[rax], edx
	mov	DWORD PTR -96[rbp], 0
	mov	DWORD PTR -92[rbp], 2
	mov	eax, DWORD PTR -92[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -96[rbp], eax
	jbe	.L560
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2240
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L560:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -96[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -92[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L561
.L563:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L562
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L562:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L561:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L563
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	je	.L564
	mov	DWORD PTR -88[rbp], 0
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, 8
	sub	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -88[rbp], eax
	jbe	.L565
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2241
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L565:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -88[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -84[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L566
.L568:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L567
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L567:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L566:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L568
.L564:
	mov	DWORD PTR -152[rbp], 2
	jmp	.L569
.L574:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 84[rax]
	and	eax, 65535
	mov	DWORD PTR -72[rbp], eax
	mov	DWORD PTR -68[rbp], 16
	mov	eax, DWORD PTR -68[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -72[rbp], eax
	jbe	.L570
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2244
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L570:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -72[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -68[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L571
.L573:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L572
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L572:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L571:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L573
	sub	DWORD PTR -152[rbp], 1
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 84[rax]
	xor	eax, 65535
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 84[rax], edx
.L569:
	cmp	DWORD PTR -152[rbp], 0
	jne	.L574
	mov	DWORD PTR -152[rbp], 0
	jmp	.L575
.L580:
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 88[rax]
	mov	eax, DWORD PTR -152[rbp]
	add	eax, edx
	and	eax, 32767
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 200[rax+rdx]
	movzx	eax, al
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -76[rbp], 8
	mov	eax, DWORD PTR -76[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -80[rbp], eax
	jbe	.L576
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2248
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L576:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -80[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -76[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L577
.L579:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L578
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L578:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L577:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L579
	add	DWORD PTR -152[rbp], 1
.L575:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 84[rax]
	cmp	DWORD PTR -152[rbp], eax
	jb	.L580
	jmp	.L581
.L559:
	cmp	DWORD PTR -156[rbp], 0
	jne	.L581
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -104[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -100[rbp]
	mov	DWORD PTR 92[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	tdefl_compress_block
.L581:
	cmp	DWORD PTR -172[rbp], 0
	je	.L582
	cmp	DWORD PTR -172[rbp], 4
	jne	.L583
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	je	.L584
	mov	DWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, 8
	sub	eax, edx
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -40[rbp], eax
	jbe	.L585
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2262
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L585:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -40[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -36[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L586
.L588:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L587
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L587:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L586:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L588
.L584:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 4096
	test	eax, eax
	je	.L582
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -144[rbp], eax
	mov	DWORD PTR -148[rbp], 0
	jmp	.L589
.L594:
	mov	eax, DWORD PTR -144[rbp]
	shr	eax, 24
	mov	DWORD PTR -32[rbp], eax
	mov	DWORD PTR -28[rbp], 8
	mov	eax, DWORD PTR -28[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -32[rbp], eax
	jbe	.L590
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2263
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L590:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -32[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -28[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L591
.L593:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L592
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L592:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L591:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L593
	sal	DWORD PTR -144[rbp], 8
	add	DWORD PTR -148[rbp], 1
.L589:
	cmp	DWORD PTR -148[rbp], 3
	jbe	.L594
	jmp	.L582
.L583:
	mov	DWORD PTR -136[rbp], 0
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -60[rbp], 3
	mov	eax, DWORD PTR -60[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -64[rbp], eax
	jbe	.L595
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2267
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L595:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -64[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -60[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L596
.L598:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L597
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L597:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L596:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L598
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	je	.L599
	mov	DWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, 8
	sub	eax, edx
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -56[rbp], eax
	jbe	.L600
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2267
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L600:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -56[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -52[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L601
.L603:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L602
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L602:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L601:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L603
.L599:
	mov	DWORD PTR -140[rbp], 2
	jmp	.L604
.L609:
	mov	eax, DWORD PTR -136[rbp]
	movzx	eax, ax
	mov	DWORD PTR -48[rbp], eax
	mov	DWORD PTR -44[rbp], 16
	mov	eax, DWORD PTR -44[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -48[rbp], eax
	jbe	.L605
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2267
	lea	rsi, .LC3[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L605:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	edx, DWORD PTR -48[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L606
.L608:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jnb	.L607
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 64[rdx], rcx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
.L607:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 96[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 92[rax], edx
.L606:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L608
	sub	DWORD PTR -140[rbp], 1
	xor	DWORD PTR -136[rbp], 65535
.L604:
	cmp	DWORD PTR -140[rbp], 0
	jne	.L609
.L582:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	rdx, rax
	jb	.L610
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2271
	lea	rsi, .LC3[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L610:
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 33226
	mov	edx, 576
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 33802
	mov	edx, 64
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 37546
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	lea	rdx, 37546[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 80[rax], 8
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 84[rax]
	add	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 88[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 84[rax], 0
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 124[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 124[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 64[rax]
	sub	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L611
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L612
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 176[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 136[rax]
	sub	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 152[rax]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -168[rbp]
	lea	rdi, 234154[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	call	rcx
	test	eax, eax
	jne	.L611
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 132[rax], -1
	mov	eax, -1
	jmp	.L613
.L612:
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 234154
	cmp	QWORD PTR -16[rbp], rax
	jne	.L614
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 160[rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, rcx
	sub	rax, rsi
	cmp	rdx, rax
	jb	.L615
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 160[rax]
	mov	rax, QWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 192[rax]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	jmp	.L616
.L615:
	mov	eax, DWORD PTR -24[rbp]
.L616:
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	mov	rdx, QWORD PTR -168[rbp]
	lea	rsi, 234154[rdx]
	mov	rdx, QWORD PTR -168[rbp]
	mov	rcx, QWORD PTR 144[rdx]
	mov	rdx, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 192[rdx]
	add	rcx, rdx
	mov	rdx, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 192[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR 192[rax], rdx
	mov	eax, DWORD PTR -20[rbp]
	sub	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L611
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 112[rax], edx
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 116[rax], edx
	jmp	.L611
.L614:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 192[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR 192[rax], rdx
.L611:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 116[rax]
.L613:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	tdefl_flush_block, .-tdefl_flush_block
	.section	.rodata
	.align 8
.LC12:
	.string	"(cur_match_len >= TDEFL_MIN_MATCH_LEN) && (cur_match_dist >= 1) && (cur_match_dist <= TDEFL_LZ_DICT_SIZE)"
	.align 8
.LC13:
	.string	"lookahead_size >= cur_match_len"
	.text
	.type	tdefl_compress_fast, @function
tdefl_compress_fast:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -136[rbp], rdi
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	DWORD PTR -112[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 84[rax]
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 80[rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -120[rbp]
	and	eax, 32767
	mov	DWORD PTR -100[rbp], eax
	jmp	.L618
.L650:
	mov	DWORD PTR -80[rbp], 4096
	mov	edx, DWORD PTR -120[rbp]
	mov	eax, DWORD PTR -116[rbp]
	add	eax, edx
	and	eax, 32767
	mov	DWORD PTR -96[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 184[rax]
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -116[rbp]
	mov	eax, eax
	cmp	rdx, rax
	jnb	.L619
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 184[rax]
	jmp	.L620
.L619:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -116[rbp]
.L620:
	mov	DWORD PTR -92[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	ecx, DWORD PTR -92[rbp]
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR 184[rax], rdx
	mov	eax, DWORD PTR -92[rbp]
	add	DWORD PTR -116[rbp], eax
	jmp	.L621
.L623:
	mov	eax, 32768
	sub	eax, DWORD PTR -96[rbp]
	cmp	DWORD PTR -92[rbp], eax
	cmovbe	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rcx, QWORD PTR -136[rbp]
	lea	rsi, 200[rcx]
	mov	ecx, DWORD PTR -96[rbp]
	add	rcx, rsi
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	cmp	DWORD PTR -96[rbp], 256
	ja	.L622
	mov	eax, 257
	sub	eax, DWORD PTR -96[rbp]
	cmp	DWORD PTR -44[rbp], eax
	cmovbe	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -136[rbp]
	lea	rcx, 200[rdx]
	mov	edx, DWORD PTR -96[rbp]
	add	rdx, 32768
	add	rcx, rdx
	mov	rdx, rsi
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
.L622:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 176[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR 176[rax], rdx
	mov	edx, DWORD PTR -96[rbp]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	and	eax, 32767
	mov	DWORD PTR -96[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	sub	DWORD PTR -92[rbp], eax
.L621:
	cmp	DWORD PTR -92[rbp], 0
	jne	.L623
	mov	eax, 32768
	sub	eax, DWORD PTR -116[rbp]
	cmp	DWORD PTR -112[rbp], eax
	cmovbe	eax, DWORD PTR -112[rbp]
	mov	DWORD PTR -112[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 168[rax]
	test	eax, eax
	jne	.L626
	mov	eax, DWORD PTR -116[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jb	.L652
	jmp	.L626
.L645:
	mov	DWORD PTR -88[rbp], 1
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 200[rax]
	mov	eax, DWORD PTR -100[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, 16777215
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	shr	eax, 17
	xor	eax, DWORD PTR -72[rbp]
	and	eax, 4095
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -68[rbp]
	add	rdx, 84304
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	eax, ax
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -120[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -68[rbp]
	add	rdx, 84304
	mov	WORD PTR 10[rax+rdx*2], cx
	mov	eax, DWORD PTR -120[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	eax, ax
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	ja	.L627
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 200[rax]
	and	DWORD PTR -64[rbp], 32767
	mov	eax, DWORD PTR -64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	and	eax, 16777215
	cmp	DWORD PTR -72[rbp], eax
	jne	.L627
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, 200[rax]
	mov	eax, DWORD PTR -64[rbp]
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -84[rbp], 32
.L629:
	add	QWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, WORD PTR [rax]
	add	QWORD PTR -16[rbp], 2
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, WORD PTR [rax]
	cmp	dx, ax
	jne	.L628
	add	QWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, WORD PTR [rax]
	add	QWORD PTR -16[rbp], 2
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, WORD PTR [rax]
	cmp	dx, ax
	jne	.L628
	add	QWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, WORD PTR [rax]
	add	QWORD PTR -16[rbp], 2
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, WORD PTR [rax]
	cmp	dx, ax
	jne	.L628
	add	QWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, WORD PTR [rax]
	add	QWORD PTR -16[rbp], 2
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, WORD PTR [rax]
	cmp	dx, ax
	jne	.L628
	sub	DWORD PTR -84[rbp], 1
	cmp	DWORD PTR -84[rbp], 0
	jne	.L629
.L628:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR -8[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	sete	al
	movzx	eax, al
	add	eax, ecx
	mov	DWORD PTR -88[rbp], eax
	cmp	DWORD PTR -84[rbp], 0
	jne	.L630
	cmp	DWORD PTR -60[rbp], 0
	je	.L631
	mov	eax, 258
	jmp	.L632
.L631:
	mov	eax, 0
.L632:
	mov	DWORD PTR -88[rbp], eax
.L630:
	cmp	DWORD PTR -88[rbp], 2
	jbe	.L633
	cmp	DWORD PTR -88[rbp], 3
	jne	.L634
	cmp	DWORD PTR -60[rbp], 8191
	jbe	.L634
.L633:
	mov	DWORD PTR -88[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, DWORD PTR -72[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	shr	al
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -72[rbp]
	movzx	eax, al
	mov	rdx, QWORD PTR -136[rbp]
	movsx	rcx, eax
	add	rcx, 16608
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -136[rbp]
	cdqe
	add	rax, 16608
	mov	WORD PTR 10[rdx+rax*2], cx
	jmp	.L640
.L634:
	mov	eax, DWORD PTR -88[rbp]
	cmp	DWORD PTR -116[rbp], eax
	cmovbe	eax, DWORD PTR -116[rbp]
	mov	DWORD PTR -88[rbp], eax
	cmp	DWORD PTR -88[rbp], 2
	jbe	.L636
	cmp	DWORD PTR -60[rbp], 0
	je	.L636
	cmp	DWORD PTR -60[rbp], 32768
	jbe	.L651
.L636:
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 2433
	lea	rsi, .LC3[rip]
	lea	rdi, .LC12[rip]
	call	__assert_fail@PLT
.L651:
	sub	DWORD PTR -60[rbp], 1
	mov	eax, DWORD PTR -88[rbp]
	lea	edx, -3[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	mov	edx, DWORD PTR -60[rbp]
	mov	WORD PTR [rax], dx
	add	QWORD PTR -40[rbp], 3
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	shr	al
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 511
	mov	edx, eax
	lea	rax, s_tdefl_small_dist_sym[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	shr	eax, 8
	mov	edx, eax
	lea	rax, s_tdefl_large_dist_sym[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -60[rbp], 511
	ja	.L638
	mov	eax, DWORD PTR -56[rbp]
	jmp	.L639
.L638:
	mov	eax, DWORD PTR -52[rbp]
.L639:
	mov	rdx, QWORD PTR -136[rbp]
	mov	ecx, eax
	add	rcx, 16896
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -136[rbp]
	mov	eax, eax
	add	rax, 16896
	mov	WORD PTR 10[rdx+rax*2], cx
	mov	eax, DWORD PTR -88[rbp]
	sub	eax, 3
	mov	eax, eax
	lea	rdx, [rax+rax]
	lea	rax, s_tdefl_len_sym[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	mov	rdx, QWORD PTR -136[rbp]
	movsx	rcx, eax
	add	rcx, 16608
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -136[rbp]
	cdqe
	add	rax, 16608
	mov	WORD PTR 10[rdx+rax*2], cx
	jmp	.L640
.L627:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, DWORD PTR -72[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	shr	al
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -72[rbp]
	movzx	eax, al
	mov	rdx, QWORD PTR -136[rbp]
	movsx	rcx, eax
	add	rcx, 16608
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -136[rbp]
	cdqe
	add	rax, 16608
	mov	WORD PTR 10[rdx+rax*2], cx
.L640:
	sub	DWORD PTR -104[rbp], 1
	cmp	DWORD PTR -104[rbp], 0
	jne	.L641
	mov	DWORD PTR -104[rbp], 8
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -32[rbp], rax
.L641:
	mov	eax, DWORD PTR -88[rbp]
	add	DWORD PTR -108[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	add	DWORD PTR -120[rbp], eax
	mov	edx, DWORD PTR -112[rbp]
	mov	eax, DWORD PTR -88[rbp]
	add	eax, edx
	mov	edx, 32768
	cmp	eax, 32768
	cmova	eax, edx
	mov	DWORD PTR -112[rbp], eax
	mov	edx, DWORD PTR -100[rbp]
	mov	eax, DWORD PTR -88[rbp]
	add	eax, edx
	and	eax, 32767
	mov	DWORD PTR -100[rbp], eax
	mov	eax, DWORD PTR -116[rbp]
	cmp	eax, DWORD PTR -88[rbp]
	jnb	.L642
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 2462
	lea	rsi, .LC3[rip]
	lea	rdi, .LC13[rip]
	call	__assert_fail@PLT
.L642:
	mov	eax, DWORD PTR -88[rbp]
	sub	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 103074
	cmp	QWORD PTR -40[rbp], rax
	jbe	.L626
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -120[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -116[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -112[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -108[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -104[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	tdefl_flush_block
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	je	.L643
	mov	eax, DWORD PTR -48[rbp]
	not	eax
	shr	eax, 31
	movzx	eax, al
	jmp	.L644
.L643:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 84[rax]
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 80[rax]
	mov	DWORD PTR -104[rbp], eax
.L626:
	cmp	DWORD PTR -116[rbp], 3
	ja	.L645
	jmp	.L646
.L649:
	mov	rdx, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR -100[rbp]
	movzx	eax, BYTE PTR 200[rdx+rax]
	mov	BYTE PTR -121[rbp], al
	add	DWORD PTR -108[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	movzx	edx, BYTE PTR -121[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	shr	al
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	sub	DWORD PTR -104[rbp], 1
	cmp	DWORD PTR -104[rbp], 0
	jne	.L647
	mov	DWORD PTR -104[rbp], 8
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -32[rbp], rax
.L647:
	movzx	eax, BYTE PTR -121[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	movsx	rcx, eax
	add	rcx, 16608
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -136[rbp]
	cdqe
	add	rax, 16608
	mov	WORD PTR 10[rdx+rax*2], cx
	add	DWORD PTR -120[rbp], 1
	mov	eax, DWORD PTR -112[rbp]
	add	eax, 1
	mov	edx, 32768
	cmp	eax, 32768
	cmova	eax, edx
	mov	DWORD PTR -112[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	add	eax, 1
	and	eax, 32767
	mov	DWORD PTR -100[rbp], eax
	sub	DWORD PTR -116[rbp], 1
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 103074
	cmp	QWORD PTR -40[rbp], rax
	jbe	.L646
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -120[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -116[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -112[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -108[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -104[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	tdefl_flush_block
	mov	DWORD PTR -76[rbp], eax
	cmp	DWORD PTR -76[rbp], 0
	je	.L648
	mov	eax, DWORD PTR -76[rbp]
	not	eax
	shr	eax, 31
	movzx	eax, al
	jmp	.L644
.L648:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 84[rax]
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 80[rax]
	mov	DWORD PTR -104[rbp], eax
.L646:
	cmp	DWORD PTR -116[rbp], 0
	jne	.L649
.L618:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 184[rax]
	test	rax, rax
	jne	.L650
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 168[rax]
	test	eax, eax
	je	.L625
	cmp	DWORD PTR -116[rbp], 0
	jne	.L650
	jmp	.L625
.L652:
	nop
.L625:
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -120[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -116[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -112[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -108[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, DWORD PTR -104[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	eax, 1
.L644:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	tdefl_compress_fast, .-tdefl_compress_fast
	.section	.rodata
	.align 8
.LC14:
	.string	"max_match_len <= TDEFL_MAX_MATCH_LEN"
	.align 8
.LC15:
	.string	"(match_len >= TDEFL_MIN_MATCH_LEN) && (match_dist >= 1) && (match_dist <= TDEFL_LZ_DICT_SIZE)"
	.align 8
.LC16:
	.string	"d->m_lookahead_size >= len_to_move"
	.text
	.type	tdefl_compress_normal, @function
tdefl_compress_normal:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 288
	mov	QWORD PTR -280[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 168[rax]
	mov	DWORD PTR -236[rbp], eax
	jmp	.L654
.L731:
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 44[rax]
	add	eax, edx
	cmp	eax, 1
	jbe	.L662
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	add	eax, edx
	and	eax, 32767
	mov	DWORD PTR -248[rbp], eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	add	eax, edx
	sub	eax, 2
	mov	DWORD PTR -244[rbp], eax
	mov	eax, DWORD PTR -244[rbp]
	and	eax, 32767
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 200[rax+rdx]
	movzx	eax, al
	sal	eax, 5
	mov	ecx, eax
	mov	eax, DWORD PTR -244[rbp]
	add	eax, 1
	and	eax, 32767
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 200[rax+rdx]
	movzx	eax, al
	xor	eax, ecx
	mov	DWORD PTR -240[rbp], eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	edx, 258
	sub	edx, eax
	mov	eax, edx
	cmp	QWORD PTR -112[rbp], rax
	jnb	.L656
	mov	rax, QWORD PTR -112[rbp]
	jmp	.L657
.L656:
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, 258
	sub	eax, edx
.L657:
	mov	DWORD PTR -220[rbp], eax
	mov	edx, DWORD PTR -220[rbp]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	QWORD PTR -104[rbp], rax
	mov	eax, DWORD PTR -220[rbp]
	sub	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -220[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 40[rax], edx
	jmp	.L658
.L660:
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -120[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -268[rbp], al
	mov	rdx, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -248[rbp]
	movzx	ecx, BYTE PTR -268[rbp]
	mov	BYTE PTR 200[rdx+rax], cl
	cmp	DWORD PTR -248[rbp], 256
	ja	.L659
	mov	eax, DWORD PTR -248[rbp]
	lea	edx, 32768[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, edx
	movzx	edx, BYTE PTR -268[rbp]
	mov	BYTE PTR 200[rax+rcx], dl
.L659:
	mov	eax, DWORD PTR -240[rbp]
	sal	eax, 5
	mov	edx, eax
	movzx	eax, BYTE PTR -268[rbp]
	xor	eax, edx
	and	eax, 32767
	mov	DWORD PTR -240[rbp], eax
	mov	eax, DWORD PTR -244[rbp]
	and	eax, 32767
	mov	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR -240[rbp]
	add	rdx, 84304
	movzx	edx, WORD PTR 10[rax+rdx*2]
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, ecx
	add	rcx, 51536
	mov	WORD PTR 10[rax+rcx*2], dx
	mov	eax, DWORD PTR -244[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR -240[rbp]
	add	rdx, 84304
	mov	WORD PTR 10[rax+rdx*2], cx
	mov	eax, DWORD PTR -248[rbp]
	add	eax, 1
	and	eax, 32767
	mov	DWORD PTR -248[rbp], eax
	add	DWORD PTR -244[rbp], 1
.L658:
	mov	rax, QWORD PTR -120[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jne	.L660
	jmp	.L661
.L664:
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -120[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -269[rbp], al
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	add	eax, edx
	and	eax, 32767
	mov	DWORD PTR -232[rbp], eax
	sub	QWORD PTR -112[rbp], 1
	mov	rdx, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -232[rbp]
	movzx	ecx, BYTE PTR -269[rbp]
	mov	BYTE PTR 200[rdx+rax], cl
	cmp	DWORD PTR -232[rbp], 256
	ja	.L663
	mov	eax, DWORD PTR -232[rbp]
	lea	edx, 32768[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, edx
	movzx	edx, BYTE PTR -269[rbp]
	mov	BYTE PTR 200[rax+rcx], dl
.L663:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 44[rax]
	add	eax, edx
	cmp	eax, 2
	jbe	.L662
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	add	eax, edx
	sub	eax, 3
	mov	DWORD PTR -228[rbp], eax
	mov	eax, DWORD PTR -228[rbp]
	and	eax, 32767
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 200[rax+rdx]
	movzx	eax, al
	sal	eax, 10
	mov	ecx, eax
	mov	eax, DWORD PTR -228[rbp]
	add	eax, 1
	and	eax, 32767
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 200[rax+rdx]
	movzx	eax, al
	sal	eax, 5
	xor	ecx, eax
	mov	edx, ecx
	movzx	eax, BYTE PTR -269[rbp]
	xor	eax, edx
	and	eax, 32767
	mov	DWORD PTR -224[rbp], eax
	mov	eax, DWORD PTR -228[rbp]
	and	eax, 32767
	mov	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR -224[rbp]
	add	rdx, 84304
	movzx	edx, WORD PTR 10[rax+rdx*2]
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, ecx
	add	rcx, 51536
	mov	WORD PTR 10[rax+rcx*2], dx
	mov	eax, DWORD PTR -228[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR -224[rbp]
	add	rdx, 84304
	mov	WORD PTR 10[rax+rdx*2], cx
.L662:
	cmp	QWORD PTR -112[rbp], 0
	je	.L661
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 257
	jbe	.L664
.L661:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 44[rax]
	mov	rdx, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR 40[rdx]
	mov	edx, 32768
	sub	edx, ecx
	cmp	eax, edx
	cmovbe	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 44[rax], edx
	cmp	DWORD PTR -236[rbp], 0
	jne	.L665
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 257
	jbe	.L739
.L665:
	mov	DWORD PTR -252[rbp], 1
	mov	DWORD PTR -260[rbp], 0
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 104[rax]
	test	eax, eax
	je	.L667
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 104[rax]
	jmp	.L668
.L667:
	mov	eax, 2
.L668:
	mov	DWORD PTR -256[rbp], eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 36[rax]
	and	eax, 32767
	mov	DWORD PTR -216[rbp], eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 589824
	test	eax, eax
	je	.L669
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	je	.L670
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 524288
	test	eax, eax
	jne	.L670
	mov	eax, DWORD PTR -216[rbp]
	sub	eax, 1
	and	eax, 32767
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 200[rax+rdx]
	mov	BYTE PTR -267[rbp], al
	mov	DWORD PTR -256[rbp], 0
	jmp	.L671
.L674:
	mov	edx, DWORD PTR -256[rbp]
	mov	eax, DWORD PTR -216[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 200[rax+rdx]
	cmp	BYTE PTR -267[rbp], al
	jne	.L740
	mov	eax, DWORD PTR -256[rbp]
	add	eax, 1
	mov	DWORD PTR -256[rbp], eax
.L671:
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -256[rbp]
	cmp	edx, eax
	ja	.L674
	jmp	.L673
.L740:
	nop
.L673:
	mov	eax, DWORD PTR -256[rbp]
	cmp	eax, 2
	ja	.L675
	mov	DWORD PTR -256[rbp], 0
	jmp	.L670
.L675:
	mov	DWORD PTR -260[rbp], 1
	jmp	.L670
.L669:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	rdx, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 44[rdx]
	mov	rcx, QWORD PTR -280[rbp]
	mov	ecx, DWORD PTR 36[rcx]
	mov	rsi, QWORD PTR -280[rbp]
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -208[rbp], ecx
	mov	DWORD PTR -204[rbp], edx
	mov	DWORD PTR -200[rbp], eax
	lea	rax, -260[rbp]
	mov	QWORD PTR -88[rbp], rax
	lea	rax, -256[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR -208[rbp]
	and	eax, 32767
	mov	DWORD PTR -196[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -192[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	mov	DWORD PTR -188[rbp], eax
	cmp	DWORD PTR -192[rbp], 31
	seta	al
	movzx	edx, al
	mov	rax, QWORD PTR -96[rbp]
	movsx	rdx, edx
	add	rdx, 4
	mov	eax, DWORD PTR 4[rax+rdx*4]
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -96[rbp]
	lea	rdx, 200[rax]
	mov	eax, DWORD PTR -196[rbp]
	add	rax, rdx
	mov	QWORD PTR -72[rbp], rax
	mov	edx, DWORD PTR -196[rbp]
	mov	eax, DWORD PTR -192[rbp]
	add	eax, edx
	sub	eax, 1
	mov	eax, eax
	lea	rdx, 192[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	add	rax, 8
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -264[rbp], ax
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -262[rbp], ax
	cmp	DWORD PTR -200[rbp], 258
	jbe	.L676
	lea	rcx, __PRETTY_FUNCTION__.4[rip]
	mov	edx, 2314
	lea	rsi, .LC3[rip]
	lea	rdi, .LC14[rip]
	call	__assert_fail@PLT
.L676:
	mov	eax, DWORD PTR -200[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	jbe	.L741
.L677:
	sub	DWORD PTR -184[rbp], 1
	cmp	DWORD PTR -184[rbp], 0
	je	.L742
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, DWORD PTR -188[rbp]
	add	rdx, 51536
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	eax, ax
	mov	DWORD PTR -180[rbp], eax
	cmp	DWORD PTR -180[rbp], 0
	je	.L743
	mov	eax, DWORD PTR -208[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -180[rbp]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	eax, ax
	mov	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -204[rbp]
	cmp	eax, DWORD PTR -176[rbp]
	jb	.L743
	mov	eax, DWORD PTR -180[rbp]
	and	eax, 32767
	mov	DWORD PTR -188[rbp], eax
	mov	edx, DWORD PTR -188[rbp]
	mov	eax, DWORD PTR -192[rbp]
	add	eax, edx
	sub	eax, 1
	mov	eax, eax
	lea	rdx, 192[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	add	rax, 8
	movzx	eax, WORD PTR [rax]
	cmp	ax, WORD PTR -264[rbp]
	je	.L744
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, DWORD PTR -188[rbp]
	add	rdx, 51536
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	eax, ax
	mov	DWORD PTR -180[rbp], eax
	cmp	DWORD PTR -180[rbp], 0
	je	.L745
	mov	eax, DWORD PTR -208[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -180[rbp]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	eax, ax
	mov	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -204[rbp]
	cmp	eax, DWORD PTR -176[rbp]
	jb	.L745
	mov	eax, DWORD PTR -180[rbp]
	and	eax, 32767
	mov	DWORD PTR -188[rbp], eax
	mov	edx, DWORD PTR -192[rbp]
	mov	eax, DWORD PTR -188[rbp]
	add	eax, edx
	sub	eax, 1
	mov	eax, eax
	lea	rdx, 192[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	add	rax, 8
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -264[rbp], ax
	je	.L744
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, DWORD PTR -188[rbp]
	add	rdx, 51536
	movzx	eax, WORD PTR 10[rax+rdx*2]
	movzx	eax, ax
	mov	DWORD PTR -180[rbp], eax
	cmp	DWORD PTR -180[rbp], 0
	je	.L746
	mov	eax, DWORD PTR -208[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -180[rbp]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	eax, ax
	mov	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -204[rbp]
	cmp	eax, DWORD PTR -176[rbp]
	jb	.L746
	mov	eax, DWORD PTR -180[rbp]
	and	eax, 32767
	mov	DWORD PTR -188[rbp], eax
	mov	edx, DWORD PTR -192[rbp]
	mov	eax, DWORD PTR -188[rbp]
	add	eax, edx
	sub	eax, 1
	mov	eax, eax
	lea	rdx, 192[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	add	rax, 8
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -264[rbp], ax
	je	.L744
	jmp	.L677
.L744:
	nop
	cmp	DWORD PTR -176[rbp], 0
	je	.L747
	mov	rax, QWORD PTR -96[rbp]
	lea	rdx, 200[rax]
	mov	eax, DWORD PTR -188[rbp]
	add	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -262[rbp], ax
	jne	.L748
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	DWORD PTR -172[rbp], 32
.L694:
	add	QWORD PTR -56[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, WORD PTR [rax]
	add	QWORD PTR -64[rbp], 2
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, WORD PTR [rax]
	cmp	dx, ax
	jne	.L693
	add	QWORD PTR -56[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, WORD PTR [rax]
	add	QWORD PTR -64[rbp], 2
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, WORD PTR [rax]
	cmp	dx, ax
	jne	.L693
	add	QWORD PTR -56[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, WORD PTR [rax]
	add	QWORD PTR -64[rbp], 2
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, WORD PTR [rax]
	cmp	dx, ax
	jne	.L693
	add	QWORD PTR -56[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, WORD PTR [rax]
	add	QWORD PTR -64[rbp], 2
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, WORD PTR [rax]
	cmp	dx, ax
	jne	.L693
	sub	DWORD PTR -172[rbp], 1
	cmp	DWORD PTR -172[rbp], 0
	jne	.L694
.L693:
	cmp	DWORD PTR -172[rbp], 0
	jne	.L695
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -176[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 258
	cmp	DWORD PTR -200[rbp], 258
	cmovbe	eax, DWORD PTR -200[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L670
.L695:
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, QWORD PTR -72[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	sete	al
	movzx	eax, al
	add	eax, ecx
	mov	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR -192[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jnb	.L677
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -176[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -172[rbp]
	cmp	DWORD PTR -200[rbp], eax
	cmovbe	eax, DWORD PTR -200[rbp]
	mov	DWORD PTR -192[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR -192[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -200[rbp], eax
	je	.L749
	mov	edx, DWORD PTR -196[rbp]
	mov	eax, DWORD PTR -192[rbp]
	add	eax, edx
	sub	eax, 1
	mov	eax, eax
	lea	rdx, 192[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	add	rax, 8
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -264[rbp], ax
	jmp	.L677
.L748:
	nop
	jmp	.L677
.L741:
	nop
	jmp	.L670
.L742:
	nop
	jmp	.L670
.L743:
	nop
	jmp	.L670
.L745:
	nop
	jmp	.L670
.L746:
	nop
	jmp	.L670
.L747:
	nop
	jmp	.L670
.L749:
	nop
.L670:
	mov	eax, DWORD PTR -256[rbp]
	cmp	eax, 3
	jne	.L697
	mov	eax, DWORD PTR -260[rbp]
	cmp	eax, 8191
	ja	.L698
.L697:
	mov	eax, DWORD PTR -260[rbp]
	cmp	DWORD PTR -216[rbp], eax
	je	.L698
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 131072
	test	eax, eax
	je	.L699
	mov	eax, DWORD PTR -256[rbp]
	cmp	eax, 5
	ja	.L699
.L698:
	mov	DWORD PTR -256[rbp], 0
	mov	eax, DWORD PTR -256[rbp]
	mov	DWORD PTR -260[rbp], eax
.L699:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 104[rax]
	test	eax, eax
	je	.L700
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 104[rax]
	mov	eax, DWORD PTR -256[rbp]
	cmp	edx, eax
	jnb	.L701
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 108[rax]
	movzx	eax, al
	mov	rdx, QWORD PTR -280[rbp]
	mov	QWORD PTR -48[rbp], rdx
	mov	BYTE PTR -266[rbp], al
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 84[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 48[rdx], rcx
	movzx	edx, BYTE PTR -266[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 56[rax]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 56[rax]
	shr	dl
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 80[rax]
	test	eax, eax
	jne	.L702
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 80[rax], 8
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 48[rdx], rcx
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 56[rdx], rax
.L702:
	movzx	eax, BYTE PTR -266[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	movsx	rcx, eax
	add	rcx, 16608
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -48[rbp]
	cdqe
	add	rax, 16608
	mov	WORD PTR 10[rdx+rax*2], cx
	nop
	mov	eax, DWORD PTR -256[rbp]
	cmp	eax, 127
	jbe	.L703
	mov	eax, DWORD PTR -260[rbp]
	mov	edx, DWORD PTR -256[rbp]
	mov	rcx, QWORD PTR -280[rbp]
	mov	QWORD PTR -40[rbp], rcx
	mov	DWORD PTR -168[rbp], edx
	mov	DWORD PTR -164[rbp], eax
	cmp	DWORD PTR -168[rbp], 2
	jbe	.L704
	cmp	DWORD PTR -164[rbp], 0
	je	.L704
	cmp	DWORD PTR -164[rbp], 32768
	jbe	.L736
.L704:
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 2522
	lea	rsi, .LC3[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L736:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 84[rax]
	mov	eax, DWORD PTR -168[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	eax, DWORD PTR -168[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 48[rax]
	sub	edx, 3
	mov	BYTE PTR [rax], dl
	sub	DWORD PTR -164[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 48[rax]
	add	rax, 1
	mov	edx, DWORD PTR -164[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -164[rbp]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 48[rax]
	add	rax, 2
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rdx, 3[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 56[rax]
	movzx	eax, BYTE PTR [rax]
	shr	al
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 56[rax]
	or	edx, -128
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 80[rax]
	test	eax, eax
	jne	.L706
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 80[rax], 8
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 48[rdx], rcx
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 56[rdx], rax
.L706:
	mov	eax, DWORD PTR -164[rbp]
	and	eax, 511
	mov	edx, eax
	lea	rax, s_tdefl_small_dist_sym[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -160[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	shr	eax, 8
	and	eax, 127
	mov	edx, eax
	lea	rax, s_tdefl_large_dist_sym[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -156[rbp], eax
	cmp	DWORD PTR -164[rbp], 511
	ja	.L707
	mov	eax, DWORD PTR -160[rbp]
	jmp	.L708
.L707:
	mov	eax, DWORD PTR -156[rbp]
.L708:
	mov	rdx, QWORD PTR -40[rbp]
	mov	ecx, eax
	add	rcx, 16896
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -40[rbp]
	mov	eax, eax
	add	rax, 16896
	mov	WORD PTR 10[rdx+rax*2], cx
	cmp	DWORD PTR -168[rbp], 2
	jbe	.L750
	mov	eax, DWORD PTR -168[rbp]
	sub	eax, 3
	mov	eax, eax
	lea	rdx, [rax+rax]
	lea	rax, s_tdefl_len_sym[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	mov	rdx, QWORD PTR -40[rbp]
	movsx	rcx, eax
	add	rcx, 16608
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -40[rbp]
	cdqe
	add	rax, 16608
	mov	WORD PTR 10[rdx+rax*2], cx
.L750:
	nop
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 104[rax], 0
	mov	eax, DWORD PTR -256[rbp]
	mov	DWORD PTR -252[rbp], eax
	jmp	.L710
.L703:
	mov	rdx, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR -216[rbp]
	movzx	eax, BYTE PTR 200[rdx+rax]
	movzx	edx, al
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	edx, DWORD PTR -260[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 100[rax], edx
	mov	edx, DWORD PTR -256[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 104[rax], edx
	jmp	.L710
.L701:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 100[rax]
	mov	rdx, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 104[rdx]
	mov	rcx, QWORD PTR -280[rbp]
	mov	QWORD PTR -32[rbp], rcx
	mov	DWORD PTR -152[rbp], edx
	mov	DWORD PTR -148[rbp], eax
	cmp	DWORD PTR -152[rbp], 2
	jbe	.L711
	cmp	DWORD PTR -148[rbp], 0
	je	.L711
	cmp	DWORD PTR -148[rbp], 32768
	jbe	.L737
.L711:
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 2522
	lea	rsi, .LC3[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L737:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 84[rax]
	mov	eax, DWORD PTR -152[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	eax, DWORD PTR -152[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 48[rax]
	sub	edx, 3
	mov	BYTE PTR [rax], dl
	sub	DWORD PTR -148[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 48[rax]
	add	rax, 1
	mov	edx, DWORD PTR -148[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -148[rbp]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 48[rax]
	add	rax, 2
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rdx, 3[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	movzx	eax, BYTE PTR [rax]
	shr	al
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	or	edx, -128
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 80[rax]
	test	eax, eax
	jne	.L713
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 80[rax], 8
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 48[rdx], rcx
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 56[rdx], rax
.L713:
	mov	eax, DWORD PTR -148[rbp]
	and	eax, 511
	mov	edx, eax
	lea	rax, s_tdefl_small_dist_sym[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -144[rbp], eax
	mov	eax, DWORD PTR -148[rbp]
	shr	eax, 8
	and	eax, 127
	mov	edx, eax
	lea	rax, s_tdefl_large_dist_sym[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -140[rbp], eax
	cmp	DWORD PTR -148[rbp], 511
	ja	.L714
	mov	eax, DWORD PTR -144[rbp]
	jmp	.L715
.L714:
	mov	eax, DWORD PTR -140[rbp]
.L715:
	mov	rdx, QWORD PTR -32[rbp]
	mov	ecx, eax
	add	rcx, 16896
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, eax
	add	rax, 16896
	mov	WORD PTR 10[rdx+rax*2], cx
	cmp	DWORD PTR -152[rbp], 2
	jbe	.L751
	mov	eax, DWORD PTR -152[rbp]
	sub	eax, 3
	mov	eax, eax
	lea	rdx, [rax+rax]
	lea	rax, s_tdefl_len_sym[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	mov	rdx, QWORD PTR -32[rbp]
	movsx	rcx, eax
	add	rcx, 16608
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	add	rax, 16608
	mov	WORD PTR 10[rdx+rax*2], cx
.L751:
	nop
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 104[rax]
	sub	eax, 1
	mov	DWORD PTR -252[rbp], eax
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 104[rax], 0
	jmp	.L710
.L700:
	mov	eax, DWORD PTR -260[rbp]
	test	eax, eax
	jne	.L717
	mov	eax, 33024
	cmp	DWORD PTR -216[rbp], 33024
	cmovbe	eax, DWORD PTR -216[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	movzx	eax, BYTE PTR 200[rax+rdx]
	movzx	eax, al
	mov	rdx, QWORD PTR -280[rbp]
	mov	QWORD PTR -24[rbp], rdx
	mov	BYTE PTR -265[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 84[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 48[rdx], rcx
	movzx	edx, BYTE PTR -265[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	shr	dl
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 80[rax]
	test	eax, eax
	jne	.L718
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 80[rax], 8
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 48[rdx], rcx
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 56[rdx], rax
.L718:
	movzx	eax, BYTE PTR -265[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	movsx	rcx, eax
	add	rcx, 16608
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -24[rbp]
	cdqe
	add	rax, 16608
	mov	WORD PTR 10[rdx+rax*2], cx
	jmp	.L710
.L717:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	jne	.L719
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 65536
	test	eax, eax
	jne	.L719
	mov	eax, DWORD PTR -256[rbp]
	cmp	eax, 127
	jbe	.L720
.L719:
	mov	eax, DWORD PTR -260[rbp]
	mov	edx, DWORD PTR -256[rbp]
	mov	rcx, QWORD PTR -280[rbp]
	mov	QWORD PTR -16[rbp], rcx
	mov	DWORD PTR -136[rbp], edx
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -136[rbp], 2
	jbe	.L721
	cmp	DWORD PTR -132[rbp], 0
	je	.L721
	cmp	DWORD PTR -132[rbp], 32768
	jbe	.L738
.L721:
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 2522
	lea	rsi, .LC3[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L738:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 84[rax]
	mov	eax, DWORD PTR -136[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	eax, DWORD PTR -136[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 48[rax]
	sub	edx, 3
	mov	BYTE PTR [rax], dl
	sub	DWORD PTR -132[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 48[rax]
	add	rax, 1
	mov	edx, DWORD PTR -132[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -132[rbp]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 48[rax]
	add	rax, 2
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rdx, 3[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	movzx	eax, BYTE PTR [rax]
	shr	al
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	or	edx, -128
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 80[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 80[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 80[rax]
	test	eax, eax
	jne	.L723
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 80[rax], 8
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 48[rdx], rcx
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 56[rdx], rax
.L723:
	mov	eax, DWORD PTR -132[rbp]
	and	eax, 511
	mov	edx, eax
	lea	rax, s_tdefl_small_dist_sym[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -128[rbp], eax
	mov	eax, DWORD PTR -132[rbp]
	shr	eax, 8
	and	eax, 127
	mov	edx, eax
	lea	rax, s_tdefl_large_dist_sym[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -124[rbp], eax
	cmp	DWORD PTR -132[rbp], 511
	ja	.L724
	mov	eax, DWORD PTR -128[rbp]
	jmp	.L725
.L724:
	mov	eax, DWORD PTR -124[rbp]
.L725:
	mov	rdx, QWORD PTR -16[rbp]
	mov	ecx, eax
	add	rcx, 16896
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -16[rbp]
	mov	eax, eax
	add	rax, 16896
	mov	WORD PTR 10[rdx+rax*2], cx
	cmp	DWORD PTR -136[rbp], 2
	jbe	.L752
	mov	eax, DWORD PTR -136[rbp]
	sub	eax, 3
	mov	eax, eax
	lea	rdx, [rax+rax]
	lea	rax, s_tdefl_len_sym[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	mov	rdx, QWORD PTR -16[rbp]
	movsx	rcx, eax
	add	rcx, 16608
	movzx	edx, WORD PTR 10[rdx+rcx*2]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -16[rbp]
	cdqe
	add	rax, 16608
	mov	WORD PTR 10[rdx+rax*2], cx
.L752:
	nop
	mov	eax, DWORD PTR -256[rbp]
	mov	DWORD PTR -252[rbp], eax
	jmp	.L710
.L720:
	mov	eax, 33024
	cmp	DWORD PTR -216[rbp], 33024
	cmovbe	eax, DWORD PTR -216[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	movzx	eax, BYTE PTR 200[rax+rdx]
	movzx	edx, al
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	edx, DWORD PTR -260[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 100[rax], edx
	mov	edx, DWORD PTR -256[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 104[rax], edx
.L710:
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	eax, DWORD PTR -252[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -252[rbp], eax
	jbe	.L727
	lea	rcx, __PRETTY_FUNCTION__.5[rip]
	mov	edx, 2640
	lea	rsi, .LC3[rip]
	lea	rdi, .LC16[rip]
	call	__assert_fail@PLT
.L727:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	sub	eax, DWORD PTR -252[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	eax, DWORD PTR -252[rbp]
	add	eax, edx
	mov	edx, 32768
	cmp	eax, 32768
	cmovbe	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdx, QWORD PTR -280[rbp]
	add	rdx, 103074
	cmp	rax, rdx
	ja	.L728
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 84[rax]
	cmp	eax, 31744
	jbe	.L654
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdx, QWORD PTR -280[rbp]
	add	rdx, 37546
	sub	rax, rdx
	imul	eax, eax, 115
	shr	eax, 7
	mov	edx, eax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 84[rax]
	cmp	edx, eax
	jnb	.L728
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 524288
	test	eax, eax
	je	.L654
.L728:
	mov	rax, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR 176[rax], rdx
	mov	rax, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR 184[rax], rdx
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	tdefl_flush_block
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -212[rbp], 0
	je	.L654
	mov	eax, DWORD PTR -212[rbp]
	not	eax
	shr	eax, 31
	movzx	eax, al
	jmp	.L730
.L654:
	cmp	QWORD PTR -112[rbp], 0
	jne	.L731
	cmp	DWORD PTR -236[rbp], 0
	je	.L666
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	test	eax, eax
	jne	.L731
	jmp	.L666
.L739:
	nop
.L666:
	mov	rax, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR 176[rax], rdx
	mov	rax, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR 184[rax], rdx
	mov	eax, 1
.L730:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L732
	call	__stack_chk_fail@PLT
.L732:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	tdefl_compress_normal, .-tdefl_compress_normal
	.type	tdefl_flush_output_buffer, @function
tdefl_flush_output_buffer:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 152[rax]
	test	rax, rax
	je	.L754
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 176[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 136[rax]
	sub	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 152[rax]
	mov	QWORD PTR [rax], rdx
.L754:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 160[rax]
	test	rax, rax
	je	.L755
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 116[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 160[rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 192[rax]
	mov	rax, rcx
	sub	rax, rsi
	cmp	rdx, rax
	cmovbe	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 234154[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 112[rax]
	mov	eax, eax
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 144[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 192[rax]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 112[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 112[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 116[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 116[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 192[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 160[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 192[rdx]
	mov	QWORD PTR [rax], rdx
.L755:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L756
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	jne	.L756
	mov	eax, 1
	jmp	.L758
.L756:
	mov	eax, 0
.L758:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	tdefl_flush_output_buffer, .-tdefl_flush_output_buffer
	.globl	tdefl_compress
	.type	tdefl_compress, @function
tdefl_compress:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	QWORD PTR -40[rbp], r8
	mov	DWORD PTR -44[rbp], r9d
	cmp	QWORD PTR -8[rbp], 0
	jne	.L760
	cmp	QWORD PTR -24[rbp], 0
	je	.L761
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], 0
.L761:
	cmp	QWORD PTR -40[rbp], 0
	je	.L762
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
.L762:
	mov	eax, -2
	jmp	.L763
.L760:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 136[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 152[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 144[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 160[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 176[rax], rdx
	cmp	QWORD PTR -24[rbp], 0
	je	.L764
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L765
.L764:
	mov	eax, 0
.L765:
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 184[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 192[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR 168[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	sete	dl
	cmp	QWORD PTR -32[rbp], 0
	jne	.L766
	cmp	QWORD PTR -40[rbp], 0
	je	.L767
.L766:
	mov	eax, 1
	jmp	.L768
.L767:
	mov	eax, 0
.L768:
	and	eax, 1
	xor	eax, edx
	test	al, al
	jne	.L769
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	test	eax, eax
	jne	.L769
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 128[rax]
	test	eax, eax
	je	.L770
	cmp	DWORD PTR -44[rbp], 4
	jne	.L769
.L770:
	cmp	QWORD PTR -24[rbp], 0
	je	.L771
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L771
	cmp	QWORD PTR -16[rbp], 0
	je	.L769
.L771:
	cmp	QWORD PTR -40[rbp], 0
	je	.L772
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L772
	cmp	QWORD PTR -32[rbp], 0
	jne	.L772
.L769:
	cmp	QWORD PTR -24[rbp], 0
	je	.L773
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], 0
.L773:
	cmp	QWORD PTR -40[rbp], 0
	je	.L774
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
.L774:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 132[rax], -2
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	jmp	.L763
.L772:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 128[rax]
	cmp	DWORD PTR -44[rbp], 4
	sete	al
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 128[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	jne	.L775
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L776
.L775:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_flush_output_buffer
	mov	rdx, QWORD PTR -8[rbp]
	mov	DWORD PTR 132[rdx], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	jmp	.L763
.L776:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 4095
	cmp	eax, 1
	jne	.L777
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 16384
	test	eax, eax
	je	.L777
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 720896
	test	eax, eax
	jne	.L777
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_compress_fast
	test	eax, eax
	jne	.L779
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	jmp	.L763
.L777:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_compress_normal
	test	eax, eax
	jne	.L779
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	jmp	.L763
.L779:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 12288
	test	eax, eax
	je	.L780
	cmp	QWORD PTR -16[rbp], 0
	je	.L780
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 176[rax]
	sub	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	mz_adler32
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
.L780:
	cmp	DWORD PTR -44[rbp], 0
	je	.L781
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	test	eax, eax
	jne	.L781
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 184[rax]
	test	rax, rax
	jne	.L781
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	jne	.L781
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tdefl_flush_block
	test	eax, eax
	jns	.L782
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	jmp	.L763
.L782:
	cmp	DWORD PTR -44[rbp], 4
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 120[rax], edx
	cmp	DWORD PTR -44[rbp], 3
	jne	.L781
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 168618
	mov	edx, 65536
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 103082
	mov	edx, 65536
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 44[rax], 0
.L781:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_flush_output_buffer
	mov	rdx, QWORD PTR -8[rbp]
	mov	DWORD PTR 132[rdx], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
.L763:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	tdefl_compress, .-tdefl_compress
	.section	.rodata
.LC17:
	.string	"d->m_pPut_buf_func"
	.text
	.globl	tdefl_compress_buffer
	.type	tdefl_compress_buffer, @function
tdefl_compress_buffer:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -28[rbp], ecx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L784
	lea	rcx, __PRETTY_FUNCTION__.2[rip]
	mov	edx, 2737
	lea	rsi, .LC3[rip]
	lea	rdi, .LC17[rip]
	call	__assert_fail@PLT
.L784:
	mov	ecx, DWORD PTR -28[rbp]
	lea	rdx, -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, ecx
	mov	r8d, 0
	mov	ecx, 0
	mov	rdi, rax
	call	tdefl_compress
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	tdefl_compress_buffer, .-tdefl_compress_buffer
	.globl	tdefl_init
	.type	tdefl_init, @function
tdefl_init:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -28[rbp], ecx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 4095
	add	eax, 2
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 16384
	test	eax, eax
	setne	al
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	sar	eax, 2
	and	eax, 1023
	add	eax, 2
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 32768
	test	eax, eax
	jne	.L787
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 168618
	mov	edx, 65536
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
.L787:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 92[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 88[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 84[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 128[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 128[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 96[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 124[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 124[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 120[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 120[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 116[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 116[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 112[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 37546
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 37546[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 80[rax], 8
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 234154[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 234154[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 132[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 108[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 108[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 104[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 104[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 100[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 136[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 144[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 152[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 160[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 168[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 176[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 184[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 192[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 33226
	mov	edx, 576
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 33802
	mov	edx, 64
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	tdefl_init, .-tdefl_init
	.globl	tdefl_get_prev_return_status
	.type	tdefl_get_prev_return_status, @function
tdefl_get_prev_return_status:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	tdefl_get_prev_return_status, .-tdefl_get_prev_return_status
	.globl	tdefl_get_adler32
	.type	tdefl_get_adler32, @function
tdefl_get_adler32:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	tdefl_get_adler32, .-tdefl_get_adler32
	.globl	tdefl_compress_mem_to_output
	.type	tdefl_compress_mem_to_output, @function
tdefl_compress_mem_to_output:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	DWORD PTR -52[rbp], r8d
	cmp	QWORD PTR -32[rbp], 0
	je	.L794
	cmp	QWORD PTR -24[rbp], 0
	je	.L795
.L794:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L796
.L795:
	mov	eax, 0
	jmp	.L797
.L796:
	mov	edi, 319352
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L798
	mov	eax, 0
	jmp	.L797
.L798:
	mov	ecx, DWORD PTR -52[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_init
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L799
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 4
	mov	rdi, rax
	call	tdefl_compress_buffer
	cmp	eax, 1
	jne	.L799
	mov	eax, 1
	jmp	.L800
.L799:
	mov	eax, 0
.L800:
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -12[rbp]
.L797:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	tdefl_compress_mem_to_output, .-tdefl_compress_mem_to_output
	.type	tdefl_output_buffer_putter, @function
tdefl_output_buffer_putter:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -16[rbp], rax
	jbe	.L802
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L803
	mov	eax, 0
	jmp	.L804
.L803:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rax
	mov	edx, 128
	cmp	rax, 128
	cmovb	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	ja	.L803
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L805
	mov	eax, 0
	jmp	.L804
.L805:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
.L802:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	add	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
.L804:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	tdefl_output_buffer_putter, .-tdefl_output_buffer_putter
	.globl	tdefl_compress_mem_to_heap
	.type	tdefl_compress_mem_to_heap, @function
tdefl_compress_mem_to_heap:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	DWORD PTR -76[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -48[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	cmp	QWORD PTR -72[rbp], 0
	jne	.L807
	mov	eax, 0
	jmp	.L810
.L807:
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], 0
	mov	DWORD PTR -24[rbp], 1
	mov	ecx, DWORD PTR -76[rbp]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	r8d, ecx
	mov	rcx, rdx
	lea	rdx, tdefl_output_buffer_putter[rip]
	mov	rdi, rax
	call	tdefl_compress_mem_to_output
	test	eax, eax
	jne	.L809
	mov	eax, 0
	jmp	.L810
.L809:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
.L810:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L811
	call	__stack_chk_fail@PLT
.L811:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	tdefl_compress_mem_to_heap, .-tdefl_compress_mem_to_heap
	.globl	tdefl_compress_mem_to_mem
	.type	tdefl_compress_mem_to_mem, @function
tdefl_compress_mem_to_mem:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	DWORD PTR -84[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -48[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	cmp	QWORD PTR -56[rbp], 0
	jne	.L813
	mov	eax, 0
	jmp	.L816
.L813:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	ecx, DWORD PTR -84[rbp]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8d, ecx
	mov	rcx, rdx
	lea	rdx, tdefl_output_buffer_putter[rip]
	mov	rdi, rax
	call	tdefl_compress_mem_to_output
	test	eax, eax
	jne	.L815
	mov	eax, 0
	jmp	.L816
.L815:
	mov	rax, QWORD PTR -48[rbp]
.L816:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L817
	call	__stack_chk_fail@PLT
.L817:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	tdefl_compress_mem_to_mem, .-tdefl_compress_mem_to_mem
	.section	.rodata
.LC18:
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"IEND\256B`\202"
	.text
	.globl	tdefl_write_image_to_png_file_in_memory_ex
	.type	tdefl_write_image_to_png_file_in_memory_ex, @function
tdefl_write_image_to_png_file_in_memory_ex:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 168
	.cfi_offset 3, -24
	mov	QWORD PTR -152[rbp], rdi
	mov	DWORD PTR -156[rbp], esi
	mov	DWORD PTR -160[rbp], edx
	mov	DWORD PTR -164[rbp], ecx
	mov	QWORD PTR -176[rbp], r8
	mov	DWORD PTR -168[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	edi, 319352
	call	malloc@PLT
	mov	QWORD PTR -120[rbp], rax
	mov	eax, DWORD PTR -156[rbp]
	imul	eax, DWORD PTR -164[rbp]
	mov	DWORD PTR -124[rbp], eax
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR [rax], 0
	cmp	QWORD PTR -120[rbp], 0
	jne	.L819
	mov	eax, 0
	jmp	.L834
.L819:
	lea	rax, -112[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -88[rbp], 1
	mov	eax, DWORD PTR -124[rbp]
	add	eax, 1
	imul	eax, DWORD PTR -160[rbp]
	mov	edx, 64
	cmp	eax, 64
	cmovl	eax, edx
	add	eax, 57
	cdqe
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	test	rax, rax
	jne	.L821
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L834
.L821:
	mov	DWORD PTR -140[rbp], 41
	jmp	.L822
.L823:
	lea	rdx, -112[rbp]
	lea	rax, -140[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	tdefl_output_buffer_putter
	mov	eax, DWORD PTR -140[rbp]
	sub	eax, 1
	mov	DWORD PTR -140[rbp], eax
.L822:
	mov	eax, DWORD PTR -140[rbp]
	test	eax, eax
	jne	.L823
	mov	eax, 10
	cmp	DWORD PTR -168[rbp], 10
	cmovbe	eax, DWORD PTR -168[rbp]
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, s_tdefl_png_num_probes.1[rip]
	mov	eax, DWORD PTR [rdx+rax]
	or	ah, 16
	mov	ecx, eax
	lea	rdx, -112[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, tdefl_output_buffer_putter[rip]
	mov	rdi, rax
	call	tdefl_init
	mov	DWORD PTR -132[rbp], 0
	jmp	.L824
.L827:
	lea	rsi, -140[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 0
	mov	edx, 1
	mov	rdi, rax
	call	tdefl_compress_buffer
	mov	eax, DWORD PTR -124[rbp]
	movsx	rdx, eax
	cmp	DWORD PTR 16[rbp], 0
	je	.L825
	mov	eax, DWORD PTR -160[rbp]
	sub	eax, 1
	sub	eax, DWORD PTR -132[rbp]
	jmp	.L826
.L825:
	mov	eax, DWORD PTR -132[rbp]
.L826:
	imul	eax, DWORD PTR -124[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -152[rbp]
	lea	rsi, [rcx+rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	tdefl_compress_buffer
	add	DWORD PTR -132[rbp], 1
.L824:
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jl	.L827
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 4
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	tdefl_compress_buffer
	cmp	eax, 1
	je	.L828
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L834
.L828:
	mov	rax, QWORD PTR -112[rbp]
	lea	rdx, -41[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR [rax], rdx
	mov	BYTE PTR -80[rbp], -119
	mov	BYTE PTR -79[rbp], 80
	mov	BYTE PTR -78[rbp], 78
	mov	BYTE PTR -77[rbp], 71
	mov	BYTE PTR -76[rbp], 13
	mov	BYTE PTR -75[rbp], 10
	mov	BYTE PTR -74[rbp], 26
	mov	BYTE PTR -73[rbp], 10
	mov	BYTE PTR -72[rbp], 0
	mov	BYTE PTR -71[rbp], 0
	mov	BYTE PTR -70[rbp], 0
	mov	BYTE PTR -69[rbp], 13
	mov	BYTE PTR -68[rbp], 73
	mov	BYTE PTR -67[rbp], 72
	mov	BYTE PTR -66[rbp], 68
	mov	BYTE PTR -65[rbp], 82
	mov	BYTE PTR -64[rbp], 0
	mov	BYTE PTR -63[rbp], 0
	mov	eax, DWORD PTR -156[rbp]
	sar	eax, 8
	mov	BYTE PTR -62[rbp], al
	mov	eax, DWORD PTR -156[rbp]
	mov	BYTE PTR -61[rbp], al
	mov	BYTE PTR -60[rbp], 0
	mov	BYTE PTR -59[rbp], 0
	mov	eax, DWORD PTR -160[rbp]
	sar	eax, 8
	mov	BYTE PTR -58[rbp], al
	mov	eax, DWORD PTR -160[rbp]
	mov	BYTE PTR -57[rbp], al
	mov	BYTE PTR -56[rbp], 8
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	lea	rdx, chans.0[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	BYTE PTR -55[rbp], al
	mov	BYTE PTR -54[rbp], 0
	mov	BYTE PTR -53[rbp], 0
	mov	BYTE PTR -52[rbp], 0
	mov	BYTE PTR -51[rbp], 0
	mov	BYTE PTR -50[rbp], 0
	mov	BYTE PTR -49[rbp], 0
	mov	BYTE PTR -48[rbp], 0
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR [rax]
	shr	rax, 24
	mov	BYTE PTR -47[rbp], al
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR [rax]
	shr	rax, 16
	mov	BYTE PTR -46[rbp], al
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR [rax]
	shr	rax, 8
	mov	BYTE PTR -45[rbp], al
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR [rax]
	mov	BYTE PTR -44[rbp], al
	mov	BYTE PTR -43[rbp], 73
	mov	BYTE PTR -42[rbp], 68
	mov	BYTE PTR -41[rbp], 65
	mov	BYTE PTR -40[rbp], 84
	lea	rax, -80[rbp]
	add	rax, 12
	mov	edx, 17
	mov	rsi, rax
	mov	edi, 0
	call	mz_crc32
	mov	DWORD PTR -128[rbp], eax
	mov	DWORD PTR -136[rbp], 0
	jmp	.L829
.L830:
	mov	eax, DWORD PTR -128[rbp]
	shr	eax, 24
	mov	edx, eax
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	lea	rcx, 29[rax]
	lea	rax, -80[rbp]
	add	rax, rcx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -136[rbp], 1
	sal	DWORD PTR -128[rbp], 8
.L829:
	cmp	DWORD PTR -136[rbp], 3
	jle	.L830
	mov	rax, QWORD PTR -96[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rbx, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR -64[rbp]
	mov	rbx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 32[rax], rdx
	movzx	edx, BYTE PTR -40[rbp]
	mov	BYTE PTR 40[rax], dl
	lea	rax, -112[rbp]
	mov	rdx, rax
	mov	esi, 16
	lea	rdi, .LC18[rip]
	call	tdefl_output_buffer_putter
	test	eax, eax
	jne	.L831
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L834
.L831:
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 4[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 37
	mov	rsi, rax
	mov	edi, 0
	call	mz_crc32
	mov	DWORD PTR -128[rbp], eax
	mov	DWORD PTR -136[rbp], 0
	jmp	.L832
.L833:
	mov	eax, DWORD PTR -128[rbp]
	shr	eax, 24
	mov	esi, eax
	mov	rdx, QWORD PTR -96[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -136[rbp]
	cdqe
	add	rax, rcx
	sub	rax, 16
	add	rax, rdx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -136[rbp], 1
	sal	DWORD PTR -128[rbp], 8
.L832:
	cmp	DWORD PTR -136[rbp], 3
	jle	.L833
	mov	rax, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 57[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -96[rbp]
.L834:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L835
	call	__stack_chk_fail@PLT
.L835:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	tdefl_write_image_to_png_file_in_memory_ex, .-tdefl_write_image_to_png_file_in_memory_ex
	.globl	tdefl_write_image_to_png_file_in_memory
	.type	tdefl_write_image_to_png_file_in_memory, @function
tdefl_write_image_to_png_file_in_memory:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	DWORD PTR -20[rbp], ecx
	mov	QWORD PTR -32[rbp], r8
	mov	rdi, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, 6
	mov	r8, rdi
	mov	rdi, rax
	call	tdefl_write_image_to_png_file_in_memory_ex
	add	rsp, 16
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	tdefl_write_image_to_png_file_in_memory, .-tdefl_write_image_to_png_file_in_memory
	.globl	tdefl_compressor_alloc
	.type	tdefl_compressor_alloc, @function
tdefl_compressor_alloc:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edi, 319352
	call	malloc@PLT
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	tdefl_compressor_alloc, .-tdefl_compressor_alloc
	.globl	tdefl_compressor_free
	.type	tdefl_compressor_free, @function
tdefl_compressor_free:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	tdefl_compressor_free, .-tdefl_compressor_free
	.globl	tinfl_decompressor_alloc
	.type	tinfl_decompressor_alloc, @function
tinfl_decompressor_alloc:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 11000
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L842
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
.L842:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	tinfl_decompressor_alloc, .-tinfl_decompressor_alloc
	.globl	tinfl_decompressor_free
	.type	tinfl_decompressor_free, @function
tinfl_decompressor_free:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	tinfl_decompressor_free, .-tinfl_decompressor_free
	.section	.rodata
	.align 32
	.type	s_crc32.18, @object
	.size	s_crc32.18, 64
s_crc32.18:
	.long	0
	.long	498536548
	.long	997073096
	.long	651767980
	.long	1994146192
	.long	1802195444
	.long	1303535960
	.long	1342533948
	.long	-306674912
	.long	-267414716
	.long	-690576408
	.long	-882789492
	.long	-1687895376
	.long	-2032938284
	.long	-1609899400
	.long	-1111625188
	.align 8
	.type	s_min_table_sizes.17, @object
	.size	s_min_table_sizes.17, 12
s_min_table_sizes.17:
	.long	257
	.long	1
	.long	4
	.align 16
	.type	s_length_dezigzag.16, @object
	.size	s_length_dezigzag.16, 19
s_length_dezigzag.16:
	.string	"\020\021\022"
	.ascii	"\b\007\t\006\n\005\013\004\f\003\r\002\016\001\017"
	.align 32
	.type	s_length_extra.15, @object
	.size	s_length_extra.15, 124
s_length_extra.15:
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	1
	.long	1
	.long	1
	.long	1
	.long	2
	.long	2
	.long	2
	.long	2
	.long	3
	.long	3
	.long	3
	.long	3
	.long	4
	.long	4
	.long	4
	.long	4
	.long	5
	.long	5
	.long	5
	.long	5
	.long	0
	.long	0
	.long	0
	.align 32
	.type	s_length_base.14, @object
	.size	s_length_base.14, 124
s_length_base.14:
	.long	3
	.long	4
	.long	5
	.long	6
	.long	7
	.long	8
	.long	9
	.long	10
	.long	11
	.long	13
	.long	15
	.long	17
	.long	19
	.long	23
	.long	27
	.long	31
	.long	35
	.long	43
	.long	51
	.long	59
	.long	67
	.long	83
	.long	99
	.long	115
	.long	131
	.long	163
	.long	195
	.long	227
	.long	258
	.long	0
	.long	0
	.align 32
	.type	s_dist_extra.13, @object
	.size	s_dist_extra.13, 128
s_dist_extra.13:
	.long	0
	.long	0
	.long	0
	.long	0
	.long	1
	.long	1
	.long	2
	.long	2
	.long	3
	.long	3
	.long	4
	.long	4
	.long	5
	.long	5
	.long	6
	.long	6
	.long	7
	.long	7
	.long	8
	.long	8
	.long	9
	.long	9
	.long	10
	.long	10
	.long	11
	.long	11
	.long	12
	.long	12
	.long	13
	.long	13
	.zero	8
	.align 32
	.type	s_dist_base.12, @object
	.size	s_dist_base.12, 128
s_dist_base.12:
	.long	1
	.long	2
	.long	3
	.long	4
	.long	5
	.long	7
	.long	9
	.long	13
	.long	17
	.long	25
	.long	33
	.long	49
	.long	65
	.long	97
	.long	129
	.long	193
	.long	257
	.long	385
	.long	513
	.long	769
	.long	1025
	.long	1537
	.long	2049
	.long	3073
	.long	4097
	.long	6145
	.long	8193
	.long	12289
	.long	16385
	.long	24577
	.long	0
	.long	0
	.align 16
	.type	__PRETTY_FUNCTION__.11, @object
	.size	__PRETTY_FUNCTION__.11, 17
__PRETTY_FUNCTION__.11:
	.string	"tinfl_decompress"
	.align 16
	.type	__PRETTY_FUNCTION__.10, @object
	.size	__PRETTY_FUNCTION__.10, 26
__PRETTY_FUNCTION__.10:
	.string	"tdefl_start_dynamic_block"
	.align 16
	.type	__PRETTY_FUNCTION__.9, @object
	.size	__PRETTY_FUNCTION__.9, 25
__PRETTY_FUNCTION__.9:
	.string	"tdefl_start_static_block"
	.align 16
	.type	__PRETTY_FUNCTION__.8, @object
	.size	__PRETTY_FUNCTION__.8, 24
__PRETTY_FUNCTION__.8:
	.string	"tdefl_compress_lz_codes"
	.align 16
	.type	__PRETTY_FUNCTION__.7, @object
	.size	__PRETTY_FUNCTION__.7, 18
__PRETTY_FUNCTION__.7:
	.string	"tdefl_flush_block"
	.align 16
	.type	__PRETTY_FUNCTION__.6, @object
	.size	__PRETTY_FUNCTION__.6, 20
__PRETTY_FUNCTION__.6:
	.string	"tdefl_compress_fast"
	.align 16
	.type	__PRETTY_FUNCTION__.5, @object
	.size	__PRETTY_FUNCTION__.5, 22
__PRETTY_FUNCTION__.5:
	.string	"tdefl_compress_normal"
	.align 16
	.type	__PRETTY_FUNCTION__.4, @object
	.size	__PRETTY_FUNCTION__.4, 17
__PRETTY_FUNCTION__.4:
	.string	"tdefl_find_match"
	.align 16
	.type	__PRETTY_FUNCTION__.3, @object
	.size	__PRETTY_FUNCTION__.3, 19
__PRETTY_FUNCTION__.3:
	.string	"tdefl_record_match"
	.align 16
	.type	__PRETTY_FUNCTION__.2, @object
	.size	__PRETTY_FUNCTION__.2, 22
__PRETTY_FUNCTION__.2:
	.string	"tdefl_compress_buffer"
	.align 32
	.type	s_tdefl_png_num_probes.1, @object
	.size	s_tdefl_png_num_probes.1, 44
s_tdefl_png_num_probes.1:
	.long	0
	.long	1
	.long	6
	.long	32
	.long	16
	.long	32
	.long	128
	.long	256
	.long	512
	.long	768
	.long	1500
	.type	chans.0, @object
	.size	chans.0, 5
chans.0:
	.string	""
	.string	""
	.ascii	"\004\002\006"
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"241415.c"
	.text
	.align	2
	.global	mz_adler32
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_adler32, %function
mz_adler32:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #16
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r2, .L10
	umull	r1, r2, r3, r2
	lsr	r2, r2, #11
	ldr	r1, .L10+4
	mul	r2, r1, r2
	sub	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L4
	mov	r3, #1
	b	.L3
.L9:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L5
.L6:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #8
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	str	r3, [fp, #-28]
.L5:
	ldr	r3, [fp, #-20]
	add	r3, r3, #7
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bhi	.L6
	b	.L7
.L8:
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L7:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bcc	.L8
	ldr	r1, [fp, #-16]
	ldr	r3, .L10+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #15
	mov	r3, r2
	lsl	r3, r3, #12
	sub	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r3, r2
	sub	r3, r1, r3
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r3, .L10+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #15
	mov	r3, r2
	lsl	r3, r3, #12
	sub	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r3, r2
	sub	r3, r1, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, .L10+4
	str	r3, [fp, #-8]
.L4:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L9
	ldr	r3, [fp, #-12]
	lsl	r2, r3, #16
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
.L3:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L11:
	.align	2
.L10:
	.word	1584310703
	.word	5552
	.word	-2146992015
	.size	mz_adler32, .-mz_adler32
	.align	2
	.global	mz_crc32
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_crc32, %function
mz_crc32:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L13
	mov	r3, #0
	b	.L14
.L13:
	ldr	r3, [fp, #-8]
	mvn	r3, r3
	str	r3, [fp, #-8]
	b	.L15
.L16:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	r3, [r3]
	strb	r3, [fp, #-9]
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #4
	ldrb	r1, [fp, #-9]	@ zero_extendqisi2
	ldr	r3, [fp, #-8]
	eor	r3, r3, r1
	and	r3, r3, #15
	ldr	r1, .L17
	ldr	r3, [r1, r3, lsl #2]
	eor	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #4
	ldr	r3, [fp, #-8]
	and	r3, r3, #15
	ldrb	r1, [fp, #-9]	@ zero_extendqisi2
	lsr	r1, r1, #4
	and	r1, r1, #255
	eor	r3, r3, r1
	ldr	r1, .L17
	ldr	r3, [r1, r3, lsl #2]
	eor	r3, r3, r2
	str	r3, [fp, #-8]
.L15:
	ldr	r3, [fp, #-24]
	sub	r2, r3, #1
	str	r2, [fp, #-24]
	cmp	r3, #0
	bne	.L16
	ldr	r3, [fp, #-8]
	mvn	r3, r3
.L14:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L18:
	.align	2
.L17:
	.word	s_crc32.5248
	.size	mz_crc32, .-mz_crc32
	.align	2
	.global	mz_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_free, %function
mz_free:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_free, .-mz_free
	.section	.rodata
	.align	2
.LC3:
	.ascii	"the_stack_data/241415.c\000"
	.align	2
.LC4:
	.ascii	"!num_bits\000"
	.align	2
.LC0:
	.ascii	"\005\005\004\000"
	.align	2
.LC1:
	.ascii	"\002\003\007\000"
	.align	2
.LC2:
	.ascii	"\003\003\013\000"
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tinfl_decompress
	.syntax unified
	.arm
	.fpu softvfp
	.type	tinfl_decompress, %function
tinfl_decompress:
	@ args = 12, pretend = 0, frame = 408
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #408
	str	r0, [fp, #-408]
	str	r1, [fp, #-412]
	str	r2, [fp, #-416]
	str	r3, [fp, #-420]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-424]
	ldr	r3, [fp, #8]
	str	r3, [fp, #-428]
	ldr	r3, .L298
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	mvn	r3, #0
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-412]
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-416]
	ldr	r3, [r3]
	ldr	r2, [fp, #-412]
	add	r3, r2, r3
	str	r3, [fp, #-252]
	ldr	r3, [fp, #-424]
	str	r3, [fp, #-372]
	ldr	r3, [fp, #-428]
	ldr	r3, [r3]
	ldr	r2, [fp, #-424]
	add	r3, r2, r3
	str	r3, [fp, #-248]
	ldr	r3, [fp, #12]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L21
	ldr	r2, [fp, #-424]
	ldr	r3, [fp, #-420]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-428]
	ldr	r3, [r3]
	add	r3, r2, r3
	sub	r3, r3, #1
	b	.L22
.L21:
	mvn	r3, #0
.L22:
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-244]
	add	r2, r3, #1
	ldr	r3, [fp, #-244]
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L23
	ldr	r2, [fp, #-424]
	ldr	r3, [fp, #-420]
	cmp	r2, r3
	bcs	.L24
.L23:
	ldr	r3, [fp, #-428]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-428]
	ldr	r2, [r3]
	ldr	r3, [fp, #-416]
	str	r2, [r3]
	mvn	r3, #2
	b	.L25
.L24:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-392]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-388]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #60]
	str	r3, [fp, #-368]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3]
	cmp	r3, #53
	ldrls	pc, [pc, r3, asl #2]
	b	.L26
.L28:
	.word	.L59
	.word	.L58
	.word	.L57
	.word	.L56
	.word	.L26
	.word	.L55
	.word	.L54
	.word	.L53
	.word	.L26
	.word	.L52
	.word	.L117
	.word	.L50
	.word	.L26
	.word	.L26
	.word	.L49
	.word	.L26
	.word	.L48
	.word	.L182
	.word	.L46
	.word	.L26
	.word	.L26
	.word	.L192
	.word	.L26
	.word	.L44
	.word	.L43
	.word	.L42
	.word	.L41
	.word	.L40
	.word	.L26
	.word	.L26
	.word	.L26
	.word	.L26
	.word	.L39
	.word	.L26
	.word	.L269
	.word	.L149
	.word	.L74
	.word	.L253
	.word	.L34
	.word	.L99
	.word	.L26
	.word	.L32
	.word	.L31
	.word	.L26
	.word	.L26
	.word	.L26
	.word	.L26
	.word	.L26
	.word	.L26
	.word	.L26
	.word	.L26
	.word	.L30
	.word	.L29
	.word	.L27
.L59:
	ldr	r3, [fp, #-408]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-408]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-408]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-384]
	str	r3, [fp, #-388]
	ldr	r3, [fp, #-388]
	str	r3, [fp, #-392]
	ldr	r3, [fp, #-392]
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-408]
	mov	r2, #1
	str	r2, [r3, #28]
	ldr	r3, [fp, #-408]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-408]
	str	r2, [r3, #16]
	ldr	r3, [fp, #12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L60
	b	.L58
.L63:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L61
	mov	r3, #1
	b	.L62
.L61:
	mvn	r3, #3
.L62:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #1
	str	r2, [r3]
	b	.L26
.L58:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L63
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-408]
	str	r2, [r3, #8]
	b	.L57
.L66:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L64
	mov	r3, #1
	b	.L65
.L64:
	mvn	r3, #3
.L65:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #2
	str	r2, [r3]
	b	.L26
.L57:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L66
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-408]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #8]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #12]
	add	r1, r2, r3
	ldr	r3, .L298+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L67
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #12]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L67
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #8]
	and	r3, r3, #15
	cmp	r3, #8
	beq	.L68
.L67:
	mov	r3, #1
	b	.L69
.L68:
	mov	r3, #0
.L69:
	str	r3, [fp, #-388]
	ldr	r3, [fp, #12]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L70
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #8]
	lsr	r3, r3, #4
	add	r3, r3, #8
	mov	r2, #1
	lsl	r3, r2, r3
	cmp	r3, #32768
	bhi	.L71
	ldr	r3, [fp, #-244]
	add	r2, r3, #1
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #8]
	lsr	r3, r3, #4
	add	r3, r3, #8
	lsr	r3, r2, r3
	cmp	r3, #0
	bne	.L72
.L71:
	mov	r3, #1
	b	.L73
.L72:
	mov	r3, #0
.L73:
	mov	r2, r3
	ldr	r3, [fp, #-388]
	orr	r3, r3, r2
	str	r3, [fp, #-388]
.L70:
	ldr	r3, [fp, #-388]
	cmp	r3, #0
	beq	.L60
.L74:
	mvn	r3, #0
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #36
	str	r2, [r3]
	b	.L26
.L60:
	ldr	r3, [fp, #-396]
	cmp	r3, #2
	bhi	.L75
	b	.L56
.L78:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L76
	mov	r3, #1
	b	.L77
.L76:
	mvn	r3, #3
.L77:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #3
	str	r2, [r3]
	b	.L26
.L56:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L78
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-240]
	ldr	r2, [fp, #-240]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	cmp	r3, #2
	bls	.L56
.L75:
	ldr	r3, [fp, #-380]
	and	r2, r3, #7
	ldr	r3, [fp, #-408]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-380]
	lsr	r3, r3, #3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	sub	r3, r3, #3
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #20]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-408]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L80
	ldr	r3, [fp, #-396]
	and	r3, r3, #7
	ldr	r2, [fp, #-396]
	cmp	r2, r3
	bcs	.L81
	b	.L55
.L84:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L82
	mov	r3, #1
	b	.L83
.L82:
	mvn	r3, #3
.L83:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #5
	str	r2, [r3]
	b	.L26
.L55:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L84
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-180]
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	and	r3, r3, #7
	ldr	r2, [fp, #-396]
	cmp	r2, r3
	bcc	.L55
.L81:
	ldr	r3, [fp, #-396]
	and	r3, r3, #7
	ldr	r2, [fp, #-380]
	lsr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	bic	r3, r3, #7
	str	r3, [fp, #-396]
	mov	r3, #0
	str	r3, [fp, #-388]
	b	.L86
.L97:
	ldr	r3, [fp, #-396]
	cmp	r3, #0
	beq	.L53
	ldr	r3, [fp, #-396]
	cmp	r3, #7
	bhi	.L88
	b	.L54
.L91:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L89
	mov	r3, #1
	b	.L90
.L89:
	mvn	r3, #3
.L90:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #6
	str	r2, [r3]
	b	.L26
.L54:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L91
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-160]
	ldr	r2, [fp, #-160]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	cmp	r3, #7
	bls	.L54
.L88:
	ldr	r3, [fp, #-380]
	and	r1, r3, #255
	ldr	r2, [fp, #-408]
	ldr	r3, [fp, #-388]
	add	r3, r2, r3
	add	r3, r3, #10496
	add	r3, r3, #32
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-380]
	lsr	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	sub	r3, r3, #8
	str	r3, [fp, #-396]
	b	.L93
.L96:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L94
	mov	r3, #1
	b	.L95
.L94:
	mvn	r3, #3
.L95:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #7
	str	r2, [r3]
	b	.L26
.L53:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L96
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-408]
	ldr	r3, [fp, #-388]
	add	r3, r2, r3
	add	r3, r3, #10496
	add	r3, r3, #32
	mov	r2, r1
	strb	r2, [r3]
.L93:
	ldr	r3, [fp, #-388]
	add	r3, r3, #1
	str	r3, [fp, #-388]
.L86:
	ldr	r3, [fp, #-388]
	cmp	r3, #3
	bls	.L97
	ldr	r3, [fp, #-408]
	add	r3, r3, #8192
	ldrb	r3, [r3, #2336]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-408]
	add	r3, r3, #8192
	ldrb	r3, [r3, #2337]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-388]
	ldr	r3, [fp, #-408]
	add	r3, r3, #8192
	ldrb	r3, [r3, #2338]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-408]
	add	r3, r3, #8192
	ldrb	r3, [r3, #2339]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	eor	r3, r3, #65280
	eor	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-388]
	cmp	r3, r2
	beq	.L100
.L99:
	mvn	r3, #0
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #39
	str	r2, [r3]
	b	.L26
.L108:
	ldr	r3, [fp, #-396]
	cmp	r3, #7
	bhi	.L101
	b	.L30
.L104:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L102
	mov	r3, #1
	b	.L103
.L102:
	mvn	r3, #3
.L103:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #51
	str	r2, [r3]
	b	.L26
.L30:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L104
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-164]
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	cmp	r3, #7
	bls	.L30
.L101:
	ldr	r3, [fp, #-380]
	and	r3, r3, #255
	str	r3, [fp, #-392]
	ldr	r3, [fp, #-380]
	lsr	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	sub	r3, r3, #8
	str	r3, [fp, #-396]
	b	.L29
.L106:
	mov	r3, #2
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #52
	str	r2, [r3]
	b	.L26
.L29:
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-248]
	cmp	r2, r3
	bcs	.L106
	ldr	r3, [fp, #-372]
	add	r2, r3, #1
	str	r2, [fp, #-372]
	ldr	r2, [fp, #-392]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-388]
	sub	r3, r3, #1
	str	r3, [fp, #-388]
.L100:
	ldr	r3, [fp, #-388]
	cmp	r3, #0
	beq	.L109
	ldr	r3, [fp, #-396]
	cmp	r3, #0
	bne	.L108
	b	.L109
.L110:
	mov	r3, #2
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #9
	str	r2, [r3]
	b	.L26
.L52:
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-248]
	cmp	r2, r3
	bcs	.L110
	b	.L34
.L113:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L111
	mov	r3, #1
	b	.L112
.L111:
	mvn	r3, #3
.L112:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #38
	str	r2, [r3]
	b	.L26
.L34:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L113
	ldr	r2, [fp, #-252]
	ldr	r3, [fp, #-376]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-248]
	ldr	r3, [fp, #-372]
	sub	r3, r1, r3
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	ldr	r2, [fp, #-388]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	str	r3, [fp, #-168]
	ldr	r2, [fp, #-168]
	ldr	r1, [fp, #-376]
	ldr	r0, [fp, #-372]
	bl	memcpy
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	str	r3, [fp, #-376]
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	str	r3, [fp, #-372]
	ldr	r2, [fp, #-388]
	ldr	r3, [fp, #-168]
	sub	r3, r2, r3
	str	r3, [fp, #-388]
.L109:
	ldr	r3, [fp, #-388]
	cmp	r3, #0
	bne	.L52
	b	.L115
.L80:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #24]
	cmp	r3, #3
	bne	.L116
.L117:
	mvn	r3, #0
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #10
	str	r2, [r3]
	b	.L26
.L116:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #24]
	cmp	r3, #1
	bne	.L118
	ldr	r3, [fp, #-408]
	add	r3, r3, #64
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-408]
	mov	r2, #288
	str	r2, [r3, #44]
	ldr	r3, [fp, #-408]
	mov	r2, #32
	str	r2, [r3, #48]
	ldr	r3, [fp, #-408]
	add	r3, r3, #3552
	mov	r2, #32
	mov	r1, #5
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-360]
	b	.L119
.L120:
	ldr	r3, [fp, #-364]
	add	r2, r3, #1
	str	r2, [fp, #-364]
	mov	r2, #8
	strb	r2, [r3]
	ldr	r3, [fp, #-360]
	add	r3, r3, #1
	str	r3, [fp, #-360]
.L119:
	ldr	r3, [fp, #-360]
	cmp	r3, #143
	bls	.L120
	b	.L121
.L122:
	ldr	r3, [fp, #-364]
	add	r2, r3, #1
	str	r2, [fp, #-364]
	mov	r2, #9
	strb	r2, [r3]
	ldr	r3, [fp, #-360]
	add	r3, r3, #1
	str	r3, [fp, #-360]
.L121:
	ldr	r3, [fp, #-360]
	cmp	r3, #255
	bls	.L122
	b	.L123
.L124:
	ldr	r3, [fp, #-364]
	add	r2, r3, #1
	str	r2, [fp, #-364]
	mov	r2, #7
	strb	r2, [r3]
	ldr	r3, [fp, #-360]
	add	r3, r3, #1
	str	r3, [fp, #-360]
.L123:
	ldr	r3, [fp, #-360]
	cmp	r3, #280
	bcc	.L124
	b	.L125
.L126:
	ldr	r3, [fp, #-364]
	add	r2, r3, #1
	str	r2, [fp, #-364]
	mov	r2, #8
	strb	r2, [r3]
	ldr	r3, [fp, #-360]
	add	r3, r3, #1
	str	r3, [fp, #-360]
.L125:
	ldr	r3, [fp, #-360]
	cmp	r3, #288
	bcc	.L126
	b	.L142
.L118:
	mov	r3, #0
	str	r3, [fp, #-388]
	b	.L128
.L134:
	ldr	r2, .L298+8
	ldr	r3, [fp, #-388]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-396]
	cmp	r3, r2
	bcs	.L129
	b	.L50
.L132:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L130
	mov	r3, #1
	b	.L131
.L130:
	mvn	r3, #3
.L131:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #11
	str	r2, [r3]
	b	.L26
.L50:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L132
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-228]
	ldr	r2, [fp, #-228]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r2, .L298+8
	ldr	r3, [fp, #-388]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-396]
	cmp	r3, r2
	bcc	.L50
.L129:
	ldr	r2, .L298+8
	ldr	r3, [fp, #-388]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	mov	r3, #1
	lsl	r3, r3, r2
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-380]
	and	r2, r2, r3
	ldr	r1, [fp, #-408]
	ldr	r3, [fp, #-388]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	ldr	r2, .L298+8
	ldr	r3, [fp, #-388]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-380]
	lsr	r3, r3, r2
	str	r3, [fp, #-380]
	ldr	r2, .L298+8
	ldr	r3, [fp, #-388]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-396]
	sub	r3, r3, r2
	str	r3, [fp, #-396]
	ldr	r2, [fp, #-408]
	ldr	r3, [fp, #-388]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r1, .L298+12
	ldr	r2, [fp, #-388]
	ldr	r2, [r1, r2, lsl #2]
	add	r2, r3, r2
	ldr	r1, [fp, #-408]
	ldr	r3, [fp, #-388]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	ldr	r3, [fp, #-388]
	add	r3, r3, #1
	str	r3, [fp, #-388]
.L128:
	ldr	r3, [fp, #-388]
	cmp	r3, #2
	bls	.L134
	ldr	r3, [fp, #-408]
	add	r3, r3, #7040
	mov	r2, #288
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-388]
	b	.L135
.L141:
	ldr	r3, [fp, #-396]
	cmp	r3, #2
	bhi	.L136
	b	.L49
.L139:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L137
	mov	r3, #1
	b	.L138
.L137:
	mvn	r3, #3
.L138:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #14
	str	r2, [r3]
	b	.L26
.L49:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L139
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-236]
	ldr	r2, [fp, #-236]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	cmp	r3, #2
	bls	.L49
.L136:
	ldr	r3, [fp, #-380]
	and	r3, r3, #7
	str	r3, [fp, #-232]
	ldr	r3, [fp, #-380]
	lsr	r3, r3, #3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	sub	r3, r3, #3
	str	r3, [fp, #-396]
	ldr	r2, .L298+16
	ldr	r3, [fp, #-388]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-232]
	and	r2, r3, #255
	ldr	r3, [fp, #-408]
	add	r3, r3, r1
	add	r3, r3, #7040
	strb	r2, [r3]
	ldr	r3, [fp, #-388]
	add	r3, r3, #1
	str	r3, [fp, #-388]
.L135:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-388]
	cmp	r2, r3
	bcc	.L141
	ldr	r3, [fp, #-408]
	mov	r2, #19
	str	r2, [r3, #52]
	b	.L142
.L193:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #24]
	mov	r2, #3488
	mul	r3, r2, r3
	add	r3, r3, #64
	ldr	r2, [fp, #-408]
	add	r3, r2, r3
	str	r3, [fp, #-224]
	sub	r3, fp, #156
	mov	r2, #64
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-224]
	add	r3, r3, #288
	mov	r2, #2048
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-224]
	add	r3, r3, #2336
	mov	r2, #1152
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-348]
	b	.L143
.L144:
	ldr	r2, [fp, #-224]
	ldr	r3, [fp, #-348]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	lsl	r3, r2, #2
	sub	r1, fp, #20
	add	r3, r1, r3
	ldr	r3, [r3, #-136]
	add	r1, r3, #1
	lsl	r3, r2, #2
	sub	r2, fp, #20
	add	r3, r2, r3
	str	r1, [r3, #-136]
	ldr	r3, [fp, #-348]
	add	r3, r3, #1
	str	r3, [fp, #-348]
.L143:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-408]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-348]
	cmp	r2, r3
	bcc	.L144
	mov	r3, #0
	str	r3, [fp, #-340]
	mov	r3, #0
	str	r3, [fp, #-336]
	mov	r3, #0
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-92]
	mov	r3, #1
	str	r3, [fp, #-348]
	b	.L145
.L146:
	ldr	r3, [fp, #-348]
	lsl	r3, r3, #2
	sub	r2, fp, #20
	add	r3, r2, r3
	ldr	r3, [r3, #-136]
	ldr	r2, [fp, #-340]
	add	r3, r2, r3
	str	r3, [fp, #-340]
	ldr	r3, [fp, #-348]
	lsl	r3, r3, #2
	sub	r2, fp, #20
	add	r3, r2, r3
	ldr	r2, [r3, #-136]
	ldr	r3, [fp, #-336]
	add	r3, r2, r3
	lsl	r3, r3, #1
	str	r3, [fp, #-336]
	ldr	r3, [fp, #-348]
	add	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #20
	add	r3, r2, r3
	ldr	r2, [fp, #-336]
	str	r2, [r3, #-72]
	ldr	r3, [fp, #-348]
	add	r3, r3, #1
	str	r3, [fp, #-348]
.L145:
	ldr	r3, [fp, #-348]
	cmp	r3, #15
	bls	.L146
	ldr	r3, [fp, #-336]
	cmp	r3, #65536
	beq	.L147
	ldr	r3, [fp, #-340]
	cmp	r3, #1
	bls	.L147
.L149:
	mvn	r3, #0
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #35
	str	r2, [r3]
	b	.L26
.L147:
	mvn	r3, #0
	str	r3, [fp, #-356]
	mov	r3, #0
	str	r3, [fp, #-332]
	b	.L150
.L299:
	.align	2
.L298:
	.word	.LC5
	.word	138547333
	.word	.LC0
	.word	s_min_table_sizes.5271
	.word	s_length_dezigzag.5270
	.word	.LC1
	.word	.LC2
	.word	s_length_extra.5267
	.word	s_length_base.5266
.L163:
	mov	r3, #0
	str	r3, [fp, #-328]
	ldr	r2, [fp, #-224]
	ldr	r3, [fp, #-332]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-220]
	ldr	r3, [fp, #-220]
	cmp	r3, #0
	beq	.L294
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #2
	sub	r2, fp, #20
	add	r3, r2, r3
	ldr	r2, [r3, #-72]
	add	r1, r2, #1
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #2
	sub	r0, fp, #20
	add	r3, r0, r3
	str	r1, [r3, #-72]
	str	r2, [fp, #-320]
	ldr	r3, [fp, #-220]
	str	r3, [fp, #-324]
	b	.L153
.L154:
	ldr	r3, [fp, #-328]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-320]
	and	r3, r3, #1
	orr	r3, r2, r3
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-324]
	sub	r3, r3, #1
	str	r3, [fp, #-324]
	ldr	r3, [fp, #-320]
	lsr	r3, r3, #1
	str	r3, [fp, #-320]
.L153:
	ldr	r3, [fp, #-324]
	cmp	r3, #0
	bne	.L154
	ldr	r3, [fp, #-220]
	cmp	r3, #10
	bhi	.L155
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #9
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-332]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #20
	sub	r3, r3, #380
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L156
.L157:
	ldr	r2, [fp, #-224]
	ldr	r3, [fp, #-328]
	add	r3, r3, #144
	lsl	r3, r3, #1
	add	r2, r2, r3
	sub	r3, fp, #20
	sub	r3, r3, #380
	sub	r3, r3, #2
	ldrh	r3, [r3]	@ movhi
	strh	r3, [r2]	@ movhi
	mov	r2, #1
	ldr	r3, [fp, #-220]
	lsl	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-328]
	add	r3, r3, r2
	str	r3, [fp, #-328]
.L156:
	ldr	r3, [fp, #-328]
	cmp	r3, #1024
	bcc	.L157
	b	.L152
.L155:
	ldr	r3, [fp, #-328]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-224]
	add	r3, r3, #144
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-352]
	ldr	r3, [fp, #-352]
	cmp	r3, #0
	bne	.L158
	ldr	r3, [fp, #-328]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-356]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, [fp, #-224]
	add	r3, r3, #144
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-356]
	str	r3, [fp, #-352]
	ldr	r3, [fp, #-356]
	sub	r3, r3, #2
	str	r3, [fp, #-356]
.L158:
	ldr	r3, [fp, #-328]
	lsr	r3, r3, #9
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-220]
	str	r3, [fp, #-344]
	b	.L159
.L162:
	ldr	r3, [fp, #-328]
	lsr	r3, r3, #1
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-328]
	and	r3, r3, #1
	ldr	r2, [fp, #-352]
	sub	r3, r2, r3
	str	r3, [fp, #-352]
	ldr	r3, [fp, #-352]
	mvn	r3, r3
	ldr	r2, [fp, #-224]
	add	r3, r3, #1168
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r3, #0
	bne	.L160
	ldr	r3, [fp, #-352]
	mvn	r3, r3
	ldr	r2, [fp, #-356]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, [fp, #-224]
	add	r3, r3, #1168
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-356]
	str	r3, [fp, #-352]
	ldr	r3, [fp, #-356]
	sub	r3, r3, #2
	str	r3, [fp, #-356]
	b	.L161
.L160:
	ldr	r3, [fp, #-352]
	mvn	r3, r3
	ldr	r2, [fp, #-224]
	add	r3, r3, #1168
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-352]
.L161:
	ldr	r3, [fp, #-344]
	sub	r3, r3, #1
	str	r3, [fp, #-344]
.L159:
	ldr	r3, [fp, #-344]
	cmp	r3, #11
	bhi	.L162
	ldr	r3, [fp, #-328]
	lsr	r3, r3, #1
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-328]
	and	r3, r3, #1
	ldr	r2, [fp, #-352]
	sub	r3, r2, r3
	str	r3, [fp, #-352]
	ldr	r3, [fp, #-352]
	mvn	r3, r3
	ldr	r2, [fp, #-332]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, [fp, #-224]
	add	r3, r3, #1168
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	b	.L152
.L294:
	nop
.L152:
	ldr	r3, [fp, #-332]
	add	r3, r3, #1
	str	r3, [fp, #-332]
.L150:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-408]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-332]
	cmp	r2, r3
	bcc	.L163
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #24]
	cmp	r3, #2
	bne	.L164
	mov	r3, #0
	str	r3, [fp, #-388]
	b	.L165
.L190:
	ldr	r3, [fp, #-396]
	cmp	r3, #14
	bhi	.L166
	ldr	r2, [fp, #-252]
	ldr	r3, [fp, #-376]
	sub	r3, r2, r3
	cmp	r3, #1
	bgt	.L167
.L176:
	ldr	r3, [fp, #-380]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-408]
	add	r3, r3, #3664
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-316]
	ldr	r3, [fp, #-316]
	cmp	r3, #0
	blt	.L168
	ldr	r3, [fp, #-316]
	asr	r3, r3, #9
	str	r3, [fp, #-312]
	ldr	r3, [fp, #-312]
	cmp	r3, #0
	beq	.L48
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-312]
	cmp	r2, r3
	bcc	.L48
	b	.L166
.L168:
	ldr	r3, [fp, #-396]
	cmp	r3, #10
	bls	.L48
	mov	r3, #10
	str	r3, [fp, #-312]
.L172:
	ldr	r3, [fp, #-312]
	add	r2, r3, #1
	str	r2, [fp, #-312]
	ldr	r2, [fp, #-380]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-316]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-408]
	add	r3, r3, #4672
	add	r3, r3, #16
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-316]
	ldr	r3, [fp, #-316]
	cmp	r3, #0
	bge	.L171
	ldr	r3, [fp, #-312]
	add	r3, r3, #1
	ldr	r2, [fp, #-396]
	cmp	r2, r3
	bcs	.L172
.L171:
	ldr	r3, [fp, #-316]
	cmp	r3, #0
	blt	.L48
	b	.L166
.L175:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L173
	mov	r3, #1
	b	.L174
.L173:
	mvn	r3, #3
.L174:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #16
	str	r2, [r3]
	b	.L26
.L48:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L175
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	cmp	r3, #14
	bls	.L176
	b	.L166
.L167:
	ldr	r3, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-396]
	lsl	r2, r2, r3
	ldr	r3, [fp, #-376]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	lsl	r3, r1, r3
	orr	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-376]
	add	r3, r3, #2
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-396]
	add	r3, r3, #16
	str	r3, [fp, #-396]
.L166:
	ldr	r3, [fp, #-380]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-408]
	add	r3, r3, #3664
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-316]
	ldr	r3, [fp, #-316]
	cmp	r3, #0
	blt	.L177
	ldr	r3, [fp, #-316]
	asr	r3, r3, #9
	str	r3, [fp, #-312]
	ldr	r3, [fp, #-316]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-316]
	b	.L178
.L177:
	mov	r3, #10
	str	r3, [fp, #-312]
.L179:
	ldr	r3, [fp, #-312]
	add	r2, r3, #1
	str	r2, [fp, #-312]
	ldr	r2, [fp, #-380]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-316]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-408]
	add	r3, r3, #4672
	add	r3, r3, #16
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-316]
	ldr	r3, [fp, #-316]
	cmp	r3, #0
	blt	.L179
.L178:
	ldr	r3, [fp, #-316]
	str	r3, [fp, #-392]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-312]
	lsr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-312]
	sub	r3, r2, r3
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-392]
	cmp	r3, #15
	bhi	.L180
	ldr	r3, [fp, #-388]
	add	r2, r3, #1
	str	r2, [fp, #-388]
	ldr	r2, [fp, #-392]
	and	r1, r2, #255
	ldr	r2, [fp, #-408]
	add	r3, r2, r3
	add	r3, r3, #10496
	add	r3, r3, #36
	mov	r2, r1
	strb	r2, [r3]
	b	.L165
.L180:
	ldr	r3, [fp, #-392]
	cmp	r3, #16
	bne	.L181
	ldr	r3, [fp, #-388]
	cmp	r3, #0
	bne	.L181
.L182:
	mvn	r3, #0
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #17
	str	r2, [r3]
	b	.L26
.L181:
	ldr	r3, [fp, #-392]
	sub	r3, r3, #16
	ldr	r2, .L298+20
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-384]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-384]
	cmp	r2, r3
	bcs	.L183
	b	.L46
.L186:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L184
	mov	r3, #1
	b	.L185
.L184:
	mvn	r3, #3
.L185:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #18
	str	r2, [r3]
	b	.L26
.L46:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L186
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-384]
	cmp	r2, r3
	bcc	.L46
.L183:
	mov	r2, #1
	ldr	r3, [fp, #-384]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-380]
	and	r3, r3, r2
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-384]
	lsr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-384]
	sub	r3, r2, r3
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-392]
	sub	r3, r3, #16
	ldr	r2, .L298+24
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-184]
	add	r3, r3, r2
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-408]
	add	r3, r3, #10496
	add	r3, r3, #36
	ldr	r2, [fp, #-388]
	add	r0, r3, r2
	ldr	r3, [fp, #-392]
	cmp	r3, #16
	bne	.L188
	ldr	r3, [fp, #-388]
	sub	r3, r3, #1
	ldr	r2, [fp, #-408]
	add	r3, r2, r3
	add	r3, r3, #10496
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	b	.L189
.L188:
	mov	r3, #0
.L189:
	ldr	r2, [fp, #-184]
	mov	r1, r3
	bl	memset
	ldr	r2, [fp, #-388]
	ldr	r3, [fp, #-184]
	add	r3, r2, r3
	str	r3, [fp, #-388]
.L165:
	ldr	r3, [fp, #-408]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #48]
	add	r3, r2, r3
	ldr	r2, [fp, #-388]
	cmp	r2, r3
	bcc	.L190
	ldr	r3, [fp, #-408]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #48]
	add	r3, r2, r3
	ldr	r2, [fp, #-388]
	cmp	r2, r3
	beq	.L191
.L192:
	mvn	r3, #0
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #21
	str	r2, [r3]
	b	.L26
.L191:
	ldr	r3, [fp, #-408]
	add	r0, r3, #64
	ldr	r3, [fp, #-408]
	add	r3, r3, #10496
	add	r3, r3, #36
	ldr	r2, [fp, #-408]
	ldr	r2, [r2, #44]
	mov	r1, r3
	bl	memcpy
	ldr	r3, [fp, #-408]
	add	r0, r3, #3552
	ldr	r3, [fp, #-408]
	add	r3, r3, #10496
	add	r3, r3, #36
	ldr	r2, [fp, #-408]
	ldr	r2, [r2, #44]
	add	r1, r3, r2
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #48]
	mov	r2, r3
	bl	memcpy
.L164:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #24]
	sub	r2, r3, #1
	ldr	r3, [fp, #-408]
	str	r2, [r3, #24]
.L142:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bge	.L193
	b	.L224
.L297:
	nop
.L224:
	ldr	r2, [fp, #-252]
	ldr	r3, [fp, #-376]
	sub	r3, r2, r3
	cmp	r3, #3
	ble	.L194
	ldr	r2, [fp, #-248]
	ldr	r3, [fp, #-372]
	sub	r3, r2, r3
	cmp	r3, #1
	bgt	.L195
.L194:
	ldr	r3, [fp, #-396]
	cmp	r3, #14
	bhi	.L196
	ldr	r2, [fp, #-252]
	ldr	r3, [fp, #-376]
	sub	r3, r2, r3
	cmp	r3, #1
	bgt	.L197
.L206:
	ldr	r3, [fp, #-380]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-408]
	add	r3, r3, #176
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-304]
	ldr	r3, [fp, #-304]
	cmp	r3, #0
	blt	.L198
	ldr	r3, [fp, #-304]
	asr	r3, r3, #9
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-300]
	cmp	r3, #0
	beq	.L44
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-300]
	cmp	r2, r3
	bcc	.L44
	b	.L196
.L198:
	ldr	r3, [fp, #-396]
	cmp	r3, #10
	bls	.L44
	mov	r3, #10
	str	r3, [fp, #-300]
.L202:
	ldr	r3, [fp, #-300]
	add	r2, r3, #1
	str	r2, [fp, #-300]
	ldr	r2, [fp, #-380]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-304]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-408]
	add	r3, r3, #1200
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-304]
	ldr	r3, [fp, #-304]
	cmp	r3, #0
	bge	.L201
	ldr	r3, [fp, #-300]
	add	r3, r3, #1
	ldr	r2, [fp, #-396]
	cmp	r2, r3
	bcs	.L202
.L201:
	ldr	r3, [fp, #-304]
	cmp	r3, #0
	blt	.L44
	b	.L196
.L205:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L203
	mov	r3, #1
	b	.L204
.L203:
	mvn	r3, #3
.L204:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #23
	str	r2, [r3]
	b	.L26
.L44:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L205
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-216]
	ldr	r2, [fp, #-216]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	cmp	r3, #14
	bls	.L206
	b	.L196
.L197:
	ldr	r3, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-396]
	lsl	r2, r2, r3
	ldr	r3, [fp, #-376]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	lsl	r3, r1, r3
	orr	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-376]
	add	r3, r3, #2
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-396]
	add	r3, r3, #16
	str	r3, [fp, #-396]
.L196:
	ldr	r3, [fp, #-380]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-408]
	add	r3, r3, #176
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-304]
	ldr	r3, [fp, #-304]
	cmp	r3, #0
	blt	.L207
	ldr	r3, [fp, #-304]
	asr	r3, r3, #9
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-304]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-304]
	b	.L208
.L207:
	mov	r3, #10
	str	r3, [fp, #-300]
.L209:
	ldr	r3, [fp, #-300]
	add	r2, r3, #1
	str	r2, [fp, #-300]
	ldr	r2, [fp, #-380]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-304]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-408]
	add	r3, r3, #1200
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-304]
	ldr	r3, [fp, #-304]
	cmp	r3, #0
	blt	.L209
.L208:
	ldr	r3, [fp, #-304]
	str	r3, [fp, #-388]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-300]
	lsr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-300]
	sub	r3, r2, r3
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-388]
	cmp	r3, #255
	bls	.L43
	b	.L211
.L212:
	mov	r3, #2
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #24
	str	r2, [r3]
	b	.L26
.L43:
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-248]
	cmp	r2, r3
	bcs	.L212
	ldr	r3, [fp, #-372]
	add	r2, r3, #1
	str	r2, [fp, #-372]
	ldr	r2, [fp, #-388]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L224
.L195:
	ldr	r3, [fp, #-396]
	cmp	r3, #14
	bhi	.L214
	ldr	r3, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-376]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-376]
	add	r3, r3, #2
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-396]
	add	r3, r3, #16
	str	r3, [fp, #-396]
.L214:
	ldr	r3, [fp, #-380]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-408]
	add	r3, r3, #176
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-296]
	cmp	r3, #0
	blt	.L215
	ldr	r3, [fp, #-296]
	asr	r3, r3, #9
	str	r3, [fp, #-292]
	b	.L216
.L215:
	mov	r3, #10
	str	r3, [fp, #-292]
.L217:
	ldr	r3, [fp, #-292]
	add	r2, r3, #1
	str	r2, [fp, #-292]
	ldr	r2, [fp, #-380]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-296]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-408]
	add	r3, r3, #1200
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-296]
	cmp	r3, #0
	blt	.L217
.L216:
	ldr	r3, [fp, #-296]
	str	r3, [fp, #-388]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-292]
	lsr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-292]
	sub	r3, r2, r3
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-388]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L295
	ldr	r3, [fp, #-396]
	cmp	r3, #14
	bhi	.L219
	ldr	r3, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-376]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-376]
	add	r3, r3, #2
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-396]
	add	r3, r3, #16
	str	r3, [fp, #-396]
.L219:
	ldr	r3, [fp, #-380]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-408]
	add	r3, r3, #176
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-296]
	cmp	r3, #0
	blt	.L220
	ldr	r3, [fp, #-296]
	asr	r3, r3, #9
	str	r3, [fp, #-292]
	b	.L221
.L220:
	mov	r3, #10
	str	r3, [fp, #-292]
.L222:
	ldr	r3, [fp, #-292]
	add	r2, r3, #1
	str	r2, [fp, #-292]
	ldr	r2, [fp, #-380]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-296]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-408]
	add	r3, r3, #1200
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-296]
	cmp	r3, #0
	blt	.L222
.L221:
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-292]
	lsr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-292]
	sub	r3, r2, r3
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-388]
	and	r2, r3, #255
	ldr	r3, [fp, #-372]
	strb	r2, [r3]
	ldr	r3, [fp, #-296]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L223
	ldr	r3, [fp, #-372]
	add	r3, r3, #1
	str	r3, [fp, #-372]
	ldr	r3, [fp, #-296]
	str	r3, [fp, #-388]
	b	.L211
.L223:
	ldr	r3, [fp, #-372]
	add	r3, r3, #1
	ldr	r2, [fp, #-296]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-372]
	add	r3, r3, #2
	str	r3, [fp, #-372]
	b	.L224
.L295:
	nop
.L211:
	ldr	r3, [fp, #-388]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-388]
	ldr	r3, [fp, #-388]
	cmp	r3, #256
	beq	.L296
	ldr	r3, [fp, #-388]
	sub	r3, r3, #256
	sub	r3, r3, #1
	ldr	r2, .L298+28
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-388]
	sub	r3, r3, #256
	sub	r3, r3, #1
	ldr	r2, .L298+32
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-388]
	ldr	r3, [fp, #-384]
	cmp	r3, #0
	beq	.L226
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-384]
	cmp	r2, r3
	bcs	.L227
	b	.L42
.L230:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L228
	mov	r3, #1
	b	.L229
.L228:
	mvn	r3, #3
.L229:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #25
	str	r2, [r3]
	b	.L26
.L42:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L230
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-212]
	ldr	r2, [fp, #-212]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-384]
	cmp	r2, r3
	bcc	.L42
.L227:
	mov	r2, #1
	ldr	r3, [fp, #-384]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-380]
	and	r3, r3, r2
	str	r3, [fp, #-208]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-384]
	lsr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-384]
	sub	r3, r2, r3
	str	r3, [fp, #-396]
	ldr	r2, [fp, #-388]
	ldr	r3, [fp, #-208]
	add	r3, r2, r3
	str	r3, [fp, #-388]
.L226:
	ldr	r3, [fp, #-396]
	cmp	r3, #14
	bhi	.L232
	ldr	r2, [fp, #-252]
	ldr	r3, [fp, #-376]
	sub	r3, r2, r3
	cmp	r3, #1
	bgt	.L233
.L242:
	ldr	r3, [fp, #-380]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-408]
	add	r3, r3, #1920
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-288]
	cmp	r3, #0
	blt	.L234
	ldr	r3, [fp, #-288]
	asr	r3, r3, #9
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-284]
	cmp	r3, #0
	beq	.L41
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-284]
	cmp	r2, r3
	bcc	.L41
	b	.L232
.L234:
	ldr	r3, [fp, #-396]
	cmp	r3, #10
	bls	.L41
	mov	r3, #10
	str	r3, [fp, #-284]
.L238:
	ldr	r3, [fp, #-284]
	add	r2, r3, #1
	str	r2, [fp, #-284]
	ldr	r2, [fp, #-380]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-288]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-408]
	add	r3, r3, #2944
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-288]
	cmp	r3, #0
	bge	.L237
	ldr	r3, [fp, #-284]
	add	r3, r3, #1
	ldr	r2, [fp, #-396]
	cmp	r2, r3
	bcs	.L238
.L237:
	ldr	r3, [fp, #-288]
	cmp	r3, #0
	blt	.L41
	b	.L232
.L241:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L239
	mov	r3, #1
	b	.L240
.L239:
	mvn	r3, #3
.L240:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #26
	str	r2, [r3]
	b	.L26
.L41:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L241
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-204]
	ldr	r2, [fp, #-204]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	cmp	r3, #14
	bls	.L242
	b	.L232
.L233:
	ldr	r3, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-396]
	lsl	r2, r2, r3
	ldr	r3, [fp, #-376]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	lsl	r3, r1, r3
	orr	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-376]
	add	r3, r3, #2
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-396]
	add	r3, r3, #16
	str	r3, [fp, #-396]
.L232:
	ldr	r3, [fp, #-380]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-408]
	add	r3, r3, #1920
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-288]
	cmp	r3, #0
	blt	.L243
	ldr	r3, [fp, #-288]
	asr	r3, r3, #9
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-288]
	b	.L244
.L243:
	mov	r3, #10
	str	r3, [fp, #-284]
.L245:
	ldr	r3, [fp, #-284]
	add	r2, r3, #1
	str	r2, [fp, #-284]
	ldr	r2, [fp, #-380]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-288]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-408]
	add	r3, r3, #2944
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-288]
	cmp	r3, #0
	blt	.L245
.L244:
	ldr	r3, [fp, #-288]
	str	r3, [fp, #-392]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-284]
	lsr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-284]
	sub	r3, r2, r3
	str	r3, [fp, #-396]
	ldr	r2, .L300
	ldr	r3, [fp, #-392]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-384]
	ldr	r2, .L300+4
	ldr	r3, [fp, #-392]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-392]
	ldr	r3, [fp, #-384]
	cmp	r3, #0
	beq	.L246
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-384]
	cmp	r2, r3
	bcs	.L247
	b	.L40
.L250:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L248
	mov	r3, #1
	b	.L249
.L248:
	mvn	r3, #3
.L249:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #27
	str	r2, [r3]
	b	.L26
.L40:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L250
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-200]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-384]
	cmp	r2, r3
	bcc	.L40
.L247:
	mov	r2, #1
	ldr	r3, [fp, #-384]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-380]
	and	r3, r3, r2
	str	r3, [fp, #-196]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-384]
	lsr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-396]
	ldr	r3, [fp, #-384]
	sub	r3, r2, r3
	str	r3, [fp, #-396]
	ldr	r2, [fp, #-392]
	ldr	r3, [fp, #-196]
	add	r3, r2, r3
	str	r3, [fp, #-392]
.L246:
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-420]
	sub	r3, r2, r3
	str	r3, [fp, #-368]
	ldr	r2, [fp, #-392]
	ldr	r3, [fp, #-368]
	cmp	r2, r3
	bls	.L252
	ldr	r3, [fp, #12]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L252
.L253:
	mvn	r3, #0
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #37
	str	r2, [r3]
	b	.L26
.L252:
	ldr	r2, [fp, #-368]
	ldr	r3, [fp, #-392]
	sub	r2, r2, r3
	ldr	r3, [fp, #-244]
	and	r3, r3, r2
	ldr	r2, [fp, #-420]
	add	r3, r2, r3
	str	r3, [fp, #-308]
	ldr	r2, [fp, #-308]
	ldr	r3, [fp, #-372]
	cmp	r2, r3
	movcs	r2, r2
	movcc	r2, r3
	ldr	r3, [fp, #-388]
	add	r3, r2, r3
	ldr	r2, [fp, #-248]
	cmp	r2, r3
	bcs	.L254
	b	.L255
.L256:
	mov	r3, #2
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #53
	str	r2, [r3]
	b	.L26
.L27:
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-248]
	cmp	r2, r3
	bcs	.L256
	ldr	r3, [fp, #-368]
	add	r2, r3, #1
	str	r2, [fp, #-368]
	ldr	r2, [fp, #-392]
	sub	r2, r3, r2
	ldr	r3, [fp, #-244]
	and	r3, r3, r2
	ldr	r2, [fp, #-420]
	add	r2, r2, r3
	ldr	r3, [fp, #-372]
	add	r1, r3, #1
	str	r1, [fp, #-372]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L255:
	ldr	r3, [fp, #-388]
	sub	r2, r3, #1
	str	r2, [fp, #-388]
	cmp	r3, #0
	bne	.L27
	b	.L293
.L254:
	ldr	r3, [fp, #-308]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-372]
	strb	r2, [r3]
	ldr	r3, [fp, #-372]
	add	r3, r3, #1
	ldr	r2, [fp, #-308]
	ldrb	r2, [r2, #1]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-372]
	add	r3, r3, #2
	ldr	r2, [fp, #-308]
	ldrb	r2, [r2, #2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-372]
	add	r3, r3, #3
	str	r3, [fp, #-372]
	ldr	r3, [fp, #-308]
	add	r3, r3, #3
	str	r3, [fp, #-308]
	ldr	r3, [fp, #-388]
	sub	r3, r3, #3
	str	r3, [fp, #-388]
	ldr	r3, [fp, #-388]
	cmp	r3, #2
	bgt	.L254
	ldr	r3, [fp, #-388]
	cmp	r3, #0
	ble	.L297
	ldr	r3, [fp, #-308]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-372]
	strb	r2, [r3]
	ldr	r3, [fp, #-388]
	cmp	r3, #1
	ble	.L259
	ldr	r3, [fp, #-372]
	add	r3, r3, #1
	ldr	r2, [fp, #-308]
	ldrb	r2, [r2, #1]	@ zero_extendqisi2
	strb	r2, [r3]
.L259:
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-388]
	add	r3, r2, r3
	str	r3, [fp, #-372]
	b	.L297
.L293:
	b	.L297
.L296:
	nop
.L115:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #20]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L60
	ldr	r3, [fp, #-396]
	and	r3, r3, #7
	ldr	r2, [fp, #-396]
	cmp	r2, r3
	bcs	.L260
	b	.L39
.L263:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L261
	mov	r3, #1
	b	.L262
.L261:
	mvn	r3, #3
.L262:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #32
	str	r2, [r3]
	b	.L26
.L39:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L263
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-176]
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	and	r3, r3, #7
	ldr	r2, [fp, #-396]
	cmp	r2, r3
	bcc	.L39
.L260:
	ldr	r3, [fp, #-396]
	and	r3, r3, #7
	ldr	r2, [fp, #-380]
	lsr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	bic	r3, r3, #7
	str	r3, [fp, #-396]
	b	.L265
.L267:
	ldr	r3, [fp, #-376]
	sub	r3, r3, #1
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-396]
	sub	r3, r3, #8
	str	r3, [fp, #-396]
.L265:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-412]
	cmp	r2, r3
	bls	.L266
	ldr	r3, [fp, #-396]
	cmp	r3, #7
	bhi	.L267
.L266:
	mov	r2, #1
	mov	r3, #0
	ldr	r1, [fp, #-396]
	sub	ip, r1, #32
	rsb	r0, r1, #32
	lsl	r7, r3, r1
	orr	r7, r7, r2, lsl ip
	orr	r7, r7, r2, lsr r0
	lsl	r6, r2, r1
	mov	r3, r6
	sub	r3, r3, #1
	ldr	r2, [fp, #-380]
	and	r3, r3, r2
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	cmp	r3, #0
	beq	.L268
	ldr	r3, .L300+8
	ldr	r2, .L300+12
	ldr	r1, .L300+16
	ldr	r0, .L300+20
	bl	__assert_fail
.L268:
	ldr	r3, [fp, #12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L269
	mov	r3, #0
	str	r3, [fp, #-388]
	b	.L270
.L281:
	ldr	r3, [fp, #-396]
	cmp	r3, #0
	beq	.L31
	ldr	r3, [fp, #-396]
	cmp	r3, #7
	bhi	.L272
	b	.L32
.L275:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L273
	mov	r3, #1
	b	.L274
.L273:
	mvn	r3, #3
.L274:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #41
	str	r2, [r3]
	b	.L26
.L32:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L275
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-172]
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-396]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-380]
	orr	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	add	r3, r3, #8
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-396]
	cmp	r3, #7
	bls	.L32
.L272:
	ldr	r3, [fp, #-380]
	and	r3, r3, #255
	str	r3, [fp, #-280]
	ldr	r3, [fp, #-380]
	lsr	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-396]
	sub	r3, r3, #8
	str	r3, [fp, #-396]
	b	.L277
.L280:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L278
	mov	r3, #1
	b	.L279
.L278:
	mvn	r3, #3
.L279:
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #42
	str	r2, [r3]
	b	.L26
.L31:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcs	.L280
	ldr	r3, [fp, #-376]
	add	r2, r3, #1
	str	r2, [fp, #-376]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-280]
.L277:
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #16]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-280]
	orr	r2, r2, r3
	ldr	r3, [fp, #-408]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-388]
	add	r3, r3, #1
	str	r3, [fp, #-388]
.L270:
	ldr	r3, [fp, #-388]
	cmp	r3, #3
	bls	.L281
.L269:
	mov	r3, #0
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-408]
	mov	r2, #34
	str	r2, [r3]
	nop
.L26:
	ldr	r3, [fp, #-400]
	cmp	r3, #1
	beq	.L282
	ldr	r3, [fp, #-400]
	cmn	r3, #4
	beq	.L282
	b	.L283
.L284:
	ldr	r3, [fp, #-376]
	sub	r3, r3, #1
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-396]
	sub	r3, r3, #8
	str	r3, [fp, #-396]
.L283:
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-412]
	cmp	r2, r3
	bls	.L282
	ldr	r3, [fp, #-396]
	cmp	r3, #7
	bhi	.L284
.L282:
	ldr	r3, [fp, #-408]
	ldr	r2, [fp, #-396]
	str	r2, [r3, #4]
	mov	r2, #1
	mov	r3, #0
	ldr	r1, [fp, #-396]
	sub	ip, r1, #32
	rsb	r0, r1, #32
	lsl	r5, r3, r1
	orr	r5, r5, r2, lsl ip
	orr	r5, r5, r2, lsr r0
	lsl	r4, r2, r1
	mov	r3, r4
	sub	r2, r3, #1
	ldr	r3, [fp, #-380]
	and	r2, r2, r3
	ldr	r3, [fp, #-408]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-408]
	ldr	r2, [fp, #-392]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-408]
	ldr	r2, [fp, #-388]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-408]
	ldr	r2, [fp, #-384]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-408]
	ldr	r2, [fp, #-368]
	str	r2, [r3, #60]
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-412]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-416]
	str	r2, [r3]
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-424]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-428]
	str	r2, [r3]
	ldr	r3, [fp, #12]
	and	r3, r3, #9
	cmp	r3, #0
	beq	.L285
	ldr	r3, [fp, #-400]
	cmp	r3, #0
	blt	.L285
	ldr	r3, [fp, #-424]
	str	r3, [fp, #-276]
	ldr	r3, [fp, #-428]
	ldr	r3, [r3]
	str	r3, [fp, #-272]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #28]
	lsr	r3, r3, #16
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-272]
	ldr	r2, .L300+24
	umull	r1, r2, r3, r2
	lsr	r2, r2, #11
	ldr	r1, .L300+28
	mul	r2, r1, r2
	sub	r3, r3, r2
	str	r3, [fp, #-256]
	b	.L286
.L291:
	mov	r3, #0
	str	r3, [fp, #-268]
	b	.L287
.L288:
	ldr	r3, [fp, #-276]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-264]
	add	r3, r3, r2
	str	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-264]
	add	r3, r2, r3
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-276]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-264]
	add	r3, r3, r2
	str	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-264]
	add	r3, r2, r3
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-276]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-264]
	add	r3, r3, r2
	str	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-264]
	add	r3, r2, r3
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-276]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-264]
	add	r3, r3, r2
	str	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-264]
	add	r3, r2, r3
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-276]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-264]
	add	r3, r3, r2
	str	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-264]
	add	r3, r2, r3
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-276]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-264]
	add	r3, r3, r2
	str	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-264]
	add	r3, r2, r3
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-276]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-264]
	add	r3, r3, r2
	str	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-264]
	add	r3, r2, r3
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-276]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-264]
	add	r3, r3, r2
	str	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-264]
	add	r3, r2, r3
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-268]
	add	r3, r3, #8
	str	r3, [fp, #-268]
	ldr	r3, [fp, #-276]
	add	r3, r3, #8
	str	r3, [fp, #-276]
.L287:
	ldr	r3, [fp, #-268]
	add	r3, r3, #7
	ldr	r2, [fp, #-256]
	cmp	r2, r3
	bhi	.L288
	b	.L289
.L290:
	ldr	r3, [fp, #-276]
	add	r2, r3, #1
	str	r2, [fp, #-276]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-264]
	add	r3, r3, r2
	str	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-264]
	add	r3, r2, r3
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-268]
	add	r3, r3, #1
	str	r3, [fp, #-268]
.L289:
	ldr	r2, [fp, #-268]
	ldr	r3, [fp, #-256]
	cmp	r2, r3
	bcc	.L290
	ldr	r1, [fp, #-264]
	ldr	r3, .L300+32
	umull	r2, r3, r1, r3
	lsr	r2, r3, #15
	mov	r3, r2
	lsl	r3, r3, #12
	sub	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r3, r2
	sub	r3, r1, r3
	str	r3, [fp, #-264]
	ldr	r1, [fp, #-260]
	ldr	r3, .L300+32
	umull	r2, r3, r1, r3
	lsr	r2, r3, #15
	mov	r3, r2
	lsl	r3, r3, #12
	sub	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r3, r2
	sub	r3, r1, r3
	str	r3, [fp, #-260]
	ldr	r2, [fp, #-272]
	ldr	r3, [fp, #-256]
	sub	r3, r2, r3
	str	r3, [fp, #-272]
	ldr	r3, .L300+28
	str	r3, [fp, #-256]
.L286:
	ldr	r3, [fp, #-272]
	cmp	r3, #0
	bne	.L291
	ldr	r3, [fp, #-260]
	lsl	r2, r3, #16
	ldr	r3, [fp, #-264]
	add	r2, r2, r3
	ldr	r3, [fp, #-408]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-400]
	cmp	r3, #0
	bne	.L285
	ldr	r3, [fp, #12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L285
	ldr	r3, [fp, #-408]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-408]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	beq	.L285
	mvn	r3, #1
	str	r3, [fp, #-400]
.L285:
	ldr	r3, [fp, #-400]
.L25:
	ldr	r2, .L300+36
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L292
	bl	__stack_chk_fail
.L292:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L301:
	.align	2
.L300:
	.word	s_dist_extra.5269
	.word	s_dist_base.5268
	.word	__PRETTY_FUNCTION__.5537
	.word	1707
	.word	.LC3
	.word	.LC4
	.word	1584310703
	.word	5552
	.word	-2146992015
	.word	.LC5
	.size	tinfl_decompress, .-tinfl_decompress
	.section	.rodata
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tinfl_decompress_mem_to_heap
	.syntax unified
	.arm
	.fpu softvfp
	.type	tinfl_decompress_mem_to_heap, %function
tinfl_decompress_mem_to_heap:
	@ args = 0, pretend = 0, frame = 11048
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #11008
	sub	sp, sp, #60
	sub	ip, fp, #8192
	sub	ip, ip, #12
	str	r0, [ip, #-2844]
	sub	r0, fp, #8192
	sub	r0, r0, #12
	str	r1, [r0, #-2848]
	sub	r1, fp, #8192
	sub	r1, r1, #12
	str	r2, [r1, #-2852]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2856]
	ldr	r3, .L315
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2828]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2824]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2820]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2852]
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2804]
.L312:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-2848]
	ldr	r3, [r3, #-2824]
	sub	r3, r2, r3
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2836]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2852]
	ldr	r3, [r3]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-2820]
	sub	r3, r2, r3
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2832]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-2844]
	ldr	r3, [r3, #-2824]
	add	ip, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2828]
	cmp	r3, #0
	beq	.L303
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2852]
	ldr	r3, [r3]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-2828]
	add	r1, r2, r3
	b	.L304
.L303:
	mov	r1, #0
.L304:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2856]
	bic	r3, r3, #6
	orr	r3, r3, #4
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r4, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	lr, r2
	sub	r2, fp, #11008
	sub	r2, r2, #12
	sub	r2, r2, #20
	sub	r0, fp, #10944
	sub	r0, r0, #12
	sub	r0, r0, #52
	str	r3, [sp, #8]
	sub	r3, fp, #11008
	sub	r3, r3, #12
	sub	r3, r3, #16
	str	r3, [sp, #4]
	str	r1, [sp]
	ldr	r3, [lr, #-2828]
	mov	r1, ip
	bl	tinfl_decompress
	str	r0, [r4, #-2812]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2812]
	cmp	r3, #0
	blt	.L305
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2812]
	cmp	r3, #1
	bne	.L306
.L305:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-2828]
	bl	free
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2852]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	b	.L313
.L306:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2836]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-2824]
	add	r3, r2, r3
	str	r3, [r1, #-2824]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2852]
	ldr	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2832]
	add	r2, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2852]
	str	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2812]
	cmp	r3, #0
	bne	.L308
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2828]
	b	.L313
.L308:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2820]
	lsl	r3, r3, #1
	str	r3, [r2, #-2816]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2816]
	cmp	r3, #127
	bhi	.L310
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #128
	str	r3, [r2, #-2816]
.L310:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, [r2, #-2816]
	ldr	r0, [r3, #-2828]
	bl	realloc
	str	r0, [r4, #-2808]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2808]
	cmp	r3, #0
	bne	.L311
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-2828]
	bl	free
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2852]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	b	.L313
.L311:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2808]
	str	r3, [r2, #-2828]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2816]
	str	r3, [r2, #-2820]
	b	.L312
.L313:
	ldr	r2, .L315
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L314
	bl	__stack_chk_fail
.L314:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L316:
	.align	2
.L315:
	.word	.LC6
	.size	tinfl_decompress_mem_to_heap, .-tinfl_decompress_mem_to_heap
	.section	.rodata
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tinfl_decompress_mem_to_mem
	.syntax unified
	.arm
	.fpu softvfp
	.type	tinfl_decompress_mem_to_mem, %function
tinfl_decompress_mem_to_mem:
	@ args = 4, pretend = 0, frame = 11016
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #11008
	sub	sp, sp, #28
	sub	ip, fp, #8192
	sub	ip, ip, #12
	str	r0, [ip, #-2812]
	sub	r0, fp, #8192
	sub	r0, r0, #12
	str	r1, [r0, #-2816]
	sub	r1, fp, #8192
	sub	r1, r1, #12
	str	r2, [r1, #-2820]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2824]
	ldr	r3, .L322
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2804]
	ldr	r3, [fp, #4]
	bic	r3, r3, #6
	orr	r3, r3, #4
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r4, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	ip, r2
	sub	r2, fp, #11008
	sub	r2, r2, #12
	sub	r2, r2, #8
	sub	r1, fp, #8192
	sub	r1, r1, #12
	sub	r0, fp, #10944
	sub	r0, r0, #12
	sub	r0, r0, #52
	str	r3, [sp, #8]
	sub	r3, fp, #11008
	sub	r3, r3, #12
	str	r3, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2812]
	str	r3, [sp]
	ldr	r3, [ip, #-2812]
	ldr	r1, [r1, #-2820]
	bl	tinfl_decompress
	str	r0, [r4, #-2808]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2808]
	cmp	r3, #0
	bne	.L318
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2816]
	b	.L320
.L318:
	mvn	r3, #0
.L320:
	ldr	r2, .L322
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L321
	bl	__stack_chk_fail
.L321:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L323:
	.align	2
.L322:
	.word	.LC7
	.size	tinfl_decompress_mem_to_mem, .-tinfl_decompress_mem_to_mem
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tinfl_decompress_mem_to_callback
	.syntax unified
	.arm
	.fpu softvfp
	.type	tinfl_decompress_mem_to_callback, %function
tinfl_decompress_mem_to_callback:
	@ args = 4, pretend = 0, frame = 11040
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #11008
	sub	sp, sp, #52
	sub	ip, fp, #8192
	sub	ip, ip, #12
	str	r0, [ip, #-2836]
	sub	r0, fp, #8192
	sub	r0, r0, #12
	str	r1, [r0, #-2840]
	sub	r1, fp, #8192
	sub	r1, r1, #12
	str	r2, [r1, #-2844]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2848]
	ldr	r3, .L334
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2824]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	mov	r0, #32768
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #-2812]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2820]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2816]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2812]
	cmp	r3, #0
	bne	.L325
	mvn	r3, #0
	b	.L331
.L325:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2804]
.L330:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2840]
	ldr	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2820]
	sub	r3, r2, r3
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2832]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2816]
	rsb	r3, r3, #32768
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2828]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-2836]
	ldr	r3, [r3, #-2820]
	add	ip, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-2812]
	ldr	r3, [r3, #-2816]
	add	r1, r2, r3
	ldr	r3, [fp, #4]
	bic	r3, r3, #6
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r4, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	lr, r2
	sub	r2, fp, #11008
	sub	r2, r2, #12
	sub	r2, r2, #16
	sub	r0, fp, #10944
	sub	r0, r0, #12
	sub	r0, r0, #52
	str	r3, [sp, #8]
	sub	r3, fp, #11008
	sub	r3, r3, #12
	sub	r3, r3, #12
	str	r3, [sp, #4]
	str	r1, [sp]
	ldr	r3, [lr, #-2812]
	mov	r1, ip
	bl	tinfl_decompress
	str	r0, [r4, #-2808]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2832]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-2820]
	add	r3, r2, r3
	str	r3, [r1, #-2820]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2828]
	cmp	r3, #0
	beq	.L327
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-2812]
	ldr	r3, [r3, #-2816]
	add	r0, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2828]
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2844]
	ldr	r2, [r2, #-2848]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	beq	.L333
.L327:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2808]
	cmp	r3, #2
	beq	.L329
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2808]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2824]
	b	.L328
.L329:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r3, #-2828]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2816]
	add	r3, r2, r3
	sub	r2, fp, #8192
	sub	r2, r2, #12
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [r2, #-2816]
	b	.L330
.L333:
	nop
.L328:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-2812]
	bl	free
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2840]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-2820]
	str	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2824]
.L331:
	ldr	r2, .L334
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L332
	bl	__stack_chk_fail
.L332:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L335:
	.align	2
.L334:
	.word	.LC8
	.size	tinfl_decompress_mem_to_callback, .-tinfl_decompress_mem_to_callback
	.section	.rodata
	.align	2
	.type	s_tdefl_len_sym, %object
	.size	s_tdefl_len_sym, 512
s_tdefl_len_sym:
	.short	257
	.short	258
	.short	259
	.short	260
	.short	261
	.short	262
	.short	263
	.short	264
	.short	265
	.short	265
	.short	266
	.short	266
	.short	267
	.short	267
	.short	268
	.short	268
	.short	269
	.short	269
	.short	269
	.short	269
	.short	270
	.short	270
	.short	270
	.short	270
	.short	271
	.short	271
	.short	271
	.short	271
	.short	272
	.short	272
	.short	272
	.short	272
	.short	273
	.short	273
	.short	273
	.short	273
	.short	273
	.short	273
	.short	273
	.short	273
	.short	274
	.short	274
	.short	274
	.short	274
	.short	274
	.short	274
	.short	274
	.short	274
	.short	275
	.short	275
	.short	275
	.short	275
	.short	275
	.short	275
	.short	275
	.short	275
	.short	276
	.short	276
	.short	276
	.short	276
	.short	276
	.short	276
	.short	276
	.short	276
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	277
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	278
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	279
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	280
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	281
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	282
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	283
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	284
	.short	285
	.align	2
	.type	s_tdefl_len_extra, %object
	.size	s_tdefl_len_extra, 256
s_tdefl_len_extra:
	.ascii	"\000\000\000\000\000\000\000\000\001\001\001\001\001"
	.ascii	"\001\001\001\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\003\003\003\003\003\003\003"
	.ascii	"\003\003\003\003\003\003\003\003\003\003\003\003\003"
	.ascii	"\003\003\003\003\003\003\003\003\003\003\003\003\004"
	.ascii	"\004\004\004\004\004\004\004\004\004\004\004\004\004"
	.ascii	"\004\004\004\004\004\004\004\004\004\004\004\004\004"
	.ascii	"\004\004\004\004\004\004\004\004\004\004\004\004\004"
	.ascii	"\004\004\004\004\004\004\004\004\004\004\004\004\004"
	.ascii	"\004\004\004\004\004\004\004\004\004\004\004\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\000"
	.align	2
	.type	s_tdefl_small_dist_sym, %object
	.size	s_tdefl_small_dist_sym, 512
s_tdefl_small_dist_sym:
	.ascii	"\000\001\002\003\004\004\005\005\006\006\006\006\007"
	.ascii	"\007\007\007\010\010\010\010\010\010\010\010\011\011"
	.ascii	"\011\011\011\011\011\011\012\012\012\012\012\012\012"
	.ascii	"\012\012\012\012\012\012\012\012\012\013\013\013\013"
	.ascii	"\013\013\013\013\013\013\013\013\013\013\013\013\014"
	.ascii	"\014\014\014\014\014\014\014\014\014\014\014\014\014"
	.ascii	"\014\014\014\014\014\014\014\014\014\014\014\014\014"
	.ascii	"\014\014\014\014\014\015\015\015\015\015\015\015\015"
	.ascii	"\015\015\015\015\015\015\015\015\015\015\015\015\015"
	.ascii	"\015\015\015\015\015\015\015\015\015\015\015\016\016"
	.ascii	"\016\016\016\016\016\016\016\016\016\016\016\016\016"
	.ascii	"\016\016\016\016\016\016\016\016\016\016\016\016\016"
	.ascii	"\016\016\016\016\016\016\016\016\016\016\016\016\016"
	.ascii	"\016\016\016\016\016\016\016\016\016\016\016\016\016"
	.ascii	"\016\016\016\016\016\016\016\016\016\016\017\017\017"
	.ascii	"\017\017\017\017\017\017\017\017\017\017\017\017\017"
	.ascii	"\017\017\017\017\017\017\017\017\017\017\017\017\017"
	.ascii	"\017\017\017\017\017\017\017\017\017\017\017\017\017"
	.ascii	"\017\017\017\017\017\017\017\017\017\017\017\017\017"
	.ascii	"\017\017\017\017\017\017\017\017\017\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\020\020\020\020\020\020"
	.ascii	"\020\020\020\020\020\020\020\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021\021\021\021\021\021\021\021\021"
	.ascii	"\021\021\021\021\021"
	.align	2
	.type	s_tdefl_small_dist_extra, %object
	.size	s_tdefl_small_dist_extra, 512
s_tdefl_small_dist_extra:
	.ascii	"\000\000\000\000\001\001\001\001\002\002\002\002\002"
	.ascii	"\002\002\002\003\003\003\003\003\003\003\003\003\003"
	.ascii	"\003\003\003\003\003\003\004\004\004\004\004\004\004"
	.ascii	"\004\004\004\004\004\004\004\004\004\004\004\004\004"
	.ascii	"\004\004\004\004\004\004\004\004\004\004\004\004\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\005\005"
	.ascii	"\005\005\005\005\005\005\005\005\005\005\005\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\006\006\006\006"
	.ascii	"\006\006\006\006\006\006\006\006\006\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007\007\007\007\007\007\007\007\007"
	.ascii	"\007\007\007\007\007"
	.align	2
	.type	s_tdefl_large_dist_sym, %object
	.size	s_tdefl_large_dist_sym, 128
s_tdefl_large_dist_sym:
	.ascii	"\000\000\022\023\024\024\025\025\026\026\026\026\027"
	.ascii	"\027\027\027\030\030\030\030\030\030\030\030\031\031"
	.ascii	"\031\031\031\031\031\031\032\032\032\032\032\032\032"
	.ascii	"\032\032\032\032\032\032\032\032\032\033\033\033\033"
	.ascii	"\033\033\033\033\033\033\033\033\033\033\033\033\034"
	.ascii	"\034\034\034\034\034\034\034\034\034\034\034\034\034"
	.ascii	"\034\034\034\034\034\034\034\034\034\034\034\034\034"
	.ascii	"\034\034\034\034\034\035\035\035\035\035\035\035\035"
	.ascii	"\035\035\035\035\035\035\035\035\035\035\035\035\035"
	.ascii	"\035\035\035\035\035\035\035\035\035\035\035"
	.align	2
	.type	s_tdefl_large_dist_extra, %object
	.size	s_tdefl_large_dist_extra, 128
s_tdefl_large_dist_extra:
	.ascii	"\000\000\010\010\011\011\011\011\012\012\012\012\012"
	.ascii	"\012\012\012\013\013\013\013\013\013\013\013\013\013"
	.ascii	"\013\013\013\013\013\013\014\014\014\014\014\014\014"
	.ascii	"\014\014\014\014\014\014\014\014\014\014\014\014\014"
	.ascii	"\014\014\014\014\014\014\014\014\014\014\014\014\015"
	.ascii	"\015\015\015\015\015\015\015\015\015\015\015\015\015"
	.ascii	"\015\015\015\015\015\015\015\015\015\015\015\015\015"
	.ascii	"\015\015\015\015\015\015\015\015\015\015\015\015\015"
	.ascii	"\015\015\015\015\015\015\015\015\015\015\015\015\015"
	.ascii	"\015\015\015\015\015\015\015\015\015\015\015"
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_radix_sort_syms, %function
tdefl_radix_sort_syms:
	@ args = 0, pretend = 0, frame = 3136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #3136
	str	r0, [fp, #-3128]
	str	r1, [fp, #-3132]
	str	r2, [fp, #-3136]
	ldr	r3, .L350
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #2
	str	r3, [fp, #-3120]
	ldr	r3, [fp, #-3132]
	str	r3, [fp, #-3104]
	ldr	r3, [fp, #-3136]
	str	r3, [fp, #-3100]
	sub	r3, fp, #2048
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #2048
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-3108]
	b	.L337
.L338:
	ldr	r3, [fp, #-3108]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3132]
	add	r3, r2, r3
	ldrh	r3, [r3]
	str	r3, [fp, #-3084]
	ldr	r3, [fp, #-3084]
	and	r2, r3, #255
	lsl	r3, r2, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-2052]
	add	r1, r3, #1
	lsl	r3, r2, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	str	r1, [r3, #-2052]
	ldr	r3, [fp, #-3084]
	lsr	r3, r3, #8
	and	r3, r3, #255
	add	r2, r3, #256
	lsl	r3, r2, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-2052]
	add	r1, r3, #1
	lsl	r3, r2, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	str	r1, [r3, #-2052]
	ldr	r3, [fp, #-3108]
	add	r3, r3, #1
	str	r3, [fp, #-3108]
.L337:
	ldr	r2, [fp, #-3108]
	ldr	r3, [fp, #-3128]
	cmp	r2, r3
	bcc	.L338
	b	.L339
.L341:
	ldr	r3, [fp, #-3120]
	sub	r3, r3, #1
	str	r3, [fp, #-3120]
.L339:
	ldr	r3, [fp, #-3120]
	cmp	r3, #1
	bls	.L340
	ldr	r3, [fp, #-3120]
	sub	r3, r3, #1
	lsl	r3, r3, #8
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-2052]
	ldr	r2, [fp, #-3128]
	cmp	r2, r3
	beq	.L341
.L340:
	mov	r3, #0
	str	r3, [fp, #-3116]
	mov	r3, #0
	str	r3, [fp, #-3112]
	b	.L342
.L347:
	ldr	r3, [fp, #-3112]
	lsl	r2, r3, #8
	sub	r3, fp, #2048
	sub	r3, r3, #4
	sub	r3, r3, #4
	lsl	r2, r2, #2
	add	r3, r3, r2
	str	r3, [fp, #-3092]
	mov	r3, #0
	str	r3, [fp, #-3096]
	mov	r3, #0
	str	r3, [fp, #-3108]
	b	.L343
.L344:
	ldr	r3, [fp, #-3108]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-3096]
	str	r2, [r3, #-3076]
	ldr	r3, [fp, #-3108]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3092]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-3096]
	add	r3, r2, r3
	str	r3, [fp, #-3096]
	ldr	r3, [fp, #-3108]
	add	r3, r3, #1
	str	r3, [fp, #-3108]
.L343:
	ldr	r3, [fp, #-3108]
	cmp	r3, #255
	bls	.L344
	mov	r3, #0
	str	r3, [fp, #-3108]
	b	.L345
.L346:
	ldr	r3, [fp, #-3108]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3104]
	add	ip, r2, r3
	ldr	r3, [fp, #-3108]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3104]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-3116]
	asr	r3, r2, r3
	and	r1, r3, #255
	lsl	r3, r1, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-3076]
	add	r0, r2, #1
	lsl	r3, r1, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r0, [r3, #-3076]
	lsl	r3, r2, #2
	ldr	r2, [fp, #-3100]
	add	r3, r2, r3
	mov	r0, r3
	mov	r1, ip
	mov	r3, #4
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-3108]
	add	r3, r3, #1
	str	r3, [fp, #-3108]
.L345:
	ldr	r2, [fp, #-3108]
	ldr	r3, [fp, #-3128]
	cmp	r2, r3
	bcc	.L346
	ldr	r3, [fp, #-3104]
	str	r3, [fp, #-3088]
	ldr	r3, [fp, #-3100]
	str	r3, [fp, #-3104]
	ldr	r3, [fp, #-3088]
	str	r3, [fp, #-3100]
	ldr	r3, [fp, #-3112]
	add	r3, r3, #1
	str	r3, [fp, #-3112]
	ldr	r3, [fp, #-3116]
	add	r3, r3, #8
	str	r3, [fp, #-3116]
.L342:
	ldr	r2, [fp, #-3112]
	ldr	r3, [fp, #-3120]
	cmp	r2, r3
	bcc	.L347
	ldr	r3, [fp, #-3104]
	ldr	r2, .L350
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L349
	bl	__stack_chk_fail
.L349:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L351:
	.align	2
.L350:
	.word	.LC9
	.size	tdefl_radix_sort_syms, .-tdefl_radix_sort_syms
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_calculate_minimum_redundancy, %function
tdefl_calculate_minimum_redundancy:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L373
	ldr	r3, [fp, #-36]
	cmp	r3, #1
	bne	.L355
	ldr	r3, [fp, #-32]
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	b	.L352
.L355:
	ldr	r3, [fp, #-32]
	ldrh	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldrh	r3, [r3]
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #2
	str	r3, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-20]
	b	.L356
.L363:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L357
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrh	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldrh	r3, [r3]
	cmp	r2, r3
	bcs	.L358
.L357:
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldrh	r2, [r2]
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	b	.L359
.L358:
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldrh	r2, [r2]
	strh	r2, [r3]	@ movhi
.L359:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L360
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bge	.L361
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrh	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldrh	r3, [r3]
	cmp	r2, r3
	bcs	.L361
.L360:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrh	r1, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrh	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-32]
	add	r3, r0, r3
	add	r2, r1, r2
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	b	.L362
.L361:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrh	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrh	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-32]
	add	r3, r0, r3
	add	r2, r1, r2
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
.L362:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L356:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L363
	ldr	r3, [fp, #-36]
	sub	r3, r3, #-1073741822
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-36]
	sub	r3, r3, #3
	str	r3, [fp, #-20]
	b	.L364
.L365:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrh	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	add	r2, r2, #1
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L364:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L365
	mov	r3, #1
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	sub	r3, r3, #2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L366
.L369:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L367:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L370
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	beq	.L369
	b	.L370
.L371:
	ldr	r3, [fp, #-20]
	sub	r2, r3, #1
	str	r2, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L370:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bgt	.L371
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
.L366:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L367
	b	.L352
.L373:
	nop
.L352:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tdefl_calculate_minimum_redundancy, .-tdefl_calculate_minimum_redundancy
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_huffman_enforce_max_code_size, %function
tdefl_huffman_enforce_max_code_size:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	ble	.L387
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L377
.L378:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-16]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L377:
	ldr	r3, [fp, #-12]
	cmp	r3, #32
	ble	.L378
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	b	.L379
.L380:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	lsl	r3, r1, r3
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L379:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L380
	b	.L381
.L386:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L382
.L385:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L383
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	add	r2, r2, #2
	str	r2, [r3]
	b	.L384
.L383:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L382:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L385
.L384:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
.L381:
	mov	r2, #1
	ldr	r3, [fp, #-24]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L386
	b	.L374
.L387:
	nop
.L374:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tdefl_huffman_enforce_max_code_size, .-tdefl_huffman_enforce_max_code_size
	.section	.rodata
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_optimize_huffman_table, %function
tdefl_optimize_huffman_table:
	@ args = 4, pretend = 0, frame = 2496
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #2496
	str	r0, [fp, #-2488]
	str	r1, [fp, #-2492]
	str	r2, [fp, #-2496]
	str	r3, [fp, #-2500]
	ldr	r3, .L412
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #2432
	sub	r3, r3, #4
	sub	r3, r3, #8
	mov	r2, #132
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L389
	mov	r3, #0
	str	r3, [fp, #-2480]
	b	.L390
.L391:
	ldr	r1, [fp, #-2488]
	ldr	r2, [fp, #-2492]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #5
	add	r2, r1, r3
	ldr	r3, [fp, #-2480]
	add	r3, r2, r3
	add	r3, r3, #36608
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	lsl	r3, r2, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-2440]
	add	r1, r3, #1
	lsl	r3, r2, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	str	r1, [r3, #-2440]
	ldr	r3, [fp, #-2480]
	add	r3, r3, #1
	str	r3, [fp, #-2480]
.L390:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2496]
	cmp	r2, r3
	blt	.L391
	b	.L392
.L389:
	mov	r3, #0
	str	r3, [fp, #-2468]
	ldr	r2, [fp, #-2492]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #6
	add	r3, r3, #33024
	add	r3, r3, #144
	ldr	r2, [fp, #-2488]
	add	r3, r2, r3
	add	r3, r3, #2
	str	r3, [fp, #-2456]
	mov	r3, #0
	str	r3, [fp, #-2480]
	b	.L393
.L395:
	ldr	r3, [fp, #-2480]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-2456]
	add	r3, r2, r3
	ldrh	r3, [r3]
	cmp	r3, #0
	beq	.L394
	ldr	r3, [fp, #-2480]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-2456]
	add	r3, r2, r3
	ldrh	r2, [r3]
	sub	r3, fp, #4
	sub	r3, r3, #2304
	sub	r3, r3, #4
	ldr	r1, [fp, #-2468]
	lsl	r1, r1, #2
	add	r3, r3, r1
	strh	r2, [r3]	@ movhi
	ldr	r2, [fp, #-2468]
	add	r3, r2, #1
	str	r3, [fp, #-2468]
	ldr	r3, [fp, #-2480]
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	sub	r3, fp, #4
	sub	r3, r3, #2304
	sub	r3, r3, #4
	lsl	r2, r2, #2
	add	r3, r3, r2
	add	r3, r3, #2
	strh	r1, [r3]	@ movhi
.L394:
	ldr	r3, [fp, #-2480]
	add	r3, r3, #1
	str	r3, [fp, #-2480]
.L393:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2496]
	cmp	r2, r3
	blt	.L395
	ldr	r0, [fp, #-2468]
	sub	r2, fp, #1152
	sub	r2, r2, #4
	sub	r2, r2, #4
	sub	r3, fp, #2304
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, r3
	bl	tdefl_radix_sort_syms
	str	r0, [fp, #-2452]
	ldr	r1, [fp, #-2468]
	ldr	r0, [fp, #-2452]
	bl	tdefl_calculate_minimum_redundancy
	mov	r3, #0
	str	r3, [fp, #-2480]
	b	.L396
.L397:
	ldr	r3, [fp, #-2480]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2452]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	lsl	r3, r2, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-2440]
	add	r1, r3, #1
	lsl	r3, r2, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	str	r1, [r3, #-2440]
	ldr	r3, [fp, #-2480]
	add	r3, r3, #1
	str	r3, [fp, #-2480]
.L396:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2468]
	cmp	r2, r3
	blt	.L397
	sub	r3, fp, #2432
	sub	r3, r3, #4
	sub	r3, r3, #8
	ldr	r2, [fp, #-2500]
	ldr	r1, [fp, #-2468]
	mov	r0, r3
	bl	tdefl_huffman_enforce_max_code_size
	ldr	r2, [fp, #-2492]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #5
	add	r3, r3, #36608
	add	r3, r3, #16
	ldr	r2, [fp, #-2488]
	add	r3, r2, r3
	add	r3, r3, #2
	mov	r2, #288
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r2, [fp, #-2492]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #6
	add	r3, r3, #34816
	add	r3, r3, #80
	ldr	r2, [fp, #-2488]
	add	r3, r2, r3
	add	r3, r3, #2
	mov	r2, #576
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #1
	str	r3, [fp, #-2480]
	ldr	r3, [fp, #-2468]
	str	r3, [fp, #-2476]
	b	.L398
.L401:
	ldr	r3, [fp, #-2480]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-2440]
	str	r3, [fp, #-2472]
	b	.L399
.L400:
	ldr	r3, [fp, #-2476]
	sub	r3, r3, #1
	str	r3, [fp, #-2476]
	ldr	r3, [fp, #-2476]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2452]
	add	r3, r2, r3
	ldrh	r3, [r3, #2]
	mov	ip, r3
	ldr	r3, [fp, #-2480]
	and	r0, r3, #255
	ldr	r1, [fp, #-2488]
	ldr	r2, [fp, #-2492]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #5
	add	r3, r1, r3
	add	r3, r3, ip
	add	r3, r3, #36608
	add	r3, r3, #18
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-2472]
	sub	r3, r3, #1
	str	r3, [fp, #-2472]
.L399:
	ldr	r3, [fp, #-2472]
	cmp	r3, #0
	bgt	.L400
	ldr	r3, [fp, #-2480]
	add	r3, r3, #1
	str	r3, [fp, #-2480]
.L398:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2500]
	cmp	r2, r3
	ble	.L401
.L392:
	mov	r3, #0
	str	r3, [fp, #-1156]
	mov	r3, #0
	str	r3, [fp, #-2476]
	mov	r3, #2
	str	r3, [fp, #-2480]
	b	.L402
.L403:
	ldr	r3, [fp, #-2480]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-2440]
	ldr	r3, [fp, #-2476]
	add	r3, r2, r3
	lsl	r3, r3, #1
	str	r3, [fp, #-2476]
	ldr	r2, [fp, #-2476]
	ldr	r3, [fp, #-2480]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-1156]
	ldr	r3, [fp, #-2480]
	add	r3, r3, #1
	str	r3, [fp, #-2480]
.L402:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2500]
	cmp	r2, r3
	ble	.L403
	mov	r3, #0
	str	r3, [fp, #-2480]
	b	.L404
.L409:
	mov	r3, #0
	str	r3, [fp, #-2464]
	ldr	r1, [fp, #-2488]
	ldr	r2, [fp, #-2492]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #5
	add	r2, r1, r3
	ldr	r3, [fp, #-2480]
	add	r3, r2, r3
	add	r3, r3, #36608
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-2448]
	ldr	r3, [fp, #-2448]
	cmp	r3, #0
	beq	.L411
	ldr	r3, [fp, #-2448]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-1156]
	add	r1, r2, #1
	ldr	r3, [fp, #-2448]
	lsl	r3, r3, #2
	sub	r0, fp, #4
	add	r3, r0, r3
	str	r1, [r3, #-1156]
	str	r2, [fp, #-2460]
	ldr	r3, [fp, #-2448]
	str	r3, [fp, #-2472]
	b	.L407
.L408:
	ldr	r3, [fp, #-2464]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-2460]
	and	r3, r3, #1
	orr	r3, r2, r3
	str	r3, [fp, #-2464]
	ldr	r3, [fp, #-2472]
	sub	r3, r3, #1
	str	r3, [fp, #-2472]
	ldr	r3, [fp, #-2460]
	lsr	r3, r3, #1
	str	r3, [fp, #-2460]
.L407:
	ldr	r3, [fp, #-2472]
	cmp	r3, #0
	bgt	.L408
	ldr	r3, [fp, #-2464]
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r0, [fp, #-2488]
	ldr	r2, [fp, #-2492]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #5
	ldr	r2, [fp, #-2480]
	add	r3, r3, r2
	add	r3, r3, #17408
	add	r3, r3, #40
	lsl	r3, r3, #1
	add	r3, r0, r3
	add	r3, r3, #2
	strh	r1, [r3]	@ movhi
	b	.L406
.L411:
	nop
.L406:
	ldr	r3, [fp, #-2480]
	add	r3, r3, #1
	str	r3, [fp, #-2480]
.L404:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2496]
	cmp	r2, r3
	blt	.L409
	nop
	ldr	r3, .L412
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L410
	bl	__stack_chk_fail
.L410:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L413:
	.align	2
.L412:
	.word	.LC10
	.size	tdefl_optimize_huffman_table, .-tdefl_optimize_huffman_table
	.data
	.align	2
	.type	s_tdefl_packed_code_size_syms_swizzle, %object
	.size	s_tdefl_packed_code_size_syms_swizzle, 19
s_tdefl_packed_code_size_syms_swizzle:
	.ascii	"\020\021\022\000\010\007\011\006\012\005\013\004\014"
	.ascii	"\003\015\002\016\001\017"
	.section	.rodata
	.align	2
.LC11:
	.ascii	"bits <= ((1U << len) - 1U)\000"
	.align	2
.LC12:
	.ascii	"code < TDEFL_MAX_HUFF_SYMBOLS_2\000"
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_start_dynamic_block, %function
tdefl_start_dynamic_block:
	@ args = 0, pretend = 0, frame = 752
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #760
	str	r0, [fp, #-752]
	ldr	r3, .L505
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r3, #0
	strb	r3, [fp, #-746]
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #912
	add	r3, r3, #2
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #15
	mov	r2, #288
	mov	r1, #0
	ldr	r0, [fp, #-752]
	bl	tdefl_optimize_huffman_table
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #15
	mov	r2, #32
	mov	r1, #1
	ldr	r0, [fp, #-752]
	bl	tdefl_optimize_huffman_table
	ldr	r3, .L505+4
	str	r3, [fp, #-744]
	b	.L415
.L418:
	ldr	r3, [fp, #-744]
	sub	r3, r3, #1
	ldr	r2, [fp, #-752]
	add	r3, r2, r3
	add	r3, r3, #36608
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L502
	ldr	r3, [fp, #-744]
	sub	r3, r3, #1
	str	r3, [fp, #-744]
.L415:
	ldr	r3, [fp, #-744]
	ldr	r2, .L505+8
	cmp	r3, r2
	bgt	.L418
	b	.L417
.L502:
	nop
.L417:
	mov	r3, #30
	str	r3, [fp, #-740]
	b	.L419
.L422:
	ldr	r3, [fp, #-740]
	sub	r3, r3, #1
	ldr	r2, [fp, #-752]
	add	r3, r2, r3
	add	r3, r3, #36864
	add	r3, r3, #50
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L503
	ldr	r3, [fp, #-740]
	sub	r3, r3, #1
	str	r3, [fp, #-740]
.L419:
	ldr	r3, [fp, #-740]
	cmp	r3, #1
	bgt	.L422
	b	.L421
.L503:
	nop
.L421:
	ldr	r3, [fp, #-752]
	add	r3, r3, #36608
	add	r3, r3, #18
	ldr	r2, [fp, #-744]
	sub	r0, fp, #648
	mov	r1, r3
	bl	memcpy
	ldr	r3, [fp, #-744]
	sub	r2, fp, #648
	add	r0, r2, r3
	ldr	r3, [fp, #-752]
	add	r3, r3, #36864
	add	r3, r3, #50
	ldr	r2, [fp, #-740]
	mov	r1, r3
	bl	memcpy
	ldr	r2, [fp, #-744]
	ldr	r3, [fp, #-740]
	add	r3, r2, r3
	str	r3, [fp, #-712]
	mov	r3, #0
	str	r3, [fp, #-728]
	mov	r3, #0
	str	r3, [fp, #-724]
	mov	r3, #0
	str	r3, [fp, #-720]
	ldr	r3, [fp, #-752]
	add	r3, r3, #34304
	add	r3, r3, #18
	mov	r2, #38
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-732]
	b	.L423
.L452:
	sub	r2, fp, #648
	ldr	r3, [fp, #-732]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-745]
	ldrb	r3, [fp, #-745]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L424
	ldr	r3, [fp, #-720]
	cmp	r3, #0
	beq	.L425
	ldr	r3, [fp, #-720]
	cmp	r3, #2
	bhi	.L426
	ldrb	r3, [fp, #-746]	@ zero_extendqisi2
	ldr	r2, [fp, #-752]
	add	r3, r3, #17152
	add	r3, r3, #8
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r1, [r3]
	ldr	r3, [fp, #-720]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrb	r3, [fp, #-746]	@ zero_extendqisi2
	add	r2, r1, r2
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	ldr	r1, [fp, #-752]
	add	r3, r3, #17152
	add	r3, r3, #8
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L427
.L428:
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r2, [fp, #-746]
	strb	r2, [r3, #-324]
.L427:
	ldr	r3, [fp, #-720]
	sub	r2, r3, #1
	str	r2, [fp, #-720]
	cmp	r3, #0
	bne	.L428
	b	.L429
.L426:
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #2
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #16
	strb	r2, [r3, #-324]
	ldr	r3, [fp, #-720]
	and	r2, r3, #255
	ldr	r3, [fp, #-728]
	add	r1, r3, #1
	str	r1, [fp, #-728]
	sub	r2, r2, #3
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-324]
.L429:
	mov	r3, #0
	str	r3, [fp, #-720]
.L425:
	ldr	r3, [fp, #-724]
	add	r3, r3, #1
	str	r3, [fp, #-724]
	ldr	r3, [fp, #-724]
	cmp	r3, #138
	bne	.L430
	ldr	r3, [fp, #-724]
	cmp	r3, #0
	beq	.L430
	ldr	r3, [fp, #-724]
	cmp	r3, #2
	bhi	.L431
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1552
	add	r3, r3, #2
	ldrh	r2, [r3]
	ldr	r3, [fp, #-724]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1552
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L432
.L433:
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #-324]
.L432:
	ldr	r3, [fp, #-724]
	sub	r2, r3, #1
	str	r2, [fp, #-724]
	cmp	r3, #0
	bne	.L433
	b	.L434
.L431:
	ldr	r3, [fp, #-724]
	cmp	r3, #10
	bhi	.L435
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #4
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #4
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #17
	strb	r2, [r3, #-324]
	ldr	r3, [fp, #-724]
	and	r2, r3, #255
	ldr	r3, [fp, #-728]
	add	r1, r3, #1
	str	r1, [fp, #-728]
	sub	r2, r2, #3
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-324]
	b	.L434
.L435:
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #6
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #6
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #18
	strb	r2, [r3, #-324]
	ldr	r3, [fp, #-724]
	and	r2, r3, #255
	ldr	r3, [fp, #-728]
	add	r1, r3, #1
	str	r1, [fp, #-728]
	sub	r2, r2, #11
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-324]
.L434:
	mov	r3, #0
	str	r3, [fp, #-724]
	b	.L430
.L424:
	ldr	r3, [fp, #-724]
	cmp	r3, #0
	beq	.L436
	ldr	r3, [fp, #-724]
	cmp	r3, #2
	bhi	.L437
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1552
	add	r3, r3, #2
	ldrh	r2, [r3]
	ldr	r3, [fp, #-724]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1552
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L438
.L439:
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #-324]
.L438:
	ldr	r3, [fp, #-724]
	sub	r2, r3, #1
	str	r2, [fp, #-724]
	cmp	r3, #0
	bne	.L439
	b	.L440
.L437:
	ldr	r3, [fp, #-724]
	cmp	r3, #10
	bhi	.L441
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #4
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #4
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #17
	strb	r2, [r3, #-324]
	ldr	r3, [fp, #-724]
	and	r2, r3, #255
	ldr	r3, [fp, #-728]
	add	r1, r3, #1
	str	r1, [fp, #-728]
	sub	r2, r2, #3
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-324]
	b	.L440
.L441:
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #6
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #6
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #18
	strb	r2, [r3, #-324]
	ldr	r3, [fp, #-724]
	and	r2, r3, #255
	ldr	r3, [fp, #-728]
	add	r1, r3, #1
	str	r1, [fp, #-728]
	sub	r2, r2, #11
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-324]
.L440:
	mov	r3, #0
	str	r3, [fp, #-724]
.L436:
	ldrb	r2, [fp, #-745]	@ zero_extendqisi2
	ldrb	r3, [fp, #-746]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L442
	ldr	r3, [fp, #-720]
	cmp	r3, #0
	beq	.L443
	ldr	r3, [fp, #-720]
	cmp	r3, #2
	bhi	.L444
	ldrb	r3, [fp, #-746]	@ zero_extendqisi2
	ldr	r2, [fp, #-752]
	add	r3, r3, #17152
	add	r3, r3, #8
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r1, [r3]
	ldr	r3, [fp, #-720]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrb	r3, [fp, #-746]	@ zero_extendqisi2
	add	r2, r1, r2
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	ldr	r1, [fp, #-752]
	add	r3, r3, #17152
	add	r3, r3, #8
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L445
.L446:
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r2, [fp, #-746]
	strb	r2, [r3, #-324]
.L445:
	ldr	r3, [fp, #-720]
	sub	r2, r3, #1
	str	r2, [fp, #-720]
	cmp	r3, #0
	bne	.L446
	b	.L447
.L444:
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #2
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #16
	strb	r2, [r3, #-324]
	ldr	r3, [fp, #-720]
	and	r2, r3, #255
	ldr	r3, [fp, #-728]
	add	r1, r3, #1
	str	r1, [fp, #-728]
	sub	r2, r2, #3
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-324]
.L447:
	mov	r3, #0
	str	r3, [fp, #-720]
.L443:
	ldrb	r3, [fp, #-745]	@ zero_extendqisi2
	ldr	r2, [fp, #-752]
	add	r3, r3, #17152
	add	r3, r3, #8
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r2, [r3]
	ldrb	r3, [fp, #-745]	@ zero_extendqisi2
	add	r2, r2, #1
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	ldr	r1, [fp, #-752]
	add	r3, r3, #17152
	add	r3, r3, #8
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r2, [fp, #-745]
	strb	r2, [r3, #-324]
	b	.L430
.L442:
	ldr	r3, [fp, #-720]
	add	r3, r3, #1
	str	r3, [fp, #-720]
	ldr	r3, [fp, #-720]
	cmp	r3, #6
	bne	.L430
	ldr	r3, [fp, #-720]
	cmp	r3, #0
	beq	.L430
	ldr	r3, [fp, #-720]
	cmp	r3, #2
	bhi	.L448
	ldrb	r3, [fp, #-746]	@ zero_extendqisi2
	ldr	r2, [fp, #-752]
	add	r3, r3, #17152
	add	r3, r3, #8
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r1, [r3]
	ldr	r3, [fp, #-720]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrb	r3, [fp, #-746]	@ zero_extendqisi2
	add	r2, r1, r2
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	ldr	r1, [fp, #-752]
	add	r3, r3, #17152
	add	r3, r3, #8
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L449
.L450:
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r2, [fp, #-746]
	strb	r2, [r3, #-324]
.L449:
	ldr	r3, [fp, #-720]
	sub	r2, r3, #1
	str	r2, [fp, #-720]
	cmp	r3, #0
	bne	.L450
	b	.L451
.L448:
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #2
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #16
	strb	r2, [r3, #-324]
	ldr	r3, [fp, #-720]
	and	r2, r3, #255
	ldr	r3, [fp, #-728]
	add	r1, r3, #1
	str	r1, [fp, #-728]
	sub	r2, r2, #3
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-324]
.L451:
	mov	r3, #0
	str	r3, [fp, #-720]
.L430:
	ldrb	r3, [fp, #-745]
	strb	r3, [fp, #-746]
	ldr	r3, [fp, #-732]
	add	r3, r3, #1
	str	r3, [fp, #-732]
.L423:
	ldr	r2, [fp, #-732]
	ldr	r3, [fp, #-712]
	cmp	r2, r3
	bcc	.L452
	ldr	r3, [fp, #-720]
	cmp	r3, #0
	beq	.L453
	ldr	r3, [fp, #-720]
	cmp	r3, #0
	beq	.L454
	ldr	r3, [fp, #-720]
	cmp	r3, #2
	bhi	.L455
	ldrb	r3, [fp, #-746]	@ zero_extendqisi2
	ldr	r2, [fp, #-752]
	add	r3, r3, #17152
	add	r3, r3, #8
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r1, [r3]
	ldr	r3, [fp, #-720]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrb	r3, [fp, #-746]	@ zero_extendqisi2
	add	r2, r1, r2
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	ldr	r1, [fp, #-752]
	add	r3, r3, #17152
	add	r3, r3, #8
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L456
.L457:
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r2, [fp, #-746]
	strb	r2, [r3, #-324]
.L456:
	ldr	r3, [fp, #-720]
	sub	r2, r3, #1
	str	r2, [fp, #-720]
	cmp	r3, #0
	bne	.L457
	b	.L458
.L455:
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #2
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #16
	strb	r2, [r3, #-324]
	ldr	r3, [fp, #-720]
	and	r2, r3, #255
	ldr	r3, [fp, #-728]
	add	r1, r3, #1
	str	r1, [fp, #-728]
	sub	r2, r2, #3
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-324]
.L458:
	mov	r3, #0
	str	r3, [fp, #-720]
	b	.L454
.L453:
	ldr	r3, [fp, #-724]
	cmp	r3, #0
	beq	.L454
	ldr	r3, [fp, #-724]
	cmp	r3, #2
	bhi	.L459
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1552
	add	r3, r3, #2
	ldrh	r2, [r3]
	ldr	r3, [fp, #-724]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1552
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L460
.L461:
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #-324]
.L460:
	ldr	r3, [fp, #-724]
	sub	r2, r3, #1
	str	r2, [fp, #-724]
	cmp	r3, #0
	bne	.L461
	b	.L462
.L459:
	ldr	r3, [fp, #-724]
	cmp	r3, #10
	bhi	.L463
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #4
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #4
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #17
	strb	r2, [r3, #-324]
	ldr	r3, [fp, #-724]
	and	r2, r3, #255
	ldr	r3, [fp, #-728]
	add	r1, r3, #1
	str	r1, [fp, #-728]
	sub	r2, r2, #3
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-324]
	b	.L462
.L463:
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #6
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-752]
	add	r3, r3, #32768
	add	r3, r3, #1584
	add	r3, r3, #6
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-728]
	add	r2, r3, #1
	str	r2, [fp, #-728]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #18
	strb	r2, [r3, #-324]
	ldr	r3, [fp, #-724]
	and	r2, r3, #255
	ldr	r3, [fp, #-728]
	add	r1, r3, #1
	str	r1, [fp, #-728]
	sub	r2, r2, #11
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-324]
.L462:
	mov	r3, #0
	str	r3, [fp, #-724]
.L454:
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #7
	mov	r2, #19
	mov	r1, #2
	ldr	r0, [fp, #-752]
	bl	tdefl_optimize_huffman_table
	mov	r3, #2
	str	r3, [fp, #-708]
	mov	r3, #2
	str	r3, [fp, #-704]
	mov	r2, #1
	ldr	r3, [fp, #-704]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-708]
	cmp	r2, r3
	bls	.L464
	ldr	r3, .L505+52
	ldr	r2, .L505+12
	ldr	r1, .L505+64
	ldr	r0, .L505+60
	bl	__assert_fail
.L464:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-708]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-704]
	add	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
	b	.L465
.L467:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L466
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-752]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L466:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
.L465:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L467
	ldr	r3, [fp, #-744]
	sub	r3, r3, #256
	sub	r3, r3, #1
	str	r3, [fp, #-700]
	mov	r3, #5
	str	r3, [fp, #-696]
	mov	r2, #1
	ldr	r3, [fp, #-696]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-700]
	cmp	r2, r3
	bls	.L468
	ldr	r3, .L505+52
	ldr	r2, .L505+16
	ldr	r1, .L505+64
	ldr	r0, .L505+60
	bl	__assert_fail
.L468:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-700]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-696]
	add	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
	b	.L469
.L471:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L470
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-752]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L470:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
.L469:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L471
	ldr	r3, [fp, #-740]
	sub	r3, r3, #1
	str	r3, [fp, #-692]
	mov	r3, #5
	str	r3, [fp, #-688]
	mov	r2, #1
	ldr	r3, [fp, #-688]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-692]
	cmp	r2, r3
	bls	.L472
	ldr	r3, .L505+52
	ldr	r2, .L505+20
	ldr	r1, .L505+64
	ldr	r0, .L505+60
	bl	__assert_fail
.L472:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-692]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-688]
	add	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
	b	.L473
.L475:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L474
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-752]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L474:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
.L473:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L475
	mov	r3, #18
	str	r3, [fp, #-736]
	b	.L476
.L479:
	ldr	r2, .L505+28
	ldr	r3, [fp, #-736]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-752]
	add	r3, r3, r2
	add	r3, r3, #37120
	add	r3, r3, #82
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L504
	ldr	r3, [fp, #-736]
	sub	r3, r3, #1
	str	r3, [fp, #-736]
.L476:
	ldr	r3, [fp, #-736]
	cmp	r3, #0
	bge	.L479
	b	.L478
.L504:
	nop
.L478:
	ldr	r3, [fp, #-736]
	cmp	r3, #3
	movge	r3, r3
	movlt	r3, #3
	add	r3, r3, #1
	str	r3, [fp, #-736]
	ldr	r3, [fp, #-736]
	sub	r3, r3, #4
	str	r3, [fp, #-684]
	mov	r3, #4
	str	r3, [fp, #-680]
	mov	r2, #1
	ldr	r3, [fp, #-680]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-684]
	cmp	r2, r3
	bls	.L480
	ldr	r3, .L505+52
	ldr	r2, .L505+24
	ldr	r1, .L505+64
	ldr	r0, .L505+60
	bl	__assert_fail
.L506:
	.align	2
.L505:
	.word	.LC13
	.word	286
	.word	257
	.word	2024
	.word	2026
	.word	2027
	.word	2030
	.word	s_tdefl_packed_code_size_syms_swizzle
	.word	2031
	.word	2035
	.word	.LC12
	.word	2036
	.word	.LC1
	.word	__PRETTY_FUNCTION__.5798
	.word	2037
	.word	.LC11
	.word	.LC3
	.word	.LC13
.L480:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-684]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-680]
	add	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
	b	.L481
.L483:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L482
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-752]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L482:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
.L481:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L483
	mov	r3, #0
	str	r3, [fp, #-732]
	b	.L484
.L489:
	ldr	r2, .L505+28
	ldr	r3, [fp, #-732]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-752]
	add	r3, r3, r2
	add	r3, r3, #37120
	add	r3, r3, #82
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-656]
	mov	r3, #3
	str	r3, [fp, #-652]
	mov	r2, #1
	ldr	r3, [fp, #-652]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-656]
	cmp	r2, r3
	bls	.L485
	ldr	r3, .L505+52
	ldr	r2, .L505+32
	ldr	r1, .L505+64
	ldr	r0, .L505+60
	bl	__assert_fail
.L485:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-656]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-652]
	add	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
	b	.L486
.L488:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L487
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-752]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L487:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
.L486:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L488
	ldr	r3, [fp, #-732]
	add	r3, r3, #1
	str	r3, [fp, #-732]
.L484:
	ldr	r3, [fp, #-732]
	ldr	r2, [fp, #-736]
	cmp	r2, r3
	bgt	.L489
	mov	r3, #0
	str	r3, [fp, #-716]
	b	.L490
.L500:
	ldr	r3, [fp, #-716]
	add	r2, r3, #1
	str	r2, [fp, #-716]
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #-324]	@ zero_extendqisi2
	str	r3, [fp, #-676]
	ldr	r3, [fp, #-676]
	cmp	r3, #18
	bls	.L491
	ldr	r3, .L505+52
	ldr	r2, .L505+36
	ldr	r1, .L505+64
	ldr	r0, .L505+40
	bl	__assert_fail
.L491:
	ldr	r2, [fp, #-752]
	ldr	r3, [fp, #-676]
	add	r3, r3, #17920
	add	r3, r3, #104
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [fp, #-672]
	ldr	r2, [fp, #-752]
	ldr	r3, [fp, #-676]
	add	r3, r2, r3
	add	r3, r3, #37120
	add	r3, r3, #82
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-668]
	mov	r2, #1
	ldr	r3, [fp, #-668]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-672]
	cmp	r2, r3
	bls	.L492
	ldr	r3, .L505+52
	ldr	r2, .L505+44
	ldr	r1, .L505+64
	ldr	r0, .L505+60
	bl	__assert_fail
.L492:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-672]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-668]
	add	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
	b	.L493
.L495:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L494
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-752]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L494:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
.L493:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L495
	ldr	r3, [fp, #-676]
	cmp	r3, #15
	bls	.L490
	ldr	r3, [fp, #-716]
	add	r2, r3, #1
	str	r2, [fp, #-716]
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #-324]	@ zero_extendqisi2
	str	r3, [fp, #-664]
	ldr	r3, [fp, #-676]
	sub	r3, r3, #16
	ldr	r2, .L505+48
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-660]
	mov	r2, #1
	ldr	r3, [fp, #-660]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-664]
	cmp	r2, r3
	bls	.L496
	ldr	r3, .L505+52
	ldr	r2, .L505+56
	ldr	r1, .L505+64
	ldr	r0, .L505+60
	bl	__assert_fail
.L496:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-664]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-660]
	add	r2, r2, r3
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
	b	.L497
.L499:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L498
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-752]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L498:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-752]
	str	r2, [r3, #68]
.L497:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L499
.L490:
	ldr	r2, [fp, #-716]
	ldr	r3, [fp, #-728]
	cmp	r2, r3
	bcc	.L500
	nop
	ldr	r3, .L505+68
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L501
	bl	__stack_chk_fail
.L501:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tdefl_start_dynamic_block, .-tdefl_start_dynamic_block
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_start_static_block, %function
tdefl_start_static_block:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r3, r3, #36608
	add	r3, r3, #18
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L508
.L509:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	mov	r2, #8
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L508:
	ldr	r3, [fp, #-20]
	cmp	r3, #143
	bls	.L509
	b	.L510
.L511:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	mov	r2, #9
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L510:
	ldr	r3, [fp, #-20]
	cmp	r3, #255
	bls	.L511
	b	.L512
.L513:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	mov	r2, #7
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L512:
	ldr	r3, [fp, #-20]
	cmp	r3, #280
	bcc	.L513
	b	.L514
.L515:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	mov	r2, #8
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L514:
	ldr	r3, [fp, #-20]
	cmp	r3, #288
	bcc	.L515
	ldr	r3, [fp, #-24]
	add	r3, r3, #36864
	add	r3, r3, #50
	mov	r2, #32
	mov	r1, #5
	mov	r0, r3
	bl	memset
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #15
	mov	r2, #288
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	tdefl_optimize_huffman_table
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #15
	mov	r2, #32
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	tdefl_optimize_huffman_table
	mov	r3, #1
	str	r3, [fp, #-12]
	mov	r3, #2
	str	r3, [fp, #-8]
	mov	r2, #1
	ldr	r3, [fp, #-8]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bls	.L516
	ldr	r3, .L520
	ldr	r2, .L520+4
	ldr	r1, .L520+8
	ldr	r0, .L520+12
	bl	__assert_fail
.L516:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-12]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #68]
	b	.L517
.L519:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L518
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-24]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L518:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-24]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-24]
	str	r2, [r3, #68]
.L517:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L519
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L521:
	.align	2
.L520:
	.word	__PRETTY_FUNCTION__.5861
	.word	2056
	.word	.LC3
	.word	.LC11
	.size	tdefl_start_static_block, .-tdefl_start_static_block
	.section	.rodata
	.align	2
	.type	mz_bitmasks, %object
	.size	mz_bitmasks, 68
mz_bitmasks:
	.word	0
	.word	1
	.word	3
	.word	7
	.word	15
	.word	31
	.word	63
	.word	127
	.word	255
	.word	511
	.word	1023
	.word	2047
	.word	4095
	.word	8191
	.word	16383
	.word	32767
	.word	65535
	.align	2
.LC14:
	.ascii	"d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]"
	.ascii	"\000"
	.align	2
.LC15:
	.ascii	"d->m_huff_code_sizes[1][sym]\000"
	.align	2
.LC16:
	.ascii	"d->m_huff_code_sizes[0][lit]\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_compress_lz_codes, %function
tdefl_compress_lz_codes:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-88]
	mov	r3, #1
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-88]
	add	r3, r3, #37376
	add	r3, r3, #114
	str	r3, [fp, #-76]
	b	.L523
.L552:
	ldr	r3, [fp, #-80]
	cmp	r3, #1
	bne	.L524
	ldr	r3, [fp, #-76]
	add	r2, r3, #1
	str	r2, [fp, #-76]
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r3, #256
	str	r3, [fp, #-80]
.L524:
	ldr	r3, [fp, #-80]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L525
	ldr	r3, [fp, #-76]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	str	r3, [fp, #-76]
	ldr	r2, .L558
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-88]
	add	r3, r3, r2
	add	r3, r3, #36608
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L526
	ldr	r3, .L558+4
	ldr	r2, .L558+8
	ldr	r1, .L558+12
	ldr	r0, .L558+16
	bl	__assert_fail
.L526:
	ldr	r2, .L558
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	ldr	r2, [fp, #-88]
	add	r3, r3, #17408
	add	r3, r3, #40
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r2, .L558
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-88]
	add	r3, r3, r2
	add	r3, r3, #36608
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-32]
	mov	r2, #1
	ldr	r3, [fp, #-32]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bls	.L527
	ldr	r3, .L558+4
	ldr	r2, .L558+20
	ldr	r1, .L558+12
	ldr	r0, .L558+24
	bl	__assert_fail
.L527:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-36]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
	b	.L528
.L530:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L529
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-88]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L529:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
.L528:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L530
	ldr	r2, .L558+28
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L558+32
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-44]
	and	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r2, .L558+28
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-24]
	mov	r2, #1
	ldr	r3, [fp, #-24]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bls	.L531
	ldr	r3, .L558+4
	ldr	r2, .L558+36
	ldr	r1, .L558+12
	ldr	r0, .L558+24
	bl	__assert_fail
.L531:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-28]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
	b	.L532
.L534:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L533
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-88]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L533:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
.L532:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L534
	ldr	r3, [fp, #-40]
	cmp	r3, #512
	bcs	.L535
	ldr	r2, .L558+40
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-72]
	ldr	r2, .L558+44
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-68]
	b	.L536
.L535:
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #8
	ldr	r2, .L558+48
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #8
	ldr	r2, .L558+52
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-68]
.L536:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	add	r3, r3, #36864
	add	r3, r3, #50
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L537
	ldr	r3, .L558+4
	ldr	r2, .L558+56
	ldr	r1, .L558+12
	ldr	r0, .L558+60
	bl	__assert_fail
.L537:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-72]
	add	r3, r3, #17664
	add	r3, r3, #72
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	add	r3, r3, #36864
	add	r3, r3, #50
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-16]
	mov	r2, #1
	ldr	r3, [fp, #-16]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bls	.L538
	ldr	r3, .L558+4
	ldr	r2, .L558+64
	ldr	r1, .L558+12
	ldr	r0, .L558+24
	bl	__assert_fail
.L538:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-20]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
	b	.L539
.L541:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L540
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-88]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L540:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
.L539:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L541
	ldr	r2, .L558+32
	ldr	r3, [fp, #-68]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-8]
	mov	r2, #1
	ldr	r3, [fp, #-8]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bls	.L542
	ldr	r3, .L558+4
	ldr	r2, .L558+68
	ldr	r1, .L558+12
	ldr	r0, .L558+24
	bl	__assert_fail
.L542:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-12]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
	b	.L543
.L545:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L544
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-88]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L544:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
.L543:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L545
	b	.L546
.L525:
	ldr	r3, [fp, #-76]
	add	r2, r3, #1
	str	r2, [fp, #-76]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	add	r3, r3, #36608
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L547
	ldr	r3, .L558+4
	ldr	r2, .L558+72
	ldr	r1, .L558+12
	ldr	r0, .L558+76
	bl	__assert_fail
.L547:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-56]
	add	r3, r3, #17408
	add	r3, r3, #40
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	add	r3, r3, #36608
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-48]
	mov	r2, #1
	ldr	r3, [fp, #-48]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bls	.L548
	ldr	r3, .L558+4
	ldr	r2, .L558+80
	ldr	r1, .L558+12
	ldr	r0, .L558+24
	bl	__assert_fail
.L548:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-52]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-48]
	add	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
	b	.L549
.L551:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L550
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-88]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L550:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
.L549:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L551
.L546:
	ldr	r3, [fp, #-80]
	lsr	r3, r3, #1
	str	r3, [fp, #-80]
.L523:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	bcc	.L552
	ldr	r3, [fp, #-88]
	add	r3, r3, #32768
	add	r3, r3, #2640
	add	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-88]
	add	r3, r3, #36864
	ldrb	r3, [r3, #18]	@ zero_extendqisi2
	str	r3, [fp, #-60]
	mov	r2, #1
	ldr	r3, [fp, #-60]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-64]
	cmp	r2, r3
	bls	.L553
	ldr	r3, .L558+4
	ldr	r2, .L558+84
	ldr	r1, .L558+12
	ldr	r0, .L558+24
	bl	__assert_fail
.L553:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-64]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-60]
	add	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
	b	.L554
.L556:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L555
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-88]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L555:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-88]
	str	r2, [r3, #68]
.L554:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L556
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	movcc	r3, #1
	movcs	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L559:
	.align	2
.L558:
	.word	s_tdefl_len_sym
	.word	__PRETTY_FUNCTION__.5875
	.word	2166
	.word	.LC3
	.word	.LC14
	.word	2167
	.word	.LC11
	.word	s_tdefl_len_extra
	.word	mz_bitmasks
	.word	2168
	.word	s_tdefl_small_dist_sym
	.word	s_tdefl_small_dist_extra
	.word	s_tdefl_large_dist_sym
	.word	s_tdefl_large_dist_extra
	.word	2178
	.word	.LC15
	.word	2179
	.word	2180
	.word	2185
	.word	.LC16
	.word	2186
	.word	2190
	.size	tdefl_compress_lz_codes, .-tdefl_compress_lz_codes
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_compress_block, %function
tdefl_compress_block:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L561
	ldr	r0, [fp, #-8]
	bl	tdefl_start_static_block
	b	.L562
.L561:
	ldr	r0, [fp, #-8]
	bl	tdefl_start_dynamic_block
.L562:
	ldr	r0, [fp, #-8]
	bl	tdefl_compress_lz_codes
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tdefl_compress_block, .-tdefl_compress_block
	.section	.rodata
	.align	2
.LC17:
	.ascii	"!d->m_output_flush_remaining\000"
	.align	2
.LC18:
	.ascii	"d->m_pOutput_buf < d->m_pOutput_buf_end\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_flush_block, %function
tdefl_flush_block:
	@ args = 0, pretend = 0, frame = 160
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #164
	str	r0, [fp, #-168]
	str	r1, [fp, #-172]
	mov	r3, #0
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #8]
	and	r3, r3, #524288
	cmp	r3, #0
	beq	.L565
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #64]
	sub	r2, r2, r3
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #36]
	cmp	r2, r3
	bhi	.L565
	mov	r3, #1
	b	.L566
.L565:
	mov	r3, #0
.L566:
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L567
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #124]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #140]
	sub	r3, r2, r3
	ldr	r2, .L644
	cmp	r3, r2
	bls	.L567
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #116]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #140]
	add	r3, r2, r3
	b	.L568
.L567:
	ldr	r2, [fp, #-168]
	ldr	r3, .L644+64
	add	r3, r2, r3
.L568:
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-132]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r3, r3, #84992
	add	r3, r3, #188
	ldr	r2, [fp, #-168]
	str	r3, [r2, #52]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #92]
	cmp	r3, #0
	beq	.L569
	ldr	r3, .L644+4
	ldr	r2, .L644+8
	ldr	r1, .L644+12
	ldr	r0, .L644+16
	bl	__assert_fail
.L569:
	ldr	r3, [fp, #-168]
	mov	r2, #0
	str	r2, [r3, #88]
	ldr	r3, [fp, #-168]
	mov	r2, #0
	str	r2, [r3, #92]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #56]
	asr	r2, r2, r3
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #44]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #56]
	cmp	r3, #8
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	rsb	r3, r3, #0
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #8]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L570
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #100]
	cmp	r3, #0
	bne	.L570
	mov	r3, #120
	str	r3, [fp, #-128]
	mov	r3, #8
	str	r3, [fp, #-124]
	mov	r2, #1
	ldr	r3, [fp, #-124]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-128]
	cmp	r2, r3
	bls	.L571
	ldr	r3, .L644+4
	ldr	r2, .L644+20
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L571:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-128]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-124]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L572
.L574:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L573
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L573:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L572:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L574
	mov	r3, #1
	str	r3, [fp, #-120]
	mov	r3, #8
	str	r3, [fp, #-116]
	mov	r2, #1
	ldr	r3, [fp, #-116]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-120]
	cmp	r2, r3
	bls	.L575
	ldr	r3, .L644+4
	ldr	r2, .L644+20
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L575:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-120]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-116]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L576
.L578:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L577
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L577:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L576:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L578
.L570:
	ldr	r3, [fp, #-172]
	cmp	r3, #4
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-112]
	mov	r3, #1
	str	r3, [fp, #-108]
	mov	r2, #1
	ldr	r3, [fp, #-108]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-112]
	cmp	r2, r3
	bls	.L579
	ldr	r3, .L644+4
	ldr	r2, .L644+28
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L579:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-112]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-108]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L580
.L582:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L581
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L581:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L580:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L582
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L583
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #8]
	and	r3, r3, #262144
	cmp	r3, #0
	bne	.L584
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #60]
	cmp	r3, #47
	bhi	.L585
.L584:
	mov	r3, #1
	b	.L586
.L585:
	mov	r3, #0
.L586:
	mov	r1, r3
	ldr	r0, [fp, #-168]
	bl	tdefl_compress_block
	str	r0, [fp, #-160]
.L583:
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L587
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L588
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-104]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	bcc	.L588
.L587:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #64]
	sub	r2, r2, r3
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #36]
	cmp	r2, r3
	bhi	.L588
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-104]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-100]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-96]
	str	r2, [r3, #68]
	mov	r3, #0
	str	r3, [fp, #-92]
	mov	r3, #2
	str	r3, [fp, #-88]
	mov	r2, #1
	ldr	r3, [fp, #-88]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-92]
	cmp	r2, r3
	bls	.L589
	ldr	r3, .L644+4
	mov	r2, #2240
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L589:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-92]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-88]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L590
.L592:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L591
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L591:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L590:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L592
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L593
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	rsb	r3, r3, #8
	str	r3, [fp, #-80]
	mov	r2, #1
	ldr	r3, [fp, #-80]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	bls	.L594
	ldr	r3, .L644+4
	ldr	r2, .L644+32
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L594:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-84]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L595
.L597:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L596
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L596:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L595:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L597
.L593:
	mov	r3, #2
	str	r3, [fp, #-156]
	b	.L598
.L603:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #60]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-68]
	mov	r3, #16
	str	r3, [fp, #-64]
	mov	r2, #1
	ldr	r3, [fp, #-64]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-68]
	cmp	r2, r3
	bls	.L599
	ldr	r3, .L644+4
	ldr	r2, .L644+36
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L599:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-68]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-64]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L600
.L602:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L601
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L601:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L600:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L602
	ldr	r3, [fp, #-156]
	sub	r3, r3, #1
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #60]
	eor	r3, r3, #65280
	eor	r3, r3, #255
	ldr	r2, [fp, #-168]
	str	r3, [r2, #60]
.L598:
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bne	.L603
	mov	r3, #0
	str	r3, [fp, #-156]
	b	.L604
.L609:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	ldr	r2, [fp, #-168]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	str	r3, [fp, #-76]
	mov	r3, #8
	str	r3, [fp, #-72]
	mov	r2, #1
	ldr	r3, [fp, #-72]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	bls	.L605
	ldr	r3, .L644+4
	ldr	r2, .L644+40
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L605:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-76]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L606
.L608:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L607
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L607:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L606:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L608
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-156]
.L604:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-156]
	cmp	r2, r3
	bcc	.L609
	b	.L610
.L588:
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	bne	.L610
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-104]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-100]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-96]
	str	r2, [r3, #68]
	mov	r1, #1
	ldr	r0, [fp, #-168]
	bl	tdefl_compress_block
.L610:
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L611
	ldr	r3, [fp, #-172]
	cmp	r3, #4
	bne	.L612
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L613
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	rsb	r3, r3, #8
	str	r3, [fp, #-32]
	mov	r2, #1
	ldr	r3, [fp, #-32]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bls	.L614
	ldr	r3, .L644+4
	ldr	r2, .L644+44
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L614:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-36]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L615
.L617:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L616
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L616:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L615:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L617
.L613:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #8]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L611
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-148]
	mov	r3, #0
	str	r3, [fp, #-152]
	b	.L618
.L623:
	ldr	r3, [fp, #-148]
	lsr	r3, r3, #24
	str	r3, [fp, #-28]
	mov	r3, #8
	str	r3, [fp, #-24]
	mov	r2, #1
	ldr	r3, [fp, #-24]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bls	.L619
	ldr	r3, .L644+4
	ldr	r2, .L644+48
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L619:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-28]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L620
.L622:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L621
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L621:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L620:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L622
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #8
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
.L618:
	ldr	r3, [fp, #-152]
	cmp	r3, #3
	bls	.L623
	b	.L611
.L612:
	mov	r3, #0
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #3
	str	r3, [fp, #-56]
	mov	r2, #1
	ldr	r3, [fp, #-56]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	bls	.L624
	ldr	r3, .L644+4
	ldr	r2, .L644+52
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L624:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-60]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-56]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L625
.L627:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L626
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L626:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L625:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L627
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L628
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	rsb	r3, r3, #8
	str	r3, [fp, #-48]
	mov	r2, #1
	ldr	r3, [fp, #-48]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bls	.L629
	ldr	r3, .L644+4
	ldr	r2, .L644+52
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L629:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-52]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-48]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L630
.L632:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L631
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L631:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L630:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L632
.L628:
	mov	r3, #2
	str	r3, [fp, #-144]
	b	.L633
.L638:
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-44]
	mov	r3, #16
	str	r3, [fp, #-40]
	mov	r2, #1
	ldr	r3, [fp, #-40]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bls	.L634
	ldr	r3, .L644+4
	ldr	r2, .L644+52
	ldr	r1, .L644+12
	ldr	r0, .L644+24
	bl	__assert_fail
.L634:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	ldr	r1, [fp, #-44]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
	b	.L635
.L637:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L636
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #48]
	add	r0, r3, #1
	ldr	r1, [fp, #-168]
	str	r0, [r1, #48]
	and	r2, r2, #255
	strb	r2, [r3]
.L636:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #72]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	sub	r2, r3, #8
	ldr	r3, [fp, #-168]
	str	r2, [r3, #68]
.L635:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L637
	ldr	r3, [fp, #-144]
	sub	r3, r3, #1
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-140]
	eor	r3, r3, #65280
	eor	r3, r3, #255
	str	r3, [fp, #-140]
.L633:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L638
.L611:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcc	.L639
	ldr	r3, .L644+4
	ldr	r2, .L644+56
	ldr	r1, .L644+12
	ldr	r0, .L644+60
	bl	__assert_fail
.L645:
	.align	2
.L644:
	.word	85195
	.word	__PRETTY_FUNCTION__.5925
	.word	2216
	.word	.LC3
	.word	.LC17
	.word	2225
	.word	.LC11
	.word	2228
	.word	2241
	.word	2244
	.word	2248
	.word	2262
	.word	2263
	.word	2267
	.word	2271
	.word	.LC18
	.word	234098
.L639:
	ldr	r3, [fp, #-168]
	add	r3, r3, #33024
	add	r3, r3, #146
	mov	r2, #576
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-168]
	add	r3, r3, #33536
	add	r3, r3, #210
	mov	r2, #64
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-168]
	add	r3, r3, #37376
	add	r3, r3, #114
	add	r2, r3, #1
	ldr	r3, [fp, #-168]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-168]
	add	r3, r3, #37376
	add	r3, r3, #114
	ldr	r2, [fp, #-168]
	str	r3, [r2, #44]
	ldr	r3, [fp, #-168]
	mov	r2, #8
	str	r2, [r3, #56]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #60]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #64]
	ldr	r3, [fp, #-168]
	mov	r2, #0
	str	r2, [r3, #60]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #100]
	add	r2, r3, #1
	ldr	r3, [fp, #-168]
	str	r2, [r3, #100]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-132]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L640
	ldr	r3, [fp, #-168]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L641
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #132]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #112]
	sub	r2, r2, r3
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #120]
	str	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r4, [r3]
	ldr	r2, [fp, #-168]
	ldr	r3, .L644+64
	add	r3, r2, r3
	ldr	r2, [fp, #-168]
	ldr	r2, [r2, #4]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	blx	r4
	mov	r3, r0
	cmp	r3, #0
	bne	.L640
	ldr	r3, [fp, #-168]
	mvn	r2, #0
	str	r2, [r3, #108]
	mvn	r3, #0
	b	.L642
.L641:
	ldr	r2, [fp, #-168]
	ldr	r3, .L644+64
	add	r3, r2, r3
	ldr	r2, [fp, #-132]
	cmp	r2, r3
	bne	.L643
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #124]
	ldr	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #140]
	sub	r2, r2, r3
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #116]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #140]
	add	r0, r2, r3
	ldr	r2, [fp, #-168]
	ldr	r3, .L644+64
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	mov	r1, r3
	bl	memcpy
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #140]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #140]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L640
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-168]
	str	r2, [r3, #88]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-168]
	str	r2, [r3, #92]
	b	.L640
.L643:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #140]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #140]
.L640:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #92]
.L642:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	tdefl_flush_block, .-tdefl_flush_block
	.section	.rodata
	.align	2
.LC19:
	.ascii	"max_match_len <= TDEFL_MAX_MATCH_LEN\000"
	.align	2
.LC20:
	.ascii	"(match_len >= TDEFL_MIN_MATCH_LEN) && (match_dist >"
	.ascii	"= 1) && (match_dist <= TDEFL_LZ_DICT_SIZE)\000"
	.align	2
.LC21:
	.ascii	"d->m_lookahead_size >= len_to_move\000"
	.align	2
.LC22:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_compress_normal, %function
tdefl_compress_normal:
	@ args = 0, pretend = 0, frame = 216
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #216
	str	r0, [fp, #-216]
	ldr	r3, .L744
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #132]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #136]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #128]
	str	r3, [fp, #-172]
	b	.L647
.L722:
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #36]
	add	r3, r2, r3
	cmp	r3, #1
	bls	.L653
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	add	r3, r2, r3
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	add	r3, r2, r3
	sub	r3, r3, #2
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	lsl	r2, r3, #5
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	ldr	r1, [fp, #-216]
	add	r3, r1, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	eor	r3, r3, r2
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	rsb	r3, r3, #256
	add	r3, r3, #2
	ldr	r2, [fp, #-192]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	str	r3, [fp, #-156]
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	str	r3, [fp, #-152]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-156]
	sub	r3, r2, r3
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-156]
	add	r2, r2, r3
	ldr	r3, [fp, #-216]
	str	r2, [r3, #32]
	b	.L649
.L651:
	ldr	r3, [fp, #-196]
	add	r2, r3, #1
	str	r2, [fp, #-196]
	ldrb	r3, [r3]
	strb	r3, [fp, #-210]
	ldr	r2, [fp, #-216]
	ldr	r3, [fp, #-184]
	add	r3, r2, r3
	add	r3, r3, #144
	ldrb	r2, [fp, #-210]
	strb	r2, [r3]
	ldr	r3, [fp, #-184]
	cmp	r3, #256
	bhi	.L650
	ldr	r3, [fp, #-184]
	add	r3, r3, #32768
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldrb	r2, [fp, #-210]
	strb	r2, [r3, #144]
.L650:
	ldr	r3, [fp, #-176]
	lsl	r2, r3, #5
	ldrb	r3, [fp, #-210]	@ zero_extendqisi2
	eor	r3, r3, r2
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	ldr	r1, [fp, #-216]
	ldr	r2, [fp, #-176]
	add	r2, r2, #83968
	add	r2, r2, #312
	lsl	r2, r2, #1
	add	r2, r1, r2
	add	r2, r2, #2
	ldrh	r2, [r2]
	ldr	r1, [fp, #-216]
	add	r3, r3, #51456
	add	r3, r3, #56
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r1, [fp, #-216]
	ldr	r3, [fp, #-176]
	add	r3, r3, #83968
	add	r3, r3, #312
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L649:
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-152]
	cmp	r2, r3
	bne	.L651
	b	.L652
.L655:
	ldr	r3, [fp, #-196]
	add	r2, r3, #1
	str	r2, [fp, #-196]
	ldrb	r3, [r3]
	strb	r3, [fp, #-211]
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	add	r3, r2, r3
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-192]
	sub	r3, r3, #1
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-216]
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	add	r3, r3, #144
	ldrb	r2, [fp, #-211]
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	cmp	r3, #256
	bhi	.L654
	ldr	r3, [fp, #-168]
	add	r3, r3, #32768
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldrb	r2, [fp, #-211]
	strb	r2, [r3, #144]
.L654:
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-216]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #36]
	add	r3, r2, r3
	cmp	r3, #2
	bls	.L653
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	add	r3, r2, r3
	sub	r3, r3, #3
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	lsl	r2, r3, #10
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	ldr	r1, [fp, #-216]
	add	r3, r1, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	lsl	r3, r3, #5
	eor	r2, r2, r3
	ldrb	r3, [fp, #-211]	@ zero_extendqisi2
	eor	r3, r3, r2
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	ldr	r1, [fp, #-216]
	ldr	r2, [fp, #-160]
	add	r2, r2, #83968
	add	r2, r2, #312
	lsl	r2, r2, #1
	add	r2, r1, r2
	add	r2, r2, #2
	ldrh	r2, [r2]
	ldr	r1, [fp, #-216]
	add	r3, r3, #51456
	add	r3, r3, #56
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r1, [fp, #-216]
	ldr	r3, [fp, #-160]
	add	r3, r3, #83968
	add	r3, r3, #312
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
.L653:
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	beq	.L652
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r2, .L744+4
	cmp	r3, r2
	bls	.L655
.L652:
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	rsb	r3, r3, #32768
	cmp	r2, r3
	movcc	r2, r2
	movcs	r2, r3
	ldr	r3, [fp, #-216]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	bne	.L656
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r2, .L744+4
	cmp	r3, r2
	bls	.L730
.L656:
	mov	r3, #1
	str	r3, [fp, #-188]
	mov	r3, #0
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #80]
	cmp	r3, #0
	beq	.L658
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #80]
	b	.L659
.L658:
	mov	r3, #2
.L659:
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	and	r3, r3, #589824
	cmp	r3, #0
	beq	.L660
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L661
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	and	r3, r3, #524288
	cmp	r3, #0
	bne	.L661
	ldr	r3, [fp, #-148]
	sub	r3, r3, #1
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]
	strb	r3, [fp, #-209]
	mov	r3, #0
	str	r3, [fp, #-200]
	b	.L662
.L665:
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-148]
	add	r3, r2, r3
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	ldrb	r2, [fp, #-209]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L731
	ldr	r3, [fp, #-200]
	add	r3, r3, #1
	str	r3, [fp, #-200]
.L662:
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	bhi	.L665
	b	.L664
.L731:
	nop
.L664:
	ldr	r3, [fp, #-200]
	cmp	r3, #2
	bhi	.L666
	mov	r3, #0
	str	r3, [fp, #-200]
	b	.L661
.L666:
	mov	r3, #1
	str	r3, [fp, #-204]
	b	.L661
.L660:
	ldr	r3, [fp, #-216]
	ldr	r1, [r3, #28]
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r0, [fp, #-216]
	str	r0, [fp, #-140]
	str	r1, [fp, #-136]
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #204
	str	r3, [fp, #-124]
	sub	r3, fp, #200
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-116]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-112]
	cmp	r3, #31
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	ldr	r2, [fp, #-140]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-140]
	add	r2, r3, #144
	ldr	r3, [fp, #-116]
	add	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-112]
	add	r3, r2, r3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]
	strb	r3, [fp, #-208]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-112]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]
	strb	r3, [fp, #-207]
	ldr	r3, [fp, #-128]
	ldr	r2, .L744+8
	cmp	r3, r2
	bls	.L667
	ldr	r3, .L744+12
	ldr	r2, .L744+16
	ldr	r1, .L744+52
	ldr	r0, .L744+20
	bl	__assert_fail
.L667:
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-112]
	cmp	r2, r3
	bls	.L732
.L668:
	ldr	r3, [fp, #-104]
	sub	r3, r3, #1
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	beq	.L733
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-108]
	add	r3, r3, #51456
	add	r3, r3, #56
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	beq	.L734
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-92]
	cmp	r2, r3
	bcc	.L734
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-112]
	add	r3, r2, r3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	ldrb	r2, [fp, #-208]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L673
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-112]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	ldrb	r2, [fp, #-207]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L735
.L673:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-108]
	add	r3, r3, #51456
	add	r3, r3, #56
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	beq	.L736
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-92]
	cmp	r2, r3
	bcc	.L736
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	add	r3, r2, r3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	ldrb	r2, [fp, #-208]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L677
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	ldrb	r2, [fp, #-207]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L735
.L677:
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-108]
	add	r3, r3, #51456
	add	r3, r3, #56
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	beq	.L737
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-92]
	cmp	r2, r3
	bcc	.L737
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	add	r3, r2, r3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	ldrb	r2, [fp, #-208]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L668
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	ldrb	r2, [fp, #-207]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L735
	b	.L668
.L735:
	nop
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L738
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-140]
	add	r2, r3, #144
	ldr	r3, [fp, #-108]
	add	r3, r2, r3
	str	r3, [fp, #-84]
	mov	r3, #0
	str	r3, [fp, #-80]
	b	.L682
.L685:
	ldr	r3, [fp, #-88]
	add	r2, r3, #1
	str	r2, [fp, #-88]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-84]
	add	r1, r3, #1
	str	r1, [fp, #-84]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L739
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L682:
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	bhi	.L685
	b	.L684
.L739:
	nop
.L684:
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	bcs	.L668
	ldr	r3, [fp, #-124]
	ldr	r2, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-120]
	ldr	r2, [fp, #-112]
	str	r2, [r3]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	ldr	r2, [fp, #-128]
	cmp	r2, r3
	beq	.L740
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-112]
	add	r3, r2, r3
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]
	strb	r3, [fp, #-208]
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-112]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]
	strb	r3, [fp, #-207]
	b	.L668
.L732:
	nop
	b	.L661
.L733:
	nop
	b	.L661
.L734:
	nop
	b	.L661
.L736:
	nop
	b	.L661
.L737:
	nop
	b	.L661
.L738:
	nop
	b	.L661
.L740:
	nop
.L661:
	ldr	r3, [fp, #-200]
	cmp	r3, #3
	bne	.L688
	ldr	r3, [fp, #-204]
	cmp	r3, #8192
	bcs	.L689
.L688:
	ldr	r3, [fp, #-204]
	ldr	r2, [fp, #-148]
	cmp	r2, r3
	beq	.L689
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	and	r3, r3, #131072
	cmp	r3, #0
	beq	.L690
	ldr	r3, [fp, #-200]
	cmp	r3, #5
	bhi	.L690
.L689:
	mov	r3, #0
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-204]
.L690:
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #80]
	cmp	r3, #0
	beq	.L691
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	bcs	.L692
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #84]
	and	r2, r3, #255
	ldr	r3, [fp, #-216]
	str	r3, [fp, #-76]
	mov	r3, r2
	strb	r3, [fp, #-206]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #60]
	add	r2, r3, #1
	ldr	r3, [fp, #-76]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #40]
	add	r1, r3, #1
	ldr	r2, [fp, #-76]
	str	r1, [r2, #40]
	ldrb	r2, [fp, #-206]
	strb	r2, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #44]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #44]
	lsr	r2, r2, #1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #56]
	sub	r2, r3, #1
	ldr	r3, [fp, #-76]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L693
	ldr	r3, [fp, #-76]
	mov	r2, #8
	str	r2, [r3, #56]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #40]
	add	r1, r3, #1
	ldr	r2, [fp, #-76]
	str	r1, [r2, #40]
	ldr	r2, [fp, #-76]
	str	r3, [r2, #44]
.L693:
	ldrb	r2, [fp, #-206]	@ zero_extendqisi2
	ldr	r1, [fp, #-76]
	add	r3, r2, #16384
	add	r3, r3, #200
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r0, [fp, #-76]
	add	r3, r2, #16384
	add	r3, r3, #200
	lsl	r3, r3, #1
	add	r3, r0, r3
	add	r3, r3, #2
	strh	r1, [r3]	@ movhi
	nop
	ldr	r3, [fp, #-200]
	cmp	r3, #127
	bls	.L694
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-204]
	ldr	r1, [fp, #-216]
	str	r1, [fp, #-72]
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-68]
	cmp	r3, #2
	bls	.L695
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L695
	ldr	r3, [fp, #-64]
	cmp	r3, #32768
	bls	.L727
.L695:
	ldr	r3, .L744+24
	ldr	r2, .L744+28
	ldr	r1, .L744+52
	ldr	r0, .L744+32
	bl	__assert_fail
.L727:
	ldr	r3, [fp, #-72]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-72]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-68]
	and	r2, r3, #255
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #40]
	sub	r2, r2, #3
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #40]
	add	r3, r3, #1
	ldr	r2, [fp, #-64]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-64]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #40]
	add	r3, r3, #2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #40]
	add	r2, r3, #3
	ldr	r3, [fp, #-72]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #44]
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #56]
	sub	r2, r3, #1
	ldr	r3, [fp, #-72]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L697
	ldr	r3, [fp, #-72]
	mov	r2, #8
	str	r2, [r3, #56]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #40]
	add	r1, r3, #1
	ldr	r2, [fp, #-72]
	str	r1, [r2, #40]
	ldr	r2, [fp, #-72]
	str	r3, [r2, #44]
.L697:
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	ldr	r2, .L744+36
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-64]
	lsr	r3, r3, #8
	and	r3, r3, #127
	ldr	r2, .L744+40
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	cmp	r3, #512
	bcs	.L698
	ldr	r3, [fp, #-60]
	b	.L699
.L698:
	ldr	r3, [fp, #-56]
.L699:
	ldr	r1, [fp, #-72]
	add	r2, r3, #16640
	add	r2, r2, #232
	lsl	r2, r2, #1
	add	r2, r1, r2
	add	r2, r2, #2
	ldrh	r2, [r2]
	add	r2, r2, #1
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	ldr	r1, [fp, #-72]
	add	r3, r3, #16640
	add	r3, r3, #232
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-68]
	cmp	r3, #2
	bls	.L741
	ldr	r3, [fp, #-68]
	sub	r3, r3, #3
	ldr	r2, .L744+44
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-72]
	add	r3, r2, #16384
	add	r3, r3, #200
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r0, [fp, #-72]
	add	r3, r2, #16384
	add	r3, r3, #200
	lsl	r3, r3, #1
	add	r3, r0, r3
	add	r3, r3, #2
	strh	r1, [r3]	@ movhi
.L741:
	nop
	ldr	r3, [fp, #-216]
	mov	r2, #0
	str	r2, [r3, #80]
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-188]
	b	.L701
.L694:
	ldr	r2, [fp, #-216]
	ldr	r3, [fp, #-148]
	add	r3, r2, r3
	add	r3, r3, #144
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-216]
	str	r2, [r3, #84]
	ldr	r2, [fp, #-204]
	ldr	r3, [fp, #-216]
	str	r2, [r3, #76]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-216]
	str	r2, [r3, #80]
	b	.L701
.L692:
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #76]
	ldr	r1, [fp, #-216]
	str	r1, [fp, #-52]
	str	r2, [fp, #-48]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	bls	.L702
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L702
	ldr	r3, [fp, #-44]
	cmp	r3, #32768
	bls	.L728
.L702:
	ldr	r3, .L744+24
	ldr	r2, .L744+28
	ldr	r1, .L744+52
	ldr	r0, .L744+32
	bl	__assert_fail
.L728:
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-48]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-48]
	and	r2, r3, #255
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	sub	r2, r2, #3
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	add	r3, r3, #1
	ldr	r2, [fp, #-44]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	add	r3, r3, #2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	add	r2, r3, #3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	ldr	r2, [fp, #-52]
	ldr	r2, [r2, #44]
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #56]
	sub	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L704
	ldr	r3, [fp, #-52]
	mov	r2, #8
	str	r2, [r3, #56]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	add	r1, r3, #1
	ldr	r2, [fp, #-52]
	str	r1, [r2, #40]
	ldr	r2, [fp, #-52]
	str	r3, [r2, #44]
.L704:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	ldr	r2, .L744+36
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	lsr	r3, r3, #8
	and	r3, r3, #127
	ldr	r2, .L744+40
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	cmp	r3, #512
	bcs	.L705
	ldr	r3, [fp, #-40]
	b	.L706
.L745:
	.align	2
.L744:
	.word	.LC22
	.word	257
	.word	258
	.word	__PRETTY_FUNCTION__.6024
	.word	2348
	.word	.LC19
	.word	__PRETTY_FUNCTION__.6043
	.word	2522
	.word	.LC20
	.word	s_tdefl_small_dist_sym
	.word	s_tdefl_large_dist_sym
	.word	s_tdefl_len_sym
	.word	__PRETTY_FUNCTION__.6075
	.word	.LC3
	.word	.LC21
	.word	103018
	.word	.LC22
.L705:
	ldr	r3, [fp, #-36]
.L706:
	ldr	r1, [fp, #-52]
	add	r2, r3, #16640
	add	r2, r2, #232
	lsl	r2, r2, #1
	add	r2, r1, r2
	add	r2, r2, #2
	ldrh	r2, [r2]
	add	r2, r2, #1
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	ldr	r1, [fp, #-52]
	add	r3, r3, #16640
	add	r3, r3, #232
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	bls	.L742
	ldr	r3, [fp, #-48]
	sub	r3, r3, #3
	ldr	r2, .L744+44
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-52]
	add	r3, r2, #16384
	add	r3, r3, #200
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r0, [fp, #-52]
	add	r3, r2, #16384
	add	r3, r3, #200
	lsl	r3, r3, #1
	add	r3, r0, r3
	add	r3, r3, #2
	strh	r1, [r3]	@ movhi
.L742:
	nop
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #80]
	sub	r3, r3, #1
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-216]
	mov	r2, #0
	str	r2, [r3, #80]
	b	.L701
.L691:
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	bne	.L708
	ldr	r3, [fp, #-148]
	cmp	r3, #33024
	movcc	r3, r3
	movcs	r3, #33024
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldrb	r2, [r3, #144]	@ zero_extendqisi2
	ldr	r3, [fp, #-216]
	str	r3, [fp, #-32]
	mov	r3, r2
	strb	r3, [fp, #-205]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #60]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #40]
	add	r1, r3, #1
	ldr	r2, [fp, #-32]
	str	r1, [r2, #40]
	ldrb	r2, [fp, #-205]
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #44]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #44]
	lsr	r2, r2, #1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L709
	ldr	r3, [fp, #-32]
	mov	r2, #8
	str	r2, [r3, #56]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #40]
	add	r1, r3, #1
	ldr	r2, [fp, #-32]
	str	r1, [r2, #40]
	ldr	r2, [fp, #-32]
	str	r3, [r2, #44]
.L709:
	ldrb	r2, [fp, #-205]	@ zero_extendqisi2
	ldr	r1, [fp, #-32]
	add	r3, r2, #16384
	add	r3, r3, #200
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r0, [fp, #-32]
	add	r3, r2, #16384
	add	r3, r3, #200
	lsl	r3, r3, #1
	add	r3, r0, r3
	add	r3, r3, #2
	strh	r1, [r3]	@ movhi
	b	.L701
.L708:
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L710
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	and	r3, r3, #65536
	cmp	r3, #0
	bne	.L710
	ldr	r3, [fp, #-200]
	cmp	r3, #127
	bls	.L711
.L710:
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-204]
	ldr	r1, [fp, #-216]
	str	r1, [fp, #-28]
	str	r2, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	bls	.L712
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L712
	ldr	r3, [fp, #-20]
	cmp	r3, #32768
	bls	.L729
.L712:
	ldr	r3, .L744+24
	ldr	r2, .L744+28
	ldr	r1, .L744+52
	ldr	r0, .L744+32
	bl	__assert_fail
.L729:
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-24]
	and	r2, r3, #255
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #40]
	sub	r2, r2, #3
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #40]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #40]
	add	r3, r3, #2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #40]
	add	r2, r3, #3
	ldr	r3, [fp, #-28]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	ldr	r2, [fp, #-28]
	ldr	r2, [r2, #44]
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #56]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L714
	ldr	r3, [fp, #-28]
	mov	r2, #8
	str	r2, [r3, #56]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #40]
	add	r1, r3, #1
	ldr	r2, [fp, #-28]
	str	r1, [r2, #40]
	ldr	r2, [fp, #-28]
	str	r3, [r2, #44]
.L714:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	ldr	r2, .L744+36
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #8
	and	r3, r3, #127
	ldr	r2, .L744+40
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r3, #512
	bcs	.L715
	ldr	r3, [fp, #-16]
	b	.L716
.L715:
	ldr	r3, [fp, #-12]
.L716:
	ldr	r1, [fp, #-28]
	add	r2, r3, #16640
	add	r2, r2, #232
	lsl	r2, r2, #1
	add	r2, r1, r2
	add	r2, r2, #2
	ldrh	r2, [r2]
	add	r2, r2, #1
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	ldr	r1, [fp, #-28]
	add	r3, r3, #16640
	add	r3, r3, #232
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	bls	.L743
	ldr	r3, [fp, #-24]
	sub	r3, r3, #3
	ldr	r2, .L744+44
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-28]
	add	r3, r2, #16384
	add	r3, r3, #200
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r0, [fp, #-28]
	add	r3, r2, #16384
	add	r3, r3, #200
	lsl	r3, r3, #1
	add	r3, r0, r3
	add	r3, r3, #2
	strh	r1, [r3]	@ movhi
.L743:
	nop
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-188]
	b	.L701
.L711:
	ldr	r3, [fp, #-148]
	cmp	r3, #33024
	movcc	r3, r3
	movcs	r3, #33024
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldrb	r3, [r3, #144]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-216]
	str	r2, [r3, #84]
	ldr	r2, [fp, #-204]
	ldr	r3, [fp, #-216]
	str	r2, [r3, #76]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-216]
	str	r2, [r3, #80]
.L701:
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-188]
	add	r2, r2, r3
	ldr	r3, [fp, #-216]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-188]
	cmp	r2, r3
	bls	.L718
	ldr	r3, .L744+48
	mov	r2, #2640
	ldr	r1, .L744+52
	ldr	r0, .L744+56
	bl	__assert_fail
.L718:
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-188]
	sub	r2, r2, r3
	ldr	r3, [fp, #-216]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-188]
	add	r3, r2, r3
	cmp	r3, #32768
	movcc	r2, r3
	movcs	r2, #32768
	ldr	r3, [fp, #-216]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #40]
	ldr	r1, [fp, #-216]
	ldr	r3, .L744+60
	add	r3, r1, r3
	cmp	r2, r3
	bhi	.L719
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #60]
	cmp	r3, #31744
	bls	.L647
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-216]
	add	r3, r3, #37376
	add	r3, r3, #114
	sub	r3, r2, r3
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsr	r2, r3, #7
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	bcs	.L719
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	and	r3, r3, #524288
	cmp	r3, #0
	beq	.L647
.L719:
	ldr	r3, [fp, #-216]
	ldr	r2, [fp, #-196]
	str	r2, [r3, #132]
	ldr	r3, [fp, #-216]
	ldr	r2, [fp, #-192]
	str	r2, [r3, #136]
	mov	r1, #0
	ldr	r0, [fp, #-216]
	bl	tdefl_flush_block
	str	r0, [fp, #-144]
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	beq	.L647
	ldr	r3, [fp, #-144]
	mvn	r3, r3
	lsr	r3, r3, #31
	and	r3, r3, #255
	b	.L721
.L647:
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	bne	.L722
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L657
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L722
	b	.L657
.L730:
	nop
.L657:
	ldr	r3, [fp, #-216]
	ldr	r2, [fp, #-196]
	str	r2, [r3, #132]
	ldr	r3, [fp, #-216]
	ldr	r2, [fp, #-192]
	str	r2, [r3, #136]
	mov	r3, #1
.L721:
	ldr	r2, .L744+64
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L723
	bl	__stack_chk_fail
.L723:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tdefl_compress_normal, .-tdefl_compress_normal
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_flush_output_buffer, %function
tdefl_flush_output_buffer:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #120]
	cmp	r3, #0
	beq	.L747
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #132]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #112]
	sub	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #120]
	str	r2, [r3]
.L747:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #124]
	cmp	r3, #0
	beq	.L748
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #92]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #124]
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #140]
	sub	r3, r1, r3
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #116]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #140]
	add	r0, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, .L752
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #88]
	add	r3, r3, r2
	ldr	r2, [fp, #-8]
	mov	r1, r3
	bl	memcpy
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #88]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #88]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #92]
	ldr	r3, [fp, #-8]
	sub	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #92]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #140]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #140]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #124]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #140]
	str	r2, [r3]
.L748:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #96]
	cmp	r3, #0
	beq	.L749
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #92]
	cmp	r3, #0
	bne	.L749
	mov	r3, #1
	b	.L751
.L749:
	mov	r3, #0
.L751:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L753:
	.align	2
.L752:
	.word	234098
	.size	tdefl_flush_output_buffer, .-tdefl_flush_output_buffer
	.align	2
	.global	tdefl_compress
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_compress, %function
tdefl_compress:
	@ args = 8, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L755
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L756
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3]
.L756:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L757
	ldr	r3, [fp, #4]
	mov	r2, #0
	str	r2, [r3]
.L757:
	mvn	r3, #1
	b	.L758
.L755:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #112]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #120]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #116]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #4]
	str	r2, [r3, #124]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #132]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L759
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	b	.L760
.L759:
	mov	r3, #0
.L760:
	ldr	r2, [fp, #-8]
	str	r3, [r2, #136]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #140]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #8]
	str	r2, [r3, #128]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r2, r3, #255
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L761
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L762
.L761:
	mov	r3, #1
	b	.L763
.L762:
	mov	r3, #0
.L763:
	and	r3, r3, #1
	and	r3, r3, #255
	eor	r3, r3, r2
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L764
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	cmp	r3, #0
	bne	.L764
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #104]
	cmp	r3, #0
	beq	.L765
	ldr	r3, [fp, #8]
	cmp	r3, #4
	bne	.L764
.L765:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L766
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L766
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L764
.L766:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L767
	ldr	r3, [fp, #4]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L767
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L767
.L764:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L768
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3]
.L768:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L769
	ldr	r3, [fp, #4]
	mov	r2, #0
	str	r2, [r3]
.L769:
	ldr	r3, [fp, #-8]
	mvn	r2, #1
	str	r2, [r3, #108]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	b	.L758
.L767:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #104]
	ldr	r2, [fp, #8]
	cmp	r2, #4
	moveq	r2, #1
	movne	r2, #0
	and	r2, r2, #255
	orr	r2, r3, r2
	ldr	r3, [fp, #-8]
	str	r2, [r3, #104]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #92]
	cmp	r3, #0
	bne	.L770
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #96]
	cmp	r3, #0
	beq	.L771
.L770:
	ldr	r0, [fp, #-8]
	bl	tdefl_flush_output_buffer
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #108]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	b	.L758
.L771:
	ldr	r0, [fp, #-8]
	bl	tdefl_compress_normal
	mov	r3, r0
	cmp	r3, #0
	bne	.L772
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	b	.L758
.L772:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	and	r3, r3, #12288
	cmp	r3, #0
	beq	.L773
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L773
	ldr	r3, [fp, #-8]
	ldr	r0, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #132]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-12]
	bl	mz_adler32
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #24]
.L773:
	ldr	r3, [fp, #8]
	cmp	r3, #0
	beq	.L774
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L774
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #136]
	cmp	r3, #0
	bne	.L774
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #92]
	cmp	r3, #0
	bne	.L774
	ldr	r3, [fp, #8]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	tdefl_flush_block
	mov	r3, r0
	cmp	r3, #0
	bge	.L775
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	b	.L758
.L775:
	ldr	r3, [fp, #8]
	cmp	r3, #4
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #96]
	ldr	r3, [fp, #8]
	cmp	r3, #3
	bne	.L774
	ldr	r2, [fp, #-8]
	ldr	r3, .L776
	add	r3, r2, r3
	mov	r2, #65536
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r2, [fp, #-8]
	ldr	r3, .L776+4
	add	r3, r2, r3
	mov	r2, #65536
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
.L774:
	ldr	r0, [fp, #-8]
	bl	tdefl_flush_output_buffer
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #108]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
.L758:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L777:
	.align	2
.L776:
	.word	168562
	.word	103026
	.size	tdefl_compress, .-tdefl_compress
	.section	.rodata
	.align	2
.LC23:
	.ascii	"d->m_pPut_buf_func\000"
	.text
	.align	2
	.global	tdefl_compress_buffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_compress_buffer, %function
tdefl_compress_buffer:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L779
	ldr	r3, .L781
	ldr	r2, .L781+4
	ldr	r1, .L781+8
	ldr	r0, .L781+12
	bl	__assert_fail
.L779:
	sub	r2, fp, #16
	ldr	r3, [fp, #-20]
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	tdefl_compress
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L782:
	.align	2
.L781:
	.word	__PRETTY_FUNCTION__.6097
	.word	2737
	.word	.LC3
	.word	.LC23
	.size	tdefl_compress_buffer, .-tdefl_compress_buffer
	.align	2
	.global	tdefl_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_init, %function
tdefl_init:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	add	r3, r3, #2
	ldr	r2, .L786
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	and	r3, r3, #16384
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	asr	r3, r3, #2
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	add	r3, r3, #2
	ldr	r2, .L786
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	and	r3, r3, #32768
	cmp	r3, #0
	bne	.L784
	ldr	r2, [fp, #-8]
	ldr	r3, .L786+4
	add	r3, r2, r3
	mov	r2, #65536
	mov	r1, #0
	mov	r0, r3
	bl	memset
.L784:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #68]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #64]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #104]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #104]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #100]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #100]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #96]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #96]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #92]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #92]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #88]
	ldr	r3, [fp, #-8]
	add	r3, r3, #37376
	add	r3, r3, #114
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	add	r3, r3, #37376
	add	r3, r3, #114
	ldr	r2, [fp, #-8]
	str	r3, [r2, #44]
	ldr	r3, [fp, #-8]
	mov	r2, #8
	str	r2, [r3, #56]
	ldr	r2, [fp, #-8]
	ldr	r3, .L786+8
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r3, [r2, #48]
	ldr	r2, [fp, #-8]
	ldr	r3, .L786+8
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r3, [r2, #52]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #108]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #84]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #84]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #80]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #76]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #112]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #116]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #120]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #124]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #128]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #132]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #136]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #140]
	ldr	r3, [fp, #-8]
	add	r3, r3, #33024
	add	r3, r3, #146
	mov	r2, #576
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-8]
	add	r3, r3, #33536
	add	r3, r3, #210
	mov	r2, #64
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L787:
	.align	2
.L786:
	.word	1431655766
	.word	168562
	.word	234098
	.size	tdefl_init, .-tdefl_init
	.align	2
	.global	tdefl_get_prev_return_status
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_get_prev_return_status, %function
tdefl_get_prev_return_status:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tdefl_get_prev_return_status, .-tdefl_get_prev_return_status
	.align	2
	.global	tdefl_get_adler32
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_get_adler32, %function
tdefl_get_adler32:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tdefl_get_adler32, .-tdefl_get_adler32
	.align	2
	.global	tdefl_compress_mem_to_output
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_compress_mem_to_output, %function
tdefl_compress_mem_to_output:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L793
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L794
.L793:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L795
.L794:
	mov	r3, #0
	b	.L796
.L795:
	ldr	r0, .L800
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L797
	mov	r3, #0
	b	.L796
.L797:
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-12]
	bl	tdefl_init
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L798
	mov	r3, #4
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	tdefl_compress_buffer
	mov	r3, r0
	cmp	r3, #1
	bne	.L798
	mov	r3, #1
	b	.L799
.L798:
	mov	r3, #0
.L799:
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r3, [fp, #-8]
.L796:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L801:
	.align	2
.L800:
	.word	319296
	.size	tdefl_compress_mem_to_output, .-tdefl_compress_mem_to_output
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_output_buffer_putter, %function
tdefl_output_buffer_putter:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bls	.L803
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L804
	mov	r3, #0
	b	.L805
.L804:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #1
	cmp	r3, #128
	movcs	r3, r3
	movcc	r3, #128
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bhi	.L804
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	realloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L806
	mov	r3, #0
	b	.L805
.L806:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
.L803:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	memcpy
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
.L805:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tdefl_output_buffer_putter, .-tdefl_output_buffer_putter
	.section	.rodata
	.align	2
.LC24:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tdefl_compress_mem_to_heap
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_compress_mem_to_heap, %function
tdefl_compress_mem_to_heap:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, .L813
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #24
	mov	r2, #16
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L808
	mov	r3, #0
	b	.L811
.L808:
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-12]
	sub	r2, fp, #24
	ldr	r3, [fp, #-44]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L813+4
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tdefl_compress_mem_to_output
	mov	r3, r0
	cmp	r3, #0
	bne	.L810
	mov	r3, #0
	b	.L811
.L810:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
.L811:
	ldr	r2, .L813
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L812
	bl	__stack_chk_fail
.L812:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L814:
	.align	2
.L813:
	.word	.LC24
	.word	tdefl_output_buffer_putter
	.size	tdefl_compress_mem_to_heap, .-tdefl_compress_mem_to_heap
	.section	.rodata
	.align	2
.LC25:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tdefl_compress_mem_to_mem
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_compress_mem_to_mem, %function
tdefl_compress_mem_to_mem:
	@ args = 4, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, .L821
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #24
	mov	r2, #16
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L816
	mov	r3, #0
	b	.L819
.L816:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-20]
	sub	r2, fp, #24
	ldr	r3, [fp, #4]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L821+4
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	tdefl_compress_mem_to_output
	mov	r3, r0
	cmp	r3, #0
	bne	.L818
	mov	r3, #0
	b	.L819
.L818:
	ldr	r3, [fp, #-24]
.L819:
	ldr	r2, .L821
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L820
	bl	__stack_chk_fail
.L820:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L822:
	.align	2
.L821:
	.word	.LC25
	.word	tdefl_output_buffer_putter
	.size	tdefl_compress_mem_to_mem, .-tdefl_compress_mem_to_mem
	.section	.rodata
	.align	2
.LC26:
	.ascii	"\000\000\000\000\000\000\000\000IEND\256B`\202\000"
	.align	2
.LC27:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	tdefl_write_image_to_png_file_in_memory_ex
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_write_image_to_png_file_in_memory_ex, %function
tdefl_write_image_to_png_file_in_memory_ex:
	@ args = 12, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	str	r2, [fp, #-104]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-112]
	ldr	r3, .L841
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L841+4
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #-108]
	mul	r3, r2, r3
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-112]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L824
	mov	r3, #0
	b	.L839
.L824:
	sub	r3, fp, #68
	mov	r2, #16
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	ldr	r2, [fp, #-104]
	mul	r3, r2, r3
	cmp	r3, #64
	movge	r3, r3
	movlt	r3, #64
	add	r3, r3, #57
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L826
	ldr	r0, [fp, #-76]
	bl	free
	mov	r3, #0
	b	.L839
.L826:
	mov	r3, #41
	str	r3, [fp, #-92]
	b	.L827
.L828:
	sub	r2, fp, #68
	sub	r3, fp, #92
	mov	r1, #1
	mov	r0, r3
	bl	tdefl_output_buffer_putter
	ldr	r3, [fp, #-92]
	sub	r3, r3, #1
	str	r3, [fp, #-92]
.L827:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L828
	ldr	r3, [fp, #8]
	cmp	r3, #10
	movcc	r3, r3
	movcs	r3, #10
	ldr	r2, .L841+8
	ldr	r3, [r2, r3, lsl #2]
	orr	r3, r3, #4096
	sub	r2, fp, #68
	ldr	r1, .L841+12
	ldr	r0, [fp, #-76]
	bl	tdefl_init
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L829
.L832:
	sub	r1, fp, #92
	mov	r3, #0
	mov	r2, #1
	ldr	r0, [fp, #-76]
	bl	tdefl_compress_buffer
	ldr	r3, [fp, #12]
	cmp	r3, #0
	beq	.L830
	ldr	r3, [fp, #-104]
	sub	r2, r3, #1
	ldr	r3, [fp, #-84]
	sub	r3, r2, r3
	b	.L831
.L830:
	ldr	r3, [fp, #-84]
.L831:
	ldr	r2, [fp, #-72]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-96]
	add	r1, r3, r2
	ldr	r2, [fp, #-72]
	mov	r3, #0
	ldr	r0, [fp, #-76]
	bl	tdefl_compress_buffer
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L829:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	blt	.L832
	mov	r3, #4
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-76]
	bl	tdefl_compress_buffer
	mov	r3, r0
	cmp	r3, #1
	beq	.L833
	ldr	r0, [fp, #-76]
	bl	free
	ldr	r3, [fp, #-60]
	mov	r0, r3
	bl	free
	mov	r3, #0
	b	.L839
.L833:
	ldr	r3, [fp, #-68]
	sub	r2, r3, #41
	ldr	r3, [fp, #-112]
	str	r2, [r3]
	mvn	r3, #118
	strb	r3, [fp, #-52]
	mov	r3, #80
	strb	r3, [fp, #-51]
	mov	r3, #78
	strb	r3, [fp, #-50]
	mov	r3, #71
	strb	r3, [fp, #-49]
	mov	r3, #13
	strb	r3, [fp, #-48]
	mov	r3, #10
	strb	r3, [fp, #-47]
	mov	r3, #26
	strb	r3, [fp, #-46]
	mov	r3, #10
	strb	r3, [fp, #-45]
	mov	r3, #0
	strb	r3, [fp, #-44]
	mov	r3, #0
	strb	r3, [fp, #-43]
	mov	r3, #0
	strb	r3, [fp, #-42]
	mov	r3, #13
	strb	r3, [fp, #-41]
	mov	r3, #73
	strb	r3, [fp, #-40]
	mov	r3, #72
	strb	r3, [fp, #-39]
	mov	r3, #68
	strb	r3, [fp, #-38]
	mov	r3, #82
	strb	r3, [fp, #-37]
	mov	r3, #0
	strb	r3, [fp, #-36]
	mov	r3, #0
	strb	r3, [fp, #-35]
	ldr	r3, [fp, #-100]
	asr	r3, r3, #8
	and	r3, r3, #255
	strb	r3, [fp, #-34]
	ldr	r3, [fp, #-100]
	and	r3, r3, #255
	strb	r3, [fp, #-33]
	mov	r3, #0
	strb	r3, [fp, #-32]
	mov	r3, #0
	strb	r3, [fp, #-31]
	ldr	r3, [fp, #-104]
	asr	r3, r3, #8
	and	r3, r3, #255
	strb	r3, [fp, #-30]
	ldr	r3, [fp, #-104]
	and	r3, r3, #255
	strb	r3, [fp, #-29]
	mov	r3, #8
	strb	r3, [fp, #-28]
	ldr	r2, .L841+16
	ldr	r3, [fp, #-108]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [fp, #-27]
	mov	r3, #0
	strb	r3, [fp, #-26]
	mov	r3, #0
	strb	r3, [fp, #-25]
	mov	r3, #0
	strb	r3, [fp, #-24]
	mov	r3, #0
	strb	r3, [fp, #-23]
	mov	r3, #0
	strb	r3, [fp, #-22]
	mov	r3, #0
	strb	r3, [fp, #-21]
	mov	r3, #0
	strb	r3, [fp, #-20]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	lsr	r3, r3, #24
	and	r3, r3, #255
	strb	r3, [fp, #-19]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	lsr	r3, r3, #16
	and	r3, r3, #255
	strb	r3, [fp, #-18]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	lsr	r3, r3, #8
	and	r3, r3, #255
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	and	r3, r3, #255
	strb	r3, [fp, #-16]
	mov	r3, #73
	strb	r3, [fp, #-15]
	mov	r3, #68
	strb	r3, [fp, #-14]
	mov	r3, #65
	strb	r3, [fp, #-13]
	mov	r3, #84
	strb	r3, [fp, #-12]
	sub	r3, fp, #52
	add	r3, r3, #12
	mov	r2, #17
	mov	r1, r3
	mov	r0, #0
	bl	mz_crc32
	str	r0, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L834
.L835:
	ldr	r3, [fp, #-80]
	lsr	r2, r3, #24
	ldr	r3, [fp, #-88]
	add	r3, r3, #29
	sub	r1, fp, #52
	add	r3, r1, r3
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #8
	str	r3, [fp, #-80]
.L834:
	ldr	r3, [fp, #-88]
	cmp	r3, #3
	ble	.L835
	ldr	r3, [fp, #-60]
	mov	r0, r3
	sub	r3, fp, #52
	mov	r2, #41
	mov	r1, r3
	bl	memcpy
	sub	r3, fp, #68
	mov	r2, r3
	mov	r1, #16
	ldr	r0, .L841+20
	bl	tdefl_output_buffer_putter
	mov	r3, r0
	cmp	r3, #0
	bne	.L836
	ldr	r3, [fp, #-112]
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, [fp, #-76]
	bl	free
	ldr	r3, [fp, #-60]
	mov	r0, r3
	bl	free
	mov	r3, #0
	b	.L839
.L836:
	ldr	r3, [fp, #-60]
	add	r1, r3, #37
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	add	r3, r3, #4
	mov	r2, r3
	mov	r0, #0
	bl	mz_crc32
	str	r0, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L837
.L838:
	ldr	r3, [fp, #-80]
	lsr	r2, r3, #24
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-68]
	ldr	r3, [fp, #-88]
	add	r3, r0, r3
	sub	r3, r3, #16
	add	r3, r1, r3
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #8
	str	r3, [fp, #-80]
.L837:
	ldr	r3, [fp, #-88]
	cmp	r3, #3
	ble	.L838
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	add	r2, r3, #57
	ldr	r3, [fp, #-112]
	str	r2, [r3]
	ldr	r0, [fp, #-76]
	bl	free
	ldr	r3, [fp, #-60]
.L839:
	ldr	r2, .L841
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L840
	bl	__stack_chk_fail
.L840:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L842:
	.align	2
.L841:
	.word	.LC27
	.word	319296
	.word	s_tdefl_png_num_probes.6160
	.word	tdefl_output_buffer_putter
	.word	chans.6174
	.word	.LC26
	.size	tdefl_write_image_to_png_file_in_memory_ex, .-tdefl_write_image_to_png_file_in_memory_ex
	.align	2
	.global	tdefl_write_image_to_png_file_in_memory
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_write_image_to_png_file_in_memory, %function
tdefl_write_image_to_png_file_in_memory:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #6
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	tdefl_write_image_to_png_file_in_memory_ex
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tdefl_write_image_to_png_file_in_memory, .-tdefl_write_image_to_png_file_in_memory
	.align	2
	.global	tdefl_compressor_alloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_compressor_alloc, %function
tdefl_compressor_alloc:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L847
	bl	malloc
	mov	r3, r0
	mov	r0, r3
	pop	{fp, pc}
.L848:
	.align	2
.L847:
	.word	319296
	.size	tdefl_compressor_alloc, .-tdefl_compressor_alloc
	.align	2
	.global	tdefl_compressor_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_compressor_free, %function
tdefl_compressor_free:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tdefl_compressor_free, .-tdefl_compressor_free
	.align	2
	.global	tinfl_decompressor_alloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	tinfl_decompressor_alloc, %function
tinfl_decompressor_alloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r0, .L853
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L851
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
.L851:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L854:
	.align	2
.L853:
	.word	10992
	.size	tinfl_decompressor_alloc, .-tinfl_decompressor_alloc
	.align	2
	.global	tinfl_decompressor_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	tinfl_decompressor_free, %function
tinfl_decompressor_free:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tinfl_decompressor_free, .-tinfl_decompressor_free
	.section	.rodata
	.align	2
	.type	s_crc32.5248, %object
	.size	s_crc32.5248, 64
s_crc32.5248:
	.word	0
	.word	498536548
	.word	997073096
	.word	651767980
	.word	1994146192
	.word	1802195444
	.word	1303535960
	.word	1342533948
	.word	-306674912
	.word	-267414716
	.word	-690576408
	.word	-882789492
	.word	-1687895376
	.word	-2032938284
	.word	-1609899400
	.word	-1111625188
	.align	2
	.type	s_min_table_sizes.5271, %object
	.size	s_min_table_sizes.5271, 12
s_min_table_sizes.5271:
	.word	257
	.word	1
	.word	4
	.align	2
	.type	s_length_dezigzag.5270, %object
	.size	s_length_dezigzag.5270, 19
s_length_dezigzag.5270:
	.ascii	"\020\021\022\000\010\007\011\006\012\005\013\004\014"
	.ascii	"\003\015\002\016\001\017"
	.align	2
	.type	s_length_extra.5267, %object
	.size	s_length_extra.5267, 124
s_length_extra.5267:
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	1
	.word	1
	.word	1
	.word	1
	.word	2
	.word	2
	.word	2
	.word	2
	.word	3
	.word	3
	.word	3
	.word	3
	.word	4
	.word	4
	.word	4
	.word	4
	.word	5
	.word	5
	.word	5
	.word	5
	.word	0
	.word	0
	.word	0
	.align	2
	.type	s_length_base.5266, %object
	.size	s_length_base.5266, 124
s_length_base.5266:
	.word	3
	.word	4
	.word	5
	.word	6
	.word	7
	.word	8
	.word	9
	.word	10
	.word	11
	.word	13
	.word	15
	.word	17
	.word	19
	.word	23
	.word	27
	.word	31
	.word	35
	.word	43
	.word	51
	.word	59
	.word	67
	.word	83
	.word	99
	.word	115
	.word	131
	.word	163
	.word	195
	.word	227
	.word	258
	.word	0
	.word	0
	.align	2
	.type	s_dist_extra.5269, %object
	.size	s_dist_extra.5269, 128
s_dist_extra.5269:
	.word	0
	.word	0
	.word	0
	.word	0
	.word	1
	.word	1
	.word	2
	.word	2
	.word	3
	.word	3
	.word	4
	.word	4
	.word	5
	.word	5
	.word	6
	.word	6
	.word	7
	.word	7
	.word	8
	.word	8
	.word	9
	.word	9
	.word	10
	.word	10
	.word	11
	.word	11
	.word	12
	.word	12
	.word	13
	.word	13
	.space	8
	.align	2
	.type	s_dist_base.5268, %object
	.size	s_dist_base.5268, 128
s_dist_base.5268:
	.word	1
	.word	2
	.word	3
	.word	4
	.word	5
	.word	7
	.word	9
	.word	13
	.word	17
	.word	25
	.word	33
	.word	49
	.word	65
	.word	97
	.word	129
	.word	193
	.word	257
	.word	385
	.word	513
	.word	769
	.word	1025
	.word	1537
	.word	2049
	.word	3073
	.word	4097
	.word	6145
	.word	8193
	.word	12289
	.word	16385
	.word	24577
	.word	0
	.word	0
	.align	2
	.type	__PRETTY_FUNCTION__.5537, %object
	.size	__PRETTY_FUNCTION__.5537, 17
__PRETTY_FUNCTION__.5537:
	.ascii	"tinfl_decompress\000"
	.align	2
	.type	__PRETTY_FUNCTION__.5798, %object
	.size	__PRETTY_FUNCTION__.5798, 26
__PRETTY_FUNCTION__.5798:
	.ascii	"tdefl_start_dynamic_block\000"
	.align	2
	.type	__PRETTY_FUNCTION__.5861, %object
	.size	__PRETTY_FUNCTION__.5861, 25
__PRETTY_FUNCTION__.5861:
	.ascii	"tdefl_start_static_block\000"
	.align	2
	.type	__PRETTY_FUNCTION__.5875, %object
	.size	__PRETTY_FUNCTION__.5875, 24
__PRETTY_FUNCTION__.5875:
	.ascii	"tdefl_compress_lz_codes\000"
	.align	2
	.type	__PRETTY_FUNCTION__.5925, %object
	.size	__PRETTY_FUNCTION__.5925, 18
__PRETTY_FUNCTION__.5925:
	.ascii	"tdefl_flush_block\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6075, %object
	.size	__PRETTY_FUNCTION__.6075, 22
__PRETTY_FUNCTION__.6075:
	.ascii	"tdefl_compress_normal\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6024, %object
	.size	__PRETTY_FUNCTION__.6024, 17
__PRETTY_FUNCTION__.6024:
	.ascii	"tdefl_find_match\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6043, %object
	.size	__PRETTY_FUNCTION__.6043, 19
__PRETTY_FUNCTION__.6043:
	.ascii	"tdefl_record_match\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6097, %object
	.size	__PRETTY_FUNCTION__.6097, 22
__PRETTY_FUNCTION__.6097:
	.ascii	"tdefl_compress_buffer\000"
	.align	2
	.type	s_tdefl_png_num_probes.6160, %object
	.size	s_tdefl_png_num_probes.6160, 44
s_tdefl_png_num_probes.6160:
	.word	0
	.word	1
	.word	6
	.word	32
	.word	16
	.word	32
	.word	128
	.word	256
	.word	512
	.word	768
	.word	1500
	.align	2
	.type	chans.6174, %object
	.size	chans.6174, 5
chans.6174:
	.ascii	"\000\000\004\002\006"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
