	.file	"821599.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.22[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.22[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
	.type	def_alloc_func, @function
def_alloc_func:
.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, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	imul	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	malloc@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	def_alloc_func, .-def_alloc_func
	.type	def_free_func, @function
def_free_func:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	def_free_func, .-def_free_func
	.type	def_realloc_func, @function
def_realloc_func:
.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, 32
	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	rax, QWORD PTR -24[rbp]
	imul	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	def_realloc_func, .-def_realloc_func
	.section	.rodata
.LC0:
	.string	"9.1.15"
	.text
	.globl	mz_version
	.type	mz_version, @function
mz_version:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rax, .LC0[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	mz_version, .-mz_version
	.globl	mz_deflateInit
	.type	mz_deflateInit, @function
mz_deflateInit:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, 0
	mov	r8d, 9
	mov	ecx, 15
	mov	edx, 8
	mov	rdi, rax
	call	mz_deflateInit2
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	mz_deflateInit, .-mz_deflateInit
	.globl	mz_deflateInit2
	.type	mz_deflateInit2, @function
mz_deflateInit2:
.LFB14:
	.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 -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	DWORD PTR -40[rbp], r8d
	mov	DWORD PTR -44[rbp], r9d
	mov	edx, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	tdefl_create_comp_flags_from_zip_params
	or	ah, 32
	mov	DWORD PTR -12[rbp], eax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L26
	mov	eax, -2
	jmp	.L27
.L26:
	cmp	DWORD PTR -32[rbp], 8
	jne	.L28
	cmp	DWORD PTR -40[rbp], 0
	jle	.L28
	cmp	DWORD PTR -40[rbp], 9
	jg	.L28
	cmp	DWORD PTR -36[rbp], 15
	je	.L29
	cmp	DWORD PTR -36[rbp], -15
	je	.L29
.L28:
	mov	eax, -10000
	jmp	.L27
.L29:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 88[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 96[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 104[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	jne	.L30
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, def_alloc_func[rip]
	mov	QWORD PTR 64[rax], rdx
.L30:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	jne	.L31
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, def_free_func[rip]
	mov	QWORD PTR 72[rax], rdx
.L31:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	edx, 319352
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L32
	mov	eax, -4
	jmp	.L27
.L32:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	tdefl_init
	test	eax, eax
	je	.L33
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	mz_deflateEnd
	mov	eax, -10000
	jmp	.L27
.L33:
	mov	eax, 0
.L27:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	mz_deflateInit2, .-mz_deflateInit2
	.globl	mz_deflateReset
	.type	mz_deflateReset, @function
mz_deflateReset:
.LFB15:
	.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
	cmp	QWORD PTR -8[rbp], 0
	je	.L35
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L35
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L35
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	jne	.L36
.L35:
	mov	eax, -2
	jmp	.L37
.L36:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	eax, DWORD PTR 16[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	ecx, edx
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	tdefl_init
	mov	eax, 0
.L37:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	mz_deflateReset, .-mz_deflateReset
	.globl	mz_deflate
	.type	mz_deflate, @function
mz_deflate:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -48[rbp], 0
	cmp	QWORD PTR -56[rbp], 0
	je	.L39
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L39
	cmp	DWORD PTR -60[rbp], 0
	js	.L39
	cmp	DWORD PTR -60[rbp], 4
	jg	.L39
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L40
.L39:
	mov	eax, -2
	jmp	.L53
.L40:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L42
	mov	eax, -5
	jmp	.L53
.L42:
	cmp	DWORD PTR -60[rbp], 1
	jne	.L43
	mov	DWORD PTR -60[rbp], 2
.L43:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	eax, DWORD PTR 132[rax]
	cmp	eax, 1
	jne	.L44
	cmp	DWORD PTR -60[rbp], 4
	jne	.L45
	mov	eax, 1
	jmp	.L53
.L45:
	mov	eax, -5
	jmp	.L53
.L44:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -16[rbp], rax
.L52:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	eax, eax
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	eax, eax
	mov	QWORD PTR -32[rbp], rax
	mov	r8d, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rdi, -32[rbp]
	lea	rdx, -40[rbp]
	mov	r9d, r8d
	mov	r8, rdi
	mov	rdi, rax
	call	tdefl_compress
	mov	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	tdefl_get_adler32
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 96[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 40[rax], rdx
	cmp	DWORD PTR -44[rbp], 0
	jns	.L47
	mov	DWORD PTR -48[rbp], -2
	jmp	.L48
.L47:
	cmp	DWORD PTR -44[rbp], 1
	jne	.L49
	mov	DWORD PTR -48[rbp], 1
	jmp	.L48
.L49:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L55
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L52
	cmp	DWORD PTR -60[rbp], 4
	je	.L52
	cmp	DWORD PTR -60[rbp], 0
	jne	.L48
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -24[rbp], rax
	jne	.L48
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L48
	mov	eax, -5
	jmp	.L53
.L55:
	nop
.L48:
	mov	eax, DWORD PTR -48[rbp]
.L53:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L54
	call	__stack_chk_fail@PLT
.L54:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	mz_deflate, .-mz_deflate
	.globl	mz_deflateEnd
	.type	mz_deflateEnd, @function
mz_deflateEnd:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	jne	.L57
	mov	eax, -2
	jmp	.L58
.L57:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L59
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], 0
.L59:
	mov	eax, 0
.L58:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	mz_deflateEnd, .-mz_deflateEnd
	.globl	mz_deflateBound
	.type	mz_deflateBound, @function
mz_deflateBound:
.LFB18:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 10
	movabs	rdx, 595056260442243633
	mul	rdx
	mov	rax, rdx
	lea	rdx, 1[rax]
	mov	rax, rdx
	sal	rax, 2
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	lea	rcx, 128[rax]
	mov	rax, QWORD PTR -16[rbp]
	imul	rax, rax, 110
	shr	rax, 2
	movabs	rdx, 2951479051793528259
	mul	rdx
	mov	rax, rdx
	shr	rax, 2
	sub	rax, -128
	cmp	rcx, rax
	cmovnb	rax, rcx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	mz_deflateBound, .-mz_deflateBound
	.globl	mz_compress2
	.type	mz_compress2, @function
mz_compress2:
.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, 192
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	QWORD PTR -168[rbp], rdx
	mov	QWORD PTR -176[rbp], rcx
	mov	DWORD PTR -180[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -128[rbp]
	mov	edx, 112
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR [rax]
	or	rax, QWORD PTR -176[rbp]
	mov	edx, 4294967295
	cmp	rax, rdx
	jbe	.L63
	mov	eax, -10000
	jmp	.L69
.L63:
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR -96[rbp], eax
	mov	edx, DWORD PTR -180[rbp]
	lea	rax, -128[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	mz_deflateInit
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -132[rbp], 0
	je	.L65
	mov	eax, DWORD PTR -132[rbp]
	jmp	.L69
.L65:
	lea	rax, -128[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	mz_deflate
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -132[rbp], 1
	je	.L66
	lea	rax, -128[rbp]
	mov	rdi, rax
	call	mz_deflateEnd
	cmp	DWORD PTR -132[rbp], 0
	je	.L67
	mov	eax, DWORD PTR -132[rbp]
	jmp	.L69
.L67:
	mov	eax, -5
	jmp	.L69
.L66:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR [rax], rdx
	lea	rax, -128[rbp]
	mov	rdi, rax
	call	mz_deflateEnd
.L69:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L70
	call	__stack_chk_fail@PLT
.L70:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	mz_compress2, .-mz_compress2
	.globl	mz_compress
	.type	mz_compress, @function
mz_compress:
.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, 32
	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	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, -1
	mov	rdi, rax
	call	mz_compress2
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	mz_compress, .-mz_compress
	.globl	mz_compressBound
	.type	mz_compressBound, @function
mz_compressBound:
.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, 8
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	mz_deflateBound
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	mz_compressBound, .-mz_compressBound
	.globl	mz_inflateInit2
	.type	mz_inflateInit2, @function
mz_inflateInit2:
.LFB22:
	.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	DWORD PTR -28[rbp], esi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L76
	mov	eax, -2
	jmp	.L77
.L76:
	cmp	DWORD PTR -28[rbp], 15
	je	.L78
	cmp	DWORD PTR -28[rbp], -15
	je	.L78
	mov	eax, -10000
	jmp	.L77
.L78:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 88[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 96[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 104[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	jne	.L79
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, def_alloc_func[rip]
	mov	QWORD PTR 64[rax], rdx
.L79:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	jne	.L80
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, def_free_func[rip]
	mov	QWORD PTR 72[rax], rdx
.L80:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	edx, 43792
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L81
	mov	eax, -4
	jmp	.L77
.L81:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 11000[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 11004[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 43788[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 11008[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 11012[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 11016[rax], edx
	mov	eax, 0
.L77:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	mz_inflateInit2, .-mz_inflateInit2
	.globl	mz_inflateInit
	.type	mz_inflateInit, @function
mz_inflateInit:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 15
	mov	rdi, rax
	call	mz_inflateInit2
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	mz_inflateInit, .-mz_inflateInit
	.globl	mz_inflate
	.type	mz_inflate, @function
mz_inflate:
.LFB24:
	.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 -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -56[rbp], 8
	cmp	QWORD PTR -72[rbp], 0
	je	.L85
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	jne	.L86
.L85:
	mov	eax, -2
	jmp	.L110
.L86:
	cmp	DWORD PTR -76[rbp], 1
	jne	.L88
	mov	DWORD PTR -76[rbp], 2
.L88:
	cmp	DWORD PTR -76[rbp], 0
	je	.L89
	cmp	DWORD PTR -76[rbp], 2
	je	.L89
	cmp	DWORD PTR -76[rbp], 4
	je	.L89
	mov	eax, -2
	jmp	.L110
.L89:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11016[rax]
	test	eax, eax
	jle	.L90
	or	DWORD PTR -56[rbp], 1
.L90:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	eax, eax
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11008[rax]
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 11008[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 43788[rax]
	test	eax, eax
	jns	.L91
	mov	eax, -3
	jmp	.L110
.L91:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11012[rax]
	test	eax, eax
	je	.L92
	cmp	DWORD PTR -76[rbp], 4
	je	.L92
	mov	eax, -2
	jmp	.L110
.L92:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 11012[rax]
	cmp	DWORD PTR -76[rbp], 4
	sete	al
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 11012[rax], edx
	cmp	DWORD PTR -76[rbp], 4
	jne	.L93
	cmp	DWORD PTR -52[rbp], 0
	je	.L93
	or	DWORD PTR -56[rbp], 4
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	eax, eax
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	eax, eax
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	r8, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	r9, -32[rbp]
	lea	rdx, -40[rbp]
	sub	rsp, 8
	mov	edi, DWORD PTR -56[rbp]
	push	rdi
	mov	rdi, rax
	call	tinfl_decompress
	add	rsp, 16
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -48[rbp]
	mov	DWORD PTR 43788[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 96[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rax], rdx
	cmp	DWORD PTR -48[rbp], 0
	jns	.L94
	mov	eax, -3
	jmp	.L110
.L94:
	cmp	DWORD PTR -48[rbp], 0
	je	.L95
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 43788[rax], -1
	mov	eax, -5
	jmp	.L110
.L95:
	mov	eax, 1
	jmp	.L110
.L93:
	cmp	DWORD PTR -76[rbp], 4
	je	.L96
	or	DWORD PTR -56[rbp], 2
.L96:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11004[rax]
	test	eax, eax
	je	.L97
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11004[rax]
	cmp	edx, eax
	cmovbe	eax, edx
	mov	DWORD PTR -44[rbp], eax
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 11020[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11000[rax]
	mov	eax, eax
	add	rcx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 32[rax]
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11004[rax]
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 11004[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 11000[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	and	eax, 32767
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 11000[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 43788[rax]
	test	eax, eax
	jne	.L98
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11004[rax]
	test	eax, eax
	jne	.L98
	mov	eax, 1
	jmp	.L110
.L98:
	mov	eax, 0
	jmp	.L110
.L97:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	eax, eax
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11000[rax]
	mov	edx, 32768
	sub	edx, eax
	mov	eax, edx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 11020[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11000[rax]
	mov	eax, eax
	lea	r10, [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 11020[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	r8, -32[rbp]
	lea	rdx, -40[rbp]
	sub	rsp, 8
	mov	edi, DWORD PTR -56[rbp]
	push	rdi
	mov	r9, r8
	mov	r8, r10
	mov	rdi, rax
	call	tinfl_decompress
	add	rsp, 16
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -48[rbp]
	mov	DWORD PTR 43788[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 96[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 11004[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11004[rax]
	cmp	edx, eax
	cmovbe	eax, edx
	mov	DWORD PTR -44[rbp], eax
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 11020[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11000[rax]
	mov	eax, eax
	add	rcx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 32[rax]
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11004[rax]
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 11004[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 11000[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	and	eax, 32767
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 11000[rax], edx
	cmp	DWORD PTR -48[rbp], 0
	jns	.L100
	mov	eax, -3
	jmp	.L110
.L100:
	cmp	DWORD PTR -48[rbp], 1
	jne	.L101
	cmp	QWORD PTR -16[rbp], 0
	jne	.L101
	mov	eax, -5
	jmp	.L110
.L101:
	cmp	DWORD PTR -76[rbp], 4
	jne	.L102
	cmp	DWORD PTR -48[rbp], 0
	jne	.L103
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11004[rax]
	test	eax, eax
	je	.L104
	mov	eax, -5
	jmp	.L110
.L104:
	mov	eax, 1
	jmp	.L110
.L103:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L97
	mov	eax, -5
	jmp	.L110
.L102:
	cmp	DWORD PTR -48[rbp], 0
	je	.L107
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L107
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L107
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11004[rax]
	test	eax, eax
	jne	.L107
	jmp	.L97
.L107:
	cmp	DWORD PTR -48[rbp], 0
	jne	.L108
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 11004[rax]
	test	eax, eax
	jne	.L108
	mov	eax, 1
	jmp	.L110
.L108:
	mov	eax, 0
.L110:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L111
	call	__stack_chk_fail@PLT
.L111:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	mz_inflate, .-mz_inflate
	.globl	mz_inflateEnd
	.type	mz_inflateEnd, @function
mz_inflateEnd:
.LFB25:
	.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
	cmp	QWORD PTR -8[rbp], 0
	jne	.L113
	mov	eax, -2
	jmp	.L114
.L113:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L115
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], 0
.L115:
	mov	eax, 0
.L114:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	mz_inflateEnd, .-mz_inflateEnd
	.globl	mz_uncompress
	.type	mz_uncompress, @function
mz_uncompress:
.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, 176
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	QWORD PTR -168[rbp], rdx
	mov	QWORD PTR -176[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -128[rbp]
	mov	edx, 112
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR [rax]
	or	rax, QWORD PTR -176[rbp]
	mov	edx, 4294967295
	cmp	rax, rdx
	jbe	.L117
	mov	eax, -10000
	jmp	.L124
.L117:
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR -96[rbp], eax
	lea	rax, -128[rbp]
	mov	rdi, rax
	call	mz_inflateInit
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -132[rbp], 0
	je	.L119
	mov	eax, DWORD PTR -132[rbp]
	jmp	.L124
.L119:
	lea	rax, -128[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	mz_inflate
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -132[rbp], 1
	je	.L120
	lea	rax, -128[rbp]
	mov	rdi, rax
	call	mz_inflateEnd
	cmp	DWORD PTR -132[rbp], -5
	jne	.L121
	mov	eax, DWORD PTR -120[rbp]
	test	eax, eax
	je	.L122
.L121:
	mov	eax, DWORD PTR -132[rbp]
	jmp	.L124
.L122:
	mov	eax, -3
	jmp	.L124
.L120:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR [rax], rdx
	lea	rax, -128[rbp]
	mov	rdi, rax
	call	mz_inflateEnd
.L124:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L125
	call	__stack_chk_fail@PLT
.L125:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	mz_uncompress, .-mz_uncompress
	.globl	mz_error
	.type	mz_error, @function
mz_error:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L127
.L130:
	mov	eax, DWORD PTR -4[rbp]
	sal	rax, 4
	mov	rdx, rax
	lea	rax, s_error_descs.21[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L128
	mov	eax, DWORD PTR -4[rbp]
	sal	rax, 4
	mov	rdx, rax
	lea	rax, s_error_descs.21[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	jmp	.L129
.L128:
	add	DWORD PTR -4[rbp], 1
.L127:
	cmp	DWORD PTR -4[rbp], 9
	jbe	.L130
	mov	eax, 0
.L129:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	mz_error, .-mz_error
	.section	.rodata
.LC1:
	.string	"\005\005\004"
.LC2:
	.string	"\002\003\007"
.LC3:
	.string	"\003\003\013"
	.text
	.globl	tinfl_decompress
	.type	tinfl_decompress, @function
tinfl_decompress:
.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, 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	.L132
	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	.L133
.L132:
	mov	rax, -1
.L133:
	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	.L134
	mov	rax, QWORD PTR -504[rbp]
	cmp	rax, QWORD PTR -496[rbp]
	jnb	.L135
.L134:
	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	.L136
.L135:
	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	.L137
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L139[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L139[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L139:
	.long	.L171-.L139
	.long	.L170-.L139
	.long	.L169-.L139
	.long	.L168-.L139
	.long	.L137-.L139
	.long	.L167-.L139
	.long	.L166-.L139
	.long	.L165-.L139
	.long	.L137-.L139
	.long	.L164-.L139
	.long	.L249-.L139
	.long	.L162-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L161-.L139
	.long	.L137-.L139
	.long	.L160-.L139
	.long	.L323-.L139
	.long	.L158-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L336-.L139
	.long	.L137-.L139
	.long	.L156-.L139
	.long	.L155-.L139
	.long	.L154-.L139
	.long	.L153-.L139
	.long	.L152-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L151-.L139
	.long	.L137-.L139
	.long	.L420-.L139
	.long	.L287-.L139
	.long	.L192-.L139
	.long	.L408-.L139
	.long	.L243-.L139
	.long	.L228-.L139
	.long	.L244-.L139
	.long	.L143-.L139
	.long	.L142-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L137-.L139
	.long	.L141-.L139
	.long	.L140-.L139
	.long	.L138-.L139
	.text
.L171:
	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	.L172
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L173
	jmp	.L177
.L454:
	nop
.L177:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L174
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 1
	jmp	.L137
.L170:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L454
	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	.L178
.L174:
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 8[rax], 0
	jmp	.L178
.L173:
	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
.L178:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L179
	jmp	.L183
.L455:
	nop
.L183:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L180
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 2
	jmp	.L137
.L169:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L455
	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
	jmp	.L184
.L180:
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 12[rax], 0
	jmp	.L184
.L179:
	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
.L184:
	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	.L185
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 12[rax]
	and	eax, 32
	test	eax, eax
	jne	.L185
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, 15
	cmp	eax, 8
	je	.L186
.L185:
	mov	eax, 1
	jmp	.L187
.L186:
	mov	eax, 0
.L187:
	mov	DWORD PTR -440[rbp], eax
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 4
	test	eax, eax
	jne	.L188
	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	.L189
	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	.L190
.L189:
	mov	eax, 1
	jmp	.L191
.L190:
	mov	eax, 0
.L191:
	or	DWORD PTR -440[rbp], eax
.L188:
	cmp	DWORD PTR -440[rbp], 0
	je	.L172
.L192:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 36
	jmp	.L137
.L172:
	cmp	DWORD PTR -448[rbp], 2
	ja	.L193
.L200:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L194
	jmp	.L198
.L456:
	nop
.L198:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L195
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 3
	jmp	.L137
.L168:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L456
	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 -432[rbp], eax
	jmp	.L199
.L195:
	mov	DWORD PTR -432[rbp], 0
	jmp	.L199
.L194:
	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 -432[rbp], eax
.L199:
	mov	edx, DWORD PTR -432[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	.L200
.L193:
	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	.L201
	mov	eax, DWORD PTR -448[rbp]
	and	eax, 7
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L202
.L209:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L203
	jmp	.L207
.L457:
	nop
.L207:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L204
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 5
	jmp	.L137
.L167:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L457
	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 -428[rbp], eax
	jmp	.L208
.L204:
	mov	DWORD PTR -428[rbp], 0
	jmp	.L208
.L203:
	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 -428[rbp], eax
.L208:
	mov	edx, DWORD PTR -428[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	.L209
.L202:
	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	.L210
.L226:
	cmp	DWORD PTR -448[rbp], 0
	je	.L211
	cmp	DWORD PTR -448[rbp], 7
	ja	.L212
.L219:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L213
	jmp	.L217
.L458:
	nop
.L217:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L214
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 6
	jmp	.L137
.L166:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L458
	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 -424[rbp], eax
	jmp	.L218
.L214:
	mov	DWORD PTR -424[rbp], 0
	jmp	.L218
.L213:
	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 -424[rbp], eax
.L218:
	mov	edx, DWORD PTR -424[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	.L219
.L212:
	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	.L220
.L211:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L221
	jmp	.L225
.L459:
	nop
.L225:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L222
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 7
	jmp	.L137
.L165:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L459
	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
	jmp	.L220
.L222:
	mov	rdx, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR -440[rbp]
	mov	BYTE PTR 10536[rdx+rax], 0
	jmp	.L220
.L221:
	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
.L220:
	add	DWORD PTR -440[rbp], 1
.L210:
	cmp	DWORD PTR -440[rbp], 3
	jbe	.L226
	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	.L229
.L228:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 39
	jmp	.L137
.L240:
	cmp	DWORD PTR -448[rbp], 7
	ja	.L230
.L237:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L231
	jmp	.L235
.L460:
	nop
.L235:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L232
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 51
	jmp	.L137
.L141:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L460
	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 -420[rbp], eax
	jmp	.L236
.L232:
	mov	DWORD PTR -420[rbp], 0
	jmp	.L236
.L231:
	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 -420[rbp], eax
.L236:
	mov	edx, DWORD PTR -420[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	.L237
.L230:
	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	.L140
.L238:
	mov	DWORD PTR -452[rbp], 2
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 52
	jmp	.L137
.L140:
	mov	rax, QWORD PTR -248[rbp]
	cmp	rax, QWORD PTR -184[rbp]
	jnb	.L238
	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
.L229:
	cmp	DWORD PTR -440[rbp], 0
	je	.L241
	cmp	DWORD PTR -448[rbp], 0
	jne	.L240
	jmp	.L241
.L242:
	mov	DWORD PTR -452[rbp], 2
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 9
	jmp	.L137
.L164:
	mov	rax, QWORD PTR -248[rbp]
	cmp	rax, QWORD PTR -184[rbp]
	jnb	.L242
	jmp	.L243
.L245:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L244
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 38
	jmp	.L137
.L244:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 40
	jmp	.L137
.L243:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L245
	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
.L241:
	cmp	DWORD PTR -440[rbp], 0
	jne	.L164
	jmp	.L247
.L201:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 3
	jne	.L248
.L249:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 10
	jmp	.L137
.L248:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	jne	.L250
	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 -416[rbp], 0
	jmp	.L251
.L252:
	mov	rax, QWORD PTR -232[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -232[rbp], rdx
	mov	BYTE PTR [rax], 8
	add	DWORD PTR -416[rbp], 1
.L251:
	cmp	DWORD PTR -416[rbp], 143
	jbe	.L252
	jmp	.L253
.L254:
	mov	rax, QWORD PTR -232[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -232[rbp], rdx
	mov	BYTE PTR [rax], 9
	add	DWORD PTR -416[rbp], 1
.L253:
	cmp	DWORD PTR -416[rbp], 255
	jbe	.L254
	jmp	.L255
.L256:
	mov	rax, QWORD PTR -232[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -232[rbp], rdx
	mov	BYTE PTR [rax], 7
	add	DWORD PTR -416[rbp], 1
.L255:
	cmp	DWORD PTR -416[rbp], 279
	jbe	.L256
	jmp	.L257
.L258:
	mov	rax, QWORD PTR -232[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -232[rbp], rdx
	mov	BYTE PTR [rax], 8
	add	DWORD PTR -416[rbp], 1
.L257:
	cmp	DWORD PTR -416[rbp], 287
	jbe	.L258
	jmp	.L280
.L250:
	mov	DWORD PTR -440[rbp], 0
	jmp	.L260
.L269:
	mov	eax, DWORD PTR -440[rbp]
	lea	rdx, .LC1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L261
.L268:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L262
	jmp	.L266
.L461:
	nop
.L266:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L263
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 11
	jmp	.L137
.L162:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L461
	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 -412[rbp], eax
	jmp	.L267
.L263:
	mov	DWORD PTR -412[rbp], 0
	jmp	.L267
.L262:
	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 -412[rbp], eax
.L267:
	mov	edx, DWORD PTR -412[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, .LC1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	cmp	DWORD PTR -448[rbp], eax
	jb	.L268
.L261:
	mov	eax, DWORD PTR -440[rbp]
	lea	rdx, .LC1[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, .LC1[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, .LC1[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.20[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
.L260:
	cmp	DWORD PTR -440[rbp], 2
	jbe	.L269
	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	.L270
.L279:
	cmp	DWORD PTR -448[rbp], 2
	ja	.L271
.L278:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L272
	jmp	.L276
.L462:
	nop
.L276:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L273
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 14
	jmp	.L137
.L161:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L462
	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 -408[rbp], eax
	jmp	.L277
.L273:
	mov	DWORD PTR -408[rbp], 0
	jmp	.L277
.L272:
	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 -408[rbp], eax
.L277:
	mov	edx, DWORD PTR -408[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	.L278
.L271:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 7
	mov	DWORD PTR -284[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.19[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	mov	edx, DWORD PTR -284[rbp]
	mov	ecx, edx
	mov	rdx, QWORD PTR -472[rbp]
	cdqe
	mov	BYTE PTR 7048[rdx+rax], cl
	add	DWORD PTR -440[rbp], 1
.L270:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	DWORD PTR -440[rbp], eax
	jb	.L279
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 52[rax], 19
	jmp	.L280
.L337:
	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 -396[rbp], 0
	jmp	.L281
.L282:
	mov	rdx, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR -396[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 -396[rbp], 1
.L281:
	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 -396[rbp], eax
	jb	.L282
	mov	DWORD PTR -388[rbp], 0
	mov	DWORD PTR -384[rbp], 0
	mov	DWORD PTR -76[rbp], 0
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -396[rbp], 1
	jmp	.L283
.L284:
	mov	eax, DWORD PTR -396[rbp]
	mov	eax, DWORD PTR -144[rbp+rax*4]
	add	DWORD PTR -388[rbp], eax
	mov	eax, DWORD PTR -396[rbp]
	mov	edx, DWORD PTR -144[rbp+rax*4]
	mov	eax, DWORD PTR -384[rbp]
	add	eax, edx
	add	eax, eax
	mov	DWORD PTR -384[rbp], eax
	mov	eax, DWORD PTR -396[rbp]
	add	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -384[rbp]
	mov	DWORD PTR -80[rbp+rdx*4], eax
	add	DWORD PTR -396[rbp], 1
.L283:
	cmp	DWORD PTR -396[rbp], 15
	jbe	.L284
	cmp	DWORD PTR -384[rbp], 65536
	je	.L285
	cmp	DWORD PTR -388[rbp], 1
	jbe	.L285
.L287:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 35
	jmp	.L137
.L285:
	mov	DWORD PTR -404[rbp], -1
	mov	DWORD PTR -380[rbp], 0
	jmp	.L288
.L301:
	mov	DWORD PTR -376[rbp], 0
	mov	rdx, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR -380[rbp]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -280[rbp], eax
	cmp	DWORD PTR -280[rbp], 0
	je	.L463
	mov	eax, DWORD PTR -280[rbp]
	mov	eax, DWORD PTR -80[rbp+rax*4]
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -280[rbp]
	mov	DWORD PTR -80[rbp+rdx*4], ecx
	mov	DWORD PTR -368[rbp], eax
	mov	eax, DWORD PTR -280[rbp]
	mov	DWORD PTR -372[rbp], eax
	jmp	.L291
.L292:
	mov	eax, DWORD PTR -376[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -368[rbp]
	and	eax, 1
	or	eax, edx
	mov	DWORD PTR -376[rbp], eax
	sub	DWORD PTR -372[rbp], 1
	shr	DWORD PTR -368[rbp]
.L291:
	cmp	DWORD PTR -372[rbp], 0
	jne	.L292
	cmp	DWORD PTR -280[rbp], 10
	ja	.L293
	mov	eax, DWORD PTR -280[rbp]
	sal	eax, 9
	mov	edx, eax
	mov	eax, DWORD PTR -380[rbp]
	or	eax, edx
	mov	WORD PTR -454[rbp], ax
	jmp	.L294
.L295:
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -376[rbp]
	lea	rcx, 144[rdx]
	movzx	edx, WORD PTR -454[rbp]
	mov	WORD PTR [rax+rcx*2], dx
	mov	eax, DWORD PTR -280[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	add	DWORD PTR -376[rbp], eax
.L294:
	cmp	DWORD PTR -376[rbp], 1023
	jbe	.L295
	jmp	.L290
.L293:
	mov	eax, DWORD PTR -376[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 -400[rbp], eax
	cmp	DWORD PTR -400[rbp], 0
	jne	.L296
	mov	eax, DWORD PTR -376[rbp]
	and	eax, 1023
	mov	edx, eax
	mov	eax, DWORD PTR -404[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 -404[rbp]
	mov	DWORD PTR -400[rbp], eax
	sub	DWORD PTR -404[rbp], 2
.L296:
	shr	DWORD PTR -376[rbp], 9
	mov	eax, DWORD PTR -280[rbp]
	mov	DWORD PTR -392[rbp], eax
	jmp	.L297
.L300:
	shr	DWORD PTR -376[rbp]
	mov	eax, DWORD PTR -376[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -400[rbp]
	sub	eax, edx
	mov	DWORD PTR -400[rbp], eax
	mov	eax, DWORD PTR -400[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	.L298
	mov	eax, DWORD PTR -400[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
	mov	eax, DWORD PTR -404[rbp]
	mov	DWORD PTR -400[rbp], eax
	sub	DWORD PTR -404[rbp], 2
	jmp	.L299
.L298:
	mov	eax, DWORD PTR -400[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 -400[rbp], eax
.L299:
	sub	DWORD PTR -392[rbp], 1
.L297:
	cmp	DWORD PTR -392[rbp], 11
	ja	.L300
	shr	DWORD PTR -376[rbp]
	mov	eax, DWORD PTR -376[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -400[rbp]
	sub	eax, edx
	mov	DWORD PTR -400[rbp], eax
	mov	eax, DWORD PTR -400[rbp]
	not	eax
	mov	edx, eax
	mov	eax, DWORD PTR -380[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -168[rbp]
	movsx	rdx, edx
	add	rdx, 1168
	mov	WORD PTR [rax+rdx*2], cx
	jmp	.L290
.L463:
	nop
.L290:
	add	DWORD PTR -380[rbp], 1
.L288:
	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 -380[rbp], eax
	jb	.L301
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 2
	jne	.L302
	mov	DWORD PTR -440[rbp], 0
	jmp	.L303
.L334:
	cmp	DWORD PTR -448[rbp], 14
	ja	.L304
	mov	rax, QWORD PTR -192[rbp]
	sub	rax, QWORD PTR -256[rbp]
	cmp	rax, 1
	jg	.L305
.L317:
	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 -364[rbp], eax
	cmp	DWORD PTR -364[rbp], 0
	js	.L306
	mov	eax, DWORD PTR -364[rbp]
	sar	eax, 9
	mov	DWORD PTR -360[rbp], eax
	cmp	DWORD PTR -360[rbp], 0
	je	.L307
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -360[rbp]
	jb	.L307
	jmp	.L464
.L306:
	cmp	DWORD PTR -448[rbp], 10
	jbe	.L307
	mov	DWORD PTR -360[rbp], 10
.L310:
	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, 4688
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -364[rbp], eax
	cmp	DWORD PTR -364[rbp], 0
	jns	.L309
	mov	eax, DWORD PTR -360[rbp]
	add	eax, 1
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L310
.L309:
	cmp	DWORD PTR -364[rbp], 0
	jns	.L464
.L307:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L311
	jmp	.L315
.L465:
	nop
.L315:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L312
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 16
	jmp	.L137
.L160:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L465
	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
	jmp	.L316
.L312:
	mov	DWORD PTR -356[rbp], 0
	jmp	.L316
.L311:
	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
.L316:
	mov	edx, DWORD PTR -356[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	.L317
	jmp	.L304
.L305:
	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
	jmp	.L304
.L464:
	nop
.L304:
	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 -364[rbp], eax
	cmp	DWORD PTR -364[rbp], 0
	js	.L318
	mov	eax, DWORD PTR -364[rbp]
	sar	eax, 9
	mov	DWORD PTR -360[rbp], eax
	and	DWORD PTR -364[rbp], 511
	jmp	.L319
.L318:
	mov	DWORD PTR -360[rbp], 10
.L320:
	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, 4688
	movzx	eax, WORD PTR 8[rax+rdx*2]
	cwde
	mov	DWORD PTR -364[rbp], eax
	cmp	DWORD PTR -364[rbp], 0
	js	.L320
.L319:
	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
	cmp	DWORD PTR -444[rbp], 15
	ja	.L321
	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	.L303
.L321:
	cmp	DWORD PTR -444[rbp], 16
	jne	.L322
	cmp	DWORD PTR -440[rbp], 0
	jne	.L322
.L323:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 17
	jmp	.L137
.L322:
	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
	mov	DWORD PTR -436[rbp], eax
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -436[rbp]
	jnb	.L324
.L331:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L325
	jmp	.L329
.L466:
	nop
.L329:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L326
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 18
	jmp	.L137
.L158:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L466
	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 -352[rbp], eax
	jmp	.L330
.L326:
	mov	DWORD PTR -352[rbp], 0
	jmp	.L330
.L325:
	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 -352[rbp], eax
.L330:
	mov	edx, DWORD PTR -352[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	.L331
.L324:
	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 -268[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, .LC3[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	movsx	eax, al
	add	DWORD PTR -268[rbp], eax
	mov	edx, DWORD PTR -268[rbp]
	cmp	DWORD PTR -444[rbp], 16
	jne	.L332
	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	.L333
.L332:
	mov	eax, 0
.L333:
	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 -268[rbp]
	add	DWORD PTR -440[rbp], eax
.L303:
	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	.L334
	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	.L335
.L336:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 21
	jmp	.L137
.L335:
	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
.L302:
	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
.L280:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jns	.L337
	jmp	.L370
.L476:
	nop
.L370:
	mov	rax, QWORD PTR -192[rbp]
	sub	rax, QWORD PTR -256[rbp]
	cmp	rax, 3
	jle	.L338
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR -248[rbp]
	cmp	rax, 1
	jg	.L339
.L338:
	cmp	DWORD PTR -448[rbp], 14
	ja	.L340
	mov	rax, QWORD PTR -192[rbp]
	sub	rax, QWORD PTR -256[rbp]
	cmp	rax, 1
	jg	.L341
.L353:
	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 -348[rbp], eax
	cmp	DWORD PTR -348[rbp], 0
	js	.L342
	mov	eax, DWORD PTR -348[rbp]
	sar	eax, 9
	mov	DWORD PTR -344[rbp], eax
	cmp	DWORD PTR -344[rbp], 0
	je	.L343
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -344[rbp]
	jb	.L343
	jmp	.L467
.L342:
	cmp	DWORD PTR -448[rbp], 10
	jbe	.L343
	mov	DWORD PTR -344[rbp], 10
.L346:
	mov	eax, DWORD PTR -348[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -344[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -344[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 -348[rbp], eax
	cmp	DWORD PTR -348[rbp], 0
	jns	.L345
	mov	eax, DWORD PTR -344[rbp]
	add	eax, 1
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L346
.L345:
	cmp	DWORD PTR -348[rbp], 0
	jns	.L467
.L343:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L347
	jmp	.L351
.L468:
	nop
.L351:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L348
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 23
	jmp	.L137
.L156:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L468
	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
	jmp	.L352
.L348:
	mov	DWORD PTR -340[rbp], 0
	jmp	.L352
.L347:
	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
.L352:
	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], 14
	jbe	.L353
	jmp	.L340
.L341:
	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
	jmp	.L340
.L467:
	nop
.L340:
	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 -348[rbp], eax
	cmp	DWORD PTR -348[rbp], 0
	js	.L354
	mov	eax, DWORD PTR -348[rbp]
	sar	eax, 9
	mov	DWORD PTR -344[rbp], eax
	and	DWORD PTR -348[rbp], 511
	jmp	.L355
.L354:
	mov	DWORD PTR -344[rbp], 10
.L356:
	mov	eax, DWORD PTR -348[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -344[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -344[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 -348[rbp], eax
	cmp	DWORD PTR -348[rbp], 0
	js	.L356
.L355:
	mov	eax, DWORD PTR -348[rbp]
	mov	DWORD PTR -440[rbp], eax
	mov	eax, DWORD PTR -344[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -344[rbp]
	sub	DWORD PTR -448[rbp], eax
	cmp	DWORD PTR -440[rbp], 255
	jbe	.L155
	jmp	.L358
.L359:
	mov	DWORD PTR -452[rbp], 2
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 24
	jmp	.L137
.L155:
	mov	rax, QWORD PTR -248[rbp]
	cmp	rax, QWORD PTR -184[rbp]
	jnb	.L359
	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	.L370
.L339:
	cmp	DWORD PTR -448[rbp], 29
	ja	.L361
	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
.L361:
	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 -336[rbp], eax
	cmp	DWORD PTR -336[rbp], 0
	js	.L362
	mov	eax, DWORD PTR -336[rbp]
	sar	eax, 9
	mov	DWORD PTR -332[rbp], eax
	jmp	.L363
.L362:
	mov	DWORD PTR -332[rbp], 10
.L364:
	mov	eax, DWORD PTR -336[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -332[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -332[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 -336[rbp], eax
	cmp	DWORD PTR -336[rbp], 0
	js	.L364
.L363:
	mov	eax, DWORD PTR -336[rbp]
	mov	DWORD PTR -440[rbp], eax
	mov	eax, DWORD PTR -332[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -332[rbp]
	sub	DWORD PTR -448[rbp], eax
	mov	eax, DWORD PTR -440[rbp]
	and	eax, 256
	test	eax, eax
	jne	.L469
	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 -336[rbp], eax
	cmp	DWORD PTR -336[rbp], 0
	js	.L366
	mov	eax, DWORD PTR -336[rbp]
	sar	eax, 9
	mov	DWORD PTR -332[rbp], eax
	jmp	.L367
.L366:
	mov	DWORD PTR -332[rbp], 10
.L368:
	mov	eax, DWORD PTR -336[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -332[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -332[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 -336[rbp], eax
	cmp	DWORD PTR -336[rbp], 0
	js	.L368
.L367:
	mov	eax, DWORD PTR -332[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -332[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 -336[rbp]
	and	eax, 256
	test	eax, eax
	je	.L369
	add	QWORD PTR -248[rbp], 1
	mov	eax, DWORD PTR -336[rbp]
	mov	DWORD PTR -440[rbp], eax
	jmp	.L358
.L369:
	mov	rax, QWORD PTR -248[rbp]
	add	rax, 1
	mov	edx, DWORD PTR -336[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -248[rbp], 2
	jmp	.L370
.L469:
	nop
.L358:
	and	DWORD PTR -440[rbp], 511
	cmp	DWORD PTR -440[rbp], 256
	je	.L470
	mov	eax, DWORD PTR -440[rbp]
	sub	eax, 257
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, s_length_extra.18[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.17[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -440[rbp], eax
	cmp	DWORD PTR -436[rbp], 0
	je	.L372
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -436[rbp]
	jnb	.L373
.L380:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L374
	jmp	.L378
.L471:
	nop
.L378:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L375
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 25
	jmp	.L137
.L154:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L471
	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
	jmp	.L379
.L375:
	mov	DWORD PTR -328[rbp], 0
	jmp	.L379
.L374:
	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
.L379:
	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 -448[rbp]
	cmp	eax, DWORD PTR -436[rbp]
	jb	.L380
.L373:
	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 -276[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 -276[rbp]
	add	DWORD PTR -440[rbp], eax
.L372:
	cmp	DWORD PTR -448[rbp], 14
	ja	.L381
	mov	rax, QWORD PTR -192[rbp]
	sub	rax, QWORD PTR -256[rbp]
	cmp	rax, 1
	jg	.L382
.L394:
	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 -324[rbp], eax
	cmp	DWORD PTR -324[rbp], 0
	js	.L383
	mov	eax, DWORD PTR -324[rbp]
	sar	eax, 9
	mov	DWORD PTR -320[rbp], eax
	cmp	DWORD PTR -320[rbp], 0
	je	.L384
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -320[rbp]
	jb	.L384
	jmp	.L472
.L383:
	cmp	DWORD PTR -448[rbp], 10
	jbe	.L384
	mov	DWORD PTR -320[rbp], 10
.L387:
	mov	eax, DWORD PTR -324[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -320[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -320[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 -324[rbp], eax
	cmp	DWORD PTR -324[rbp], 0
	jns	.L386
	mov	eax, DWORD PTR -320[rbp]
	add	eax, 1
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L387
.L386:
	cmp	DWORD PTR -324[rbp], 0
	jns	.L472
.L384:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L388
	jmp	.L392
.L473:
	nop
.L392:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L389
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 26
	jmp	.L137
.L153:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L473
	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
	jmp	.L393
.L389:
	mov	DWORD PTR -316[rbp], 0
	jmp	.L393
.L388:
	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
.L393:
	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
	cmp	DWORD PTR -448[rbp], 14
	jbe	.L394
	jmp	.L381
.L382:
	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
	jmp	.L381
.L472:
	nop
.L381:
	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 -324[rbp], eax
	cmp	DWORD PTR -324[rbp], 0
	js	.L395
	mov	eax, DWORD PTR -324[rbp]
	sar	eax, 9
	mov	DWORD PTR -320[rbp], eax
	and	DWORD PTR -324[rbp], 511
	jmp	.L396
.L395:
	mov	DWORD PTR -320[rbp], 10
.L397:
	mov	eax, DWORD PTR -324[rbp]
	not	eax
	movsx	rsi, eax
	mov	eax, DWORD PTR -320[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -320[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 -324[rbp], eax
	cmp	DWORD PTR -324[rbp], 0
	js	.L397
.L396:
	mov	eax, DWORD PTR -324[rbp]
	mov	DWORD PTR -444[rbp], eax
	mov	eax, DWORD PTR -320[rbp]
	mov	ecx, eax
	shr	QWORD PTR -264[rbp], cl
	mov	eax, DWORD PTR -320[rbp]
	sub	DWORD PTR -448[rbp], eax
	mov	eax, DWORD PTR -444[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, s_dist_extra.16[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.15[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -444[rbp], eax
	cmp	DWORD PTR -436[rbp], 0
	je	.L398
	mov	eax, DWORD PTR -448[rbp]
	cmp	eax, DWORD PTR -436[rbp]
	jnb	.L399
.L406:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L400
	jmp	.L404
.L474:
	nop
.L404:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L401
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 27
	jmp	.L137
.L152:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L474
	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 -312[rbp], eax
	jmp	.L405
.L401:
	mov	DWORD PTR -312[rbp], 0
	jmp	.L405
.L400:
	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 -312[rbp], eax
.L405:
	mov	edx, DWORD PTR -312[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	.L406
.L399:
	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 -272[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 -272[rbp]
	add	DWORD PTR -444[rbp], eax
.L398:
	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	.L407
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 4
	test	eax, eax
	je	.L407
.L408:
	mov	DWORD PTR -452[rbp], -1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 37
	jmp	.L137
.L407:
	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	.L409
	jmp	.L410
.L411:
	mov	DWORD PTR -452[rbp], 2
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 53
	jmp	.L137
.L138:
	mov	rax, QWORD PTR -248[rbp]
	cmp	rax, QWORD PTR -184[rbp]
	jnb	.L411
	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
.L410:
	mov	eax, DWORD PTR -440[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -440[rbp], edx
	test	eax, eax
	jne	.L138
	jmp	.L413
.L409:
	cmp	DWORD PTR -440[rbp], 8
	jbe	.L418
	mov	eax, DWORD PTR -440[rbp]
	cmp	eax, DWORD PTR -444[rbp]
	ja	.L418
	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
.L415:
	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	.L415
	and	DWORD PTR -440[rbp], 7
	cmp	DWORD PTR -440[rbp], 2
	ja	.L418
	cmp	DWORD PTR -440[rbp], 0
	je	.L475
	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	.L417
	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
.L417:
	mov	eax, DWORD PTR -440[rbp]
	add	QWORD PTR -248[rbp], rax
	jmp	.L475
.L418:
	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	.L418
	mov	eax, DWORD PTR -440[rbp]
	test	eax, eax
	jle	.L476
	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	.L419
	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
.L419:
	mov	eax, DWORD PTR -440[rbp]
	add	QWORD PTR -248[rbp], rax
	jmp	.L476
.L475:
	nop
.L413:
	jmp	.L476
.L470:
	nop
.L247:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 20[rax]
	and	eax, 1
	test	eax, eax
	je	.L172
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 1
	test	eax, eax
	je	.L420
	mov	eax, DWORD PTR -448[rbp]
	and	eax, 7
	cmp	DWORD PTR -448[rbp], eax
	jnb	.L421
.L428:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L422
	jmp	.L426
.L477:
	nop
.L426:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L423
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 32
	jmp	.L137
.L151:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L477
	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
	jmp	.L427
.L423:
	mov	DWORD PTR -308[rbp], 0
	jmp	.L427
.L422:
	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
.L427:
	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
	mov	eax, DWORD PTR -448[rbp]
	and	eax, 7
	cmp	DWORD PTR -448[rbp], eax
	jb	.L428
.L421:
	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	.L429
.L445:
	cmp	DWORD PTR -448[rbp], 0
	je	.L430
	cmp	DWORD PTR -448[rbp], 7
	ja	.L431
.L438:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L432
	jmp	.L436
.L478:
	nop
.L436:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L433
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 41
	jmp	.L137
.L143:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L478
	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 -300[rbp], eax
	jmp	.L437
.L433:
	mov	DWORD PTR -300[rbp], 0
	jmp	.L437
.L432:
	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 -300[rbp], eax
.L437:
	mov	edx, DWORD PTR -300[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	.L438
.L431:
	mov	rax, QWORD PTR -264[rbp]
	and	eax, 255
	mov	DWORD PTR -304[rbp], eax
	shr	QWORD PTR -264[rbp], 8
	sub	DWORD PTR -448[rbp], 8
	jmp	.L439
.L430:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jb	.L440
	jmp	.L444
.L479:
	nop
.L444:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 2
	test	eax, eax
	je	.L441
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 42
	jmp	.L137
.L142:
	mov	rax, QWORD PTR -256[rbp]
	cmp	rax, QWORD PTR -192[rbp]
	jnb	.L479
	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
	jmp	.L439
.L441:
	mov	DWORD PTR -304[rbp], 0
	jmp	.L439
.L440:
	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
.L439:
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 16[rax]
	sal	eax, 8
	or	eax, DWORD PTR -304[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 16[rax], edx
	add	DWORD PTR -440[rbp], 1
.L429:
	cmp	DWORD PTR -440[rbp], 3
	jbe	.L445
.L420:
	mov	DWORD PTR -452[rbp], 0
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR [rax], 34
	nop
.L137:
	mov	rax, QWORD PTR -472[rbp]
	mov	edx, DWORD PTR -448[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -472[rbp]
	mov	rdx, QWORD PTR -264[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	.L446
	cmp	DWORD PTR -452[rbp], 0
	js	.L446
	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 -292[rbp], eax
	mov	rax, QWORD PTR -472[rbp]
	mov	eax, DWORD PTR 28[rax]
	shr	eax, 16
	mov	DWORD PTR -288[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	.L447
.L452:
	mov	DWORD PTR -296[rbp], 0
	jmp	.L448
.L449:
	mov	rax, QWORD PTR -216[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -292[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -288[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -292[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -288[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -292[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -288[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -292[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -288[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 4
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -292[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -288[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -292[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -288[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 6
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -292[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -288[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	DWORD PTR -292[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -288[rbp], eax
	add	DWORD PTR -296[rbp], 8
	add	QWORD PTR -216[rbp], 8
.L448:
	mov	eax, DWORD PTR -296[rbp]
	add	eax, 7
	mov	eax, eax
	cmp	QWORD PTR -200[rbp], rax
	ja	.L449
	jmp	.L450
.L451:
	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 -292[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -288[rbp], eax
	add	DWORD PTR -296[rbp], 1
.L450:
	mov	eax, DWORD PTR -296[rbp]
	cmp	QWORD PTR -200[rbp], rax
	ja	.L451
	mov	eax, DWORD PTR -292[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 -292[rbp], eax
	mov	eax, DWORD PTR -288[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 -288[rbp], eax
	mov	rax, QWORD PTR -200[rbp]
	sub	QWORD PTR -208[rbp], rax
	mov	QWORD PTR -200[rbp], 5552
.L447:
	cmp	QWORD PTR -208[rbp], 0
	jne	.L452
	mov	eax, DWORD PTR -288[rbp]
	sal	eax, 16
	mov	edx, eax
	mov	eax, DWORD PTR -292[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -472[rbp]
	mov	DWORD PTR 28[rax], edx
	cmp	DWORD PTR -452[rbp], 0
	jne	.L446
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 1
	test	eax, eax
	je	.L446
	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	.L446
	mov	DWORD PTR -452[rbp], -2
.L446:
	mov	eax, DWORD PTR -452[rbp]
.L136:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L453
	call	__stack_chk_fail@PLT
.L453:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	tinfl_decompress, .-tinfl_decompress
	.globl	tinfl_decompress_mem_to_heap
	.type	tinfl_decompress_mem_to_heap, @function
tinfl_decompress_mem_to_heap:
.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, 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
.L490:
	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	.L481
	mov	rax, QWORD PTR -11096[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -11048[rbp]
	lea	rdi, [rdx+rax]
	jmp	.L482
.L481:
	mov	edi, 0
.L482:
	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	.L483
	cmp	DWORD PTR -11068[rbp], 1
	jne	.L484
.L483:
	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	.L491
.L484:
	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	.L486
	mov	rax, QWORD PTR -11048[rbp]
	jmp	.L491
.L486:
	mov	rax, QWORD PTR -11032[rbp]
	add	rax, rax
	mov	QWORD PTR -11024[rbp], rax
	cmp	QWORD PTR -11024[rbp], 127
	ja	.L488
	mov	QWORD PTR -11024[rbp], 128
.L488:
	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	.L489
	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	.L491
.L489:
	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	.L490
.L491:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L492
	call	__stack_chk_fail@PLT
.L492:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.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:
.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, 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	.L494
	mov	rax, QWORD PTR -11040[rbp]
	jmp	.L496
.L494:
	mov	rax, -1
.L496:
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, QWORD PTR fs:40
	je	.L497
	call	__stack_chk_fail@PLT
.L497:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.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:
.LFB31:
	.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	.L499
	mov	eax, -1
	jmp	.L505
.L499:
	mov	DWORD PTR -11008[rbp], 0
.L504:
	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	.L501
	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	.L507
.L501:
	cmp	DWORD PTR -11052[rbp], 2
	je	.L503
	cmp	DWORD PTR -11052[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -11056[rbp], eax
	jmp	.L502
.L503:
	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	.L504
.L507:
	nop
.L502:
	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]
.L505:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L506
	call	__stack_chk_fail@PLT
.L506:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.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:
.LFB32:
	.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	.L509
.L510:
	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
.L509:
	mov	eax, DWORD PTR -3132[rbp]
	cmp	eax, DWORD PTR -3156[rbp]
	jb	.L510
	jmp	.L511
.L513:
	sub	DWORD PTR -3144[rbp], 1
.L511:
	cmp	DWORD PTR -3144[rbp], 1
	jbe	.L512
	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	.L513
.L512:
	mov	DWORD PTR -3140[rbp], 0
	mov	DWORD PTR -3136[rbp], 0
	jmp	.L514
.L519:
	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	.L515
.L516:
	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
.L515:
	cmp	DWORD PTR -3132[rbp], 255
	jbe	.L516
	mov	DWORD PTR -3132[rbp], 0
	jmp	.L517
.L518:
	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
.L517:
	mov	eax, DWORD PTR -3132[rbp]
	cmp	eax, DWORD PTR -3156[rbp]
	jb	.L518
	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
.L514:
	mov	eax, DWORD PTR -3136[rbp]
	cmp	eax, DWORD PTR -3144[rbp]
	jb	.L519
	mov	rax, QWORD PTR -3120[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L521
	call	__stack_chk_fail@PLT
.L521:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	tdefl_radix_sort_syms, .-tdefl_radix_sort_syms
	.type	tdefl_calculate_minimum_redundancy, @function
tdefl_calculate_minimum_redundancy:
.LFB33:
	.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	.L543
	cmp	DWORD PTR -44[rbp], 1
	jne	.L525
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR [rax], 1
	jmp	.L522
.L525:
	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	.L526
.L533:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jge	.L527
	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	.L528
.L527:
	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	.L529
.L528:
	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
.L529:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jge	.L530
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jge	.L531
	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	.L531
.L530:
	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	.L532
.L531:
	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
.L532:
	add	DWORD PTR -16[rbp], 1
.L526:
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	jl	.L533
	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	.L534
.L535:
	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
.L534:
	cmp	DWORD PTR -16[rbp], 0
	jns	.L535
	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	.L536
.L539:
	add	DWORD PTR -8[rbp], 1
	sub	DWORD PTR -24[rbp], 1
.L537:
	cmp	DWORD PTR -24[rbp], 0
	js	.L540
	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	.L539
	jmp	.L540
.L541:
	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
.L540:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jg	.L541
	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
.L536:
	cmp	DWORD PTR -12[rbp], 0
	jg	.L537
	jmp	.L522
.L543:
	nop
.L522:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	tdefl_calculate_minimum_redundancy, .-tdefl_calculate_minimum_redundancy
	.type	tdefl_huffman_enforce_max_code_size, @function
tdefl_huffman_enforce_max_code_size:
.LFB34:
	.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	.L557
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
	jmp	.L547
.L548:
	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
.L547:
	cmp	DWORD PTR -8[rbp], 32
	jle	.L548
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -8[rbp], eax
	jmp	.L549
.L550:
	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
.L549:
	cmp	DWORD PTR -8[rbp], 0
	jg	.L550
	jmp	.L551
.L556:
	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	.L552
.L555:
	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	.L553
	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	.L554
.L553:
	sub	DWORD PTR -8[rbp], 1
.L552:
	cmp	DWORD PTR -8[rbp], 0
	jg	.L555
.L554:
	sub	DWORD PTR -4[rbp], 1
.L551:
	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	.L556
	jmp	.L544
.L557:
	nop
.L544:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	tdefl_huffman_enforce_max_code_size, .-tdefl_huffman_enforce_max_code_size
	.type	tdefl_optimize_huffman_table, @function
tdefl_optimize_huffman_table:
.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, 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	.L559
	mov	DWORD PTR -2508[rbp], 0
	jmp	.L560
.L561:
	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
.L560:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2528[rbp]
	jl	.L561
	jmp	.L562
.L559:
	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	.L563
.L565:
	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	.L564
	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
.L564:
	add	DWORD PTR -2508[rbp], 1
.L563:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2528[rbp]
	jl	.L565
	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	.L566
.L567:
	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
.L566:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2496[rbp]
	jl	.L567
	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	.L568
.L571:
	mov	eax, DWORD PTR -2508[rbp]
	cdqe
	mov	eax, DWORD PTR -2464[rbp+rax*4]
	mov	DWORD PTR -2500[rbp], eax
	jmp	.L569
.L570:
	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
.L569:
	cmp	DWORD PTR -2500[rbp], 0
	jg	.L570
	add	DWORD PTR -2508[rbp], 1
.L568:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2532[rbp]
	jle	.L571
.L562:
	mov	DWORD PTR -1164[rbp], 0
	mov	DWORD PTR -2504[rbp], 0
	mov	DWORD PTR -2508[rbp], 2
	jmp	.L572
.L573:
	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
.L572:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2532[rbp]
	jle	.L573
	mov	DWORD PTR -2508[rbp], 0
	jmp	.L574
.L579:
	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	.L581
	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	.L577
.L578:
	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]
.L577:
	cmp	DWORD PTR -2500[rbp], 0
	jg	.L578
	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	.L576
.L581:
	nop
.L576:
	add	DWORD PTR -2508[rbp], 1
.L574:
	mov	eax, DWORD PTR -2508[rbp]
	cmp	eax, DWORD PTR -2528[rbp]
	jl	.L579
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L580
	call	__stack_chk_fail@PLT
.L580:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.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
.LC4:
	.string	"the_stack_data/821599.c"
.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:
.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, 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	.L583
.L586:
	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	.L670
	sub	DWORD PTR -752[rbp], 1
.L583:
	cmp	DWORD PTR -752[rbp], 257
	jg	.L586
	jmp	.L585
.L670:
	nop
.L585:
	mov	DWORD PTR -748[rbp], 30
	jmp	.L587
.L590:
	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	.L671
	sub	DWORD PTR -748[rbp], 1
.L587:
	cmp	DWORD PTR -748[rbp], 1
	jg	.L590
	jmp	.L589
.L671:
	nop
.L589:
	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	.L591
.L620:
	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	.L592
	cmp	DWORD PTR -728[rbp], 0
	je	.L593
	cmp	DWORD PTR -728[rbp], 2
	ja	.L594
	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	.L595
.L596:
	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
.L595:
	mov	eax, DWORD PTR -728[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -728[rbp], edx
	test	eax, eax
	jne	.L596
	jmp	.L597
.L594:
	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
.L597:
	mov	DWORD PTR -728[rbp], 0
.L593:
	add	DWORD PTR -732[rbp], 1
	cmp	DWORD PTR -732[rbp], 138
	jne	.L598
	cmp	DWORD PTR -732[rbp], 0
	je	.L598
	cmp	DWORD PTR -732[rbp], 2
	ja	.L599
	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	.L600
.L601:
	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
.L600:
	mov	eax, DWORD PTR -732[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -732[rbp], edx
	test	eax, eax
	jne	.L601
	jmp	.L602
.L599:
	cmp	DWORD PTR -732[rbp], 10
	ja	.L603
	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	.L602
.L603:
	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
.L602:
	mov	DWORD PTR -732[rbp], 0
	jmp	.L598
.L592:
	cmp	DWORD PTR -732[rbp], 0
	je	.L604
	cmp	DWORD PTR -732[rbp], 2
	ja	.L605
	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	.L606
.L607:
	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
.L606:
	mov	eax, DWORD PTR -732[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -732[rbp], edx
	test	eax, eax
	jne	.L607
	jmp	.L608
.L605:
	cmp	DWORD PTR -732[rbp], 10
	ja	.L609
	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	.L608
.L609:
	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
.L608:
	mov	DWORD PTR -732[rbp], 0
.L604:
	movzx	eax, BYTE PTR -753[rbp]
	cmp	al, BYTE PTR -754[rbp]
	je	.L610
	cmp	DWORD PTR -728[rbp], 0
	je	.L611
	cmp	DWORD PTR -728[rbp], 2
	ja	.L612
	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	.L613
.L614:
	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
.L613:
	mov	eax, DWORD PTR -728[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -728[rbp], edx
	test	eax, eax
	jne	.L614
	jmp	.L615
.L612:
	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
.L615:
	mov	DWORD PTR -728[rbp], 0
.L611:
	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	.L598
.L610:
	add	DWORD PTR -728[rbp], 1
	cmp	DWORD PTR -728[rbp], 6
	jne	.L598
	cmp	DWORD PTR -728[rbp], 0
	je	.L598
	cmp	DWORD PTR -728[rbp], 2
	ja	.L616
	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	.L617
.L618:
	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
.L617:
	mov	eax, DWORD PTR -728[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -728[rbp], edx
	test	eax, eax
	jne	.L618
	jmp	.L619
.L616:
	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
.L619:
	mov	DWORD PTR -728[rbp], 0
.L598:
	movzx	eax, BYTE PTR -753[rbp]
	mov	BYTE PTR -754[rbp], al
	add	DWORD PTR -740[rbp], 1
.L591:
	mov	eax, DWORD PTR -740[rbp]
	cmp	eax, DWORD PTR -720[rbp]
	jb	.L620
	cmp	DWORD PTR -728[rbp], 0
	je	.L621
	cmp	DWORD PTR -728[rbp], 0
	je	.L622
	cmp	DWORD PTR -728[rbp], 2
	ja	.L623
	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	.L624
.L625:
	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
.L624:
	mov	eax, DWORD PTR -728[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -728[rbp], edx
	test	eax, eax
	jne	.L625
	jmp	.L626
.L623:
	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
.L626:
	mov	DWORD PTR -728[rbp], 0
	jmp	.L622
.L621:
	cmp	DWORD PTR -732[rbp], 0
	je	.L622
	cmp	DWORD PTR -732[rbp], 2
	ja	.L627
	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	.L628
.L629:
	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
.L628:
	mov	eax, DWORD PTR -732[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -732[rbp], edx
	test	eax, eax
	jne	.L629
	jmp	.L630
.L627:
	cmp	DWORD PTR -732[rbp], 10
	ja	.L631
	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	.L630
.L631:
	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
.L630:
	mov	DWORD PTR -732[rbp], 0
.L622:
	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	.L632
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1981
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L632:
	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	.L633
.L635:
	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	.L634
	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
.L634:
	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
.L633:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L635
	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	.L636
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1983
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L636:
	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	.L637
.L639:
	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	.L638
	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
.L638:
	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
.L637:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L639
	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	.L640
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1984
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L640:
	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	.L641
.L643:
	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	.L642
	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
.L642:
	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
.L641:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L643
	mov	DWORD PTR -744[rbp], 18
	jmp	.L644
.L647:
	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	.L672
	sub	DWORD PTR -744[rbp], 1
.L644:
	cmp	DWORD PTR -744[rbp], 0
	jns	.L647
	jmp	.L646
.L672:
	nop
.L646:
	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	.L648
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1987
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L648:
	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	.L649
.L651:
	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	.L650
	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
.L650:
	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
.L649:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L651
	mov	DWORD PTR -740[rbp], 0
	jmp	.L652
.L657:
	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	.L653
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1988
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L653:
	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	.L654
.L656:
	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	.L655
	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
.L655:
	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
.L654:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L656
	add	DWORD PTR -740[rbp], 1
.L652:
	mov	eax, DWORD PTR -740[rbp]
	cmp	DWORD PTR -744[rbp], eax
	jg	.L657
	mov	DWORD PTR -724[rbp], 0
	jmp	.L658
.L668:
	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	.L659
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1992
	lea	rsi, .LC4[rip]
	lea	rdi, .LC6[rip]
	call	__assert_fail@PLT
.L659:
	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	.L660
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1993
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L660:
	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	.L661
.L663:
	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	.L662
	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
.L662:
	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
.L661:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L663
	cmp	DWORD PTR -684[rbp], 15
	jbe	.L658
	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, .LC2[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	.L664
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 1994
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L664:
	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	.L665
.L667:
	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	.L666
	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
.L666:
	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
.L665:
	mov	rax, QWORD PTR -776[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L667
.L658:
	mov	eax, DWORD PTR -724[rbp]
	cmp	eax, DWORD PTR -736[rbp]
	jb	.L668
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L669
	call	__stack_chk_fail@PLT
.L669:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	tdefl_start_dynamic_block, .-tdefl_start_dynamic_block
	.type	tdefl_start_static_block, @function
tdefl_start_static_block:
.LFB37:
	.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	.L674
.L675:
	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
.L674:
	cmp	DWORD PTR -20[rbp], 143
	jbe	.L675
	jmp	.L676
.L677:
	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
.L676:
	cmp	DWORD PTR -20[rbp], 255
	jbe	.L677
	jmp	.L678
.L679:
	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
.L678:
	cmp	DWORD PTR -20[rbp], 279
	jbe	.L679
	jmp	.L680
.L681:
	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
.L680:
	cmp	DWORD PTR -20[rbp], 287
	jbe	.L681
	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	.L682
	lea	rcx, __PRETTY_FUNCTION__.13[rip]
	mov	edx, 2013
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L682:
	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	.L683
.L685:
	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	.L684
	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
.L684:
	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
.L683:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L685
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.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:
.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, 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	.L687
.L702:
	cmp	DWORD PTR -96[rbp], 1
	jne	.L688
	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
.L688:
	mov	eax, DWORD PTR -96[rbp]
	and	eax, 1
	test	eax, eax
	je	.L689
	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	.L690
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 2041
	lea	rsi, .LC4[rip]
	lea	rdi, .LC7[rip]
	call	__assert_fail@PLT
.L690:
	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	.L691
	mov	eax, DWORD PTR -56[rbp]
	jmp	.L692
.L691:
	mov	eax, DWORD PTR -48[rbp]
.L692:
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -60[rbp], 511
	ja	.L693
	mov	eax, DWORD PTR -52[rbp]
	jmp	.L694
.L693:
	mov	eax, DWORD PTR -44[rbp]
.L694:
	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	.L695
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 2053
	lea	rsi, .LC4[rip]
	lea	rdi, .LC8[rip]
	call	__assert_fail@PLT
.L695:
	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	.L696
.L689:
	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	.L697
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 2060
	lea	rsi, .LC4[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L697:
	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	.L696
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jnb	.L696
	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	.L698
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 2067
	lea	rsi, .LC4[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L698:
	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	.L696
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jnb	.L696
	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	.L699
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 2074
	lea	rsi, .LC4[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L699:
	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
.L696:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 72[rax]
	cmp	QWORD PTR -24[rbp], rax
	jb	.L700
	mov	eax, 0
	jmp	.L701
.L700:
	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]
.L687:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jb	.L702
	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	.L703
.L708:
	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	.L704
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 2098
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L704:
	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	.L705
.L707:
	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	.L706
	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
.L706:
	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
.L705:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L707
	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
.L703:
	cmp	DWORD PTR -92[rbp], 0
	jne	.L708
	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	.L709
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 2103
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L709:
	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	.L710
.L712:
	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	.L711
	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
.L711:
	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
.L710:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L712
	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
.L701:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	tdefl_compress_lz_codes, .-tdefl_compress_lz_codes
	.type	tdefl_compress_block, @function
tdefl_compress_block:
.LFB39:
	.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	.L714
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_start_static_block
	jmp	.L715
.L714:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_start_dynamic_block
.L715:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_compress_lz_codes
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.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:
.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, 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	.L718
	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	.L718
	mov	eax, 1
	jmp	.L719
.L718:
	mov	eax, 0
.L719:
	mov	DWORD PTR -132[rbp], eax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L720
	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	.L720
	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	.L721
.L720:
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 234154
.L721:
	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	.L722
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2173
	lea	rsi, .LC4[rip]
	lea	rdi, .LC10[rip]
	call	__assert_fail@PLT
.L722:
	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	.L723
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 124[rax]
	test	eax, eax
	jne	.L723
	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	.L724
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2182
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L724:
	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	.L725
.L727:
	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	.L726
	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
.L726:
	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
.L725:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L727
	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	.L728
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2182
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L728:
	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	.L729
.L731:
	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	.L730
	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
.L730:
	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
.L729:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L731
.L723:
	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	.L732
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2185
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L732:
	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	.L733
.L735:
	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	.L734
	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
.L734:
	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
.L733:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L735
	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	.L736
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 262144
	test	eax, eax
	jne	.L737
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 84[rax]
	cmp	eax, 47
	ja	.L738
.L737:
	mov	edx, 1
	jmp	.L739
.L738:
	mov	edx, 0
.L739:
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	tdefl_compress_block
	mov	DWORD PTR -156[rbp], eax
.L736:
	cmp	DWORD PTR -132[rbp], 0
	jne	.L740
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 84[rax]
	test	eax, eax
	je	.L741
	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	.L741
.L740:
	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	.L741
	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	.L742
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2197
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L742:
	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	.L743
.L745:
	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	.L744
	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
.L744:
	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
.L743:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L745
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	je	.L746
	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	.L747
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2198
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L747:
	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	.L748
.L750:
	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	.L749
	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
.L749:
	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
.L748:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L750
.L746:
	mov	DWORD PTR -152[rbp], 2
	jmp	.L751
.L756:
	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	.L752
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2201
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L752:
	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	.L753
.L755:
	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	.L754
	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
.L754:
	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
.L753:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L755
	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
.L751:
	cmp	DWORD PTR -152[rbp], 0
	jne	.L756
	mov	DWORD PTR -152[rbp], 0
	jmp	.L757
.L762:
	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	.L758
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2205
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L758:
	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	.L759
.L761:
	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	.L760
	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
.L760:
	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
.L759:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L761
	add	DWORD PTR -152[rbp], 1
.L757:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 84[rax]
	cmp	DWORD PTR -152[rbp], eax
	jb	.L762
	jmp	.L763
.L741:
	cmp	DWORD PTR -156[rbp], 0
	jne	.L763
	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
.L763:
	cmp	DWORD PTR -172[rbp], 0
	je	.L764
	cmp	DWORD PTR -172[rbp], 4
	jne	.L765
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	je	.L766
	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	.L767
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2219
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L767:
	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	.L768
.L770:
	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	.L769
	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
.L769:
	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
.L768:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L770
.L766:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 4096
	test	eax, eax
	je	.L764
	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	.L771
.L776:
	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	.L772
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2220
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L772:
	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	.L773
.L775:
	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	.L774
	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
.L774:
	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
.L773:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L775
	sal	DWORD PTR -144[rbp], 8
	add	DWORD PTR -148[rbp], 1
.L771:
	cmp	DWORD PTR -148[rbp], 3
	jbe	.L776
	jmp	.L764
.L765:
	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	.L777
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2224
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L777:
	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	.L778
.L780:
	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	.L779
	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
.L779:
	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
.L778:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L780
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	test	eax, eax
	je	.L781
	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	.L782
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2224
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L782:
	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	.L783
.L785:
	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	.L784
	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
.L784:
	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
.L783:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L785
.L781:
	mov	DWORD PTR -140[rbp], 2
	jmp	.L786
.L791:
	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	.L787
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2224
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L787:
	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	.L788
.L790:
	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	.L789
	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
.L789:
	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
.L788:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 7
	ja	.L790
	sub	DWORD PTR -140[rbp], 1
	xor	DWORD PTR -136[rbp], 65535
.L786:
	cmp	DWORD PTR -140[rbp], 0
	jne	.L791
.L764:
	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	.L792
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2228
	lea	rsi, .LC4[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L792:
	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	.L793
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L794
	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	.L793
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 132[rax], -1
	mov	eax, -1
	jmp	.L795
.L794:
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 234154
	cmp	QWORD PTR -16[rbp], rax
	jne	.L796
	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	.L797
	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	.L798
.L797:
	mov	eax, DWORD PTR -24[rbp]
.L798:
	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	.L793
	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	.L793
.L796:
	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
.L793:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 116[rax]
.L795:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.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:
.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, 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	.L800
.L832:
	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	.L801
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 184[rax]
	jmp	.L802
.L801:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -116[rbp]
.L802:
	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	.L803
.L805:
	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	.L804
	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
.L804:
	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
.L803:
	cmp	DWORD PTR -92[rbp], 0
	jne	.L805
	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	.L808
	mov	eax, DWORD PTR -116[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jb	.L834
	jmp	.L808
.L827:
	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	.L809
	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	.L809
	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
.L811:
	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	.L810
	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	.L810
	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	.L810
	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	.L810
	sub	DWORD PTR -84[rbp], 1
	cmp	DWORD PTR -84[rbp], 0
	jne	.L811
.L810:
	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	.L812
	cmp	DWORD PTR -60[rbp], 0
	je	.L813
	mov	eax, 258
	jmp	.L814
.L813:
	mov	eax, 0
.L814:
	mov	DWORD PTR -88[rbp], eax
.L812:
	cmp	DWORD PTR -88[rbp], 2
	jbe	.L815
	cmp	DWORD PTR -88[rbp], 3
	jne	.L816
	cmp	DWORD PTR -60[rbp], 8191
	jbe	.L816
.L815:
	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	.L822
.L816:
	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	.L818
	cmp	DWORD PTR -60[rbp], 0
	je	.L818
	cmp	DWORD PTR -60[rbp], 32768
	jbe	.L833
.L818:
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2390
	lea	rsi, .LC4[rip]
	lea	rdi, .LC12[rip]
	call	__assert_fail@PLT
.L833:
	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	.L820
	mov	eax, DWORD PTR -56[rbp]
	jmp	.L821
.L820:
	mov	eax, DWORD PTR -52[rbp]
.L821:
	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	.L822
.L809:
	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
.L822:
	sub	DWORD PTR -104[rbp], 1
	cmp	DWORD PTR -104[rbp], 0
	jne	.L823
	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
.L823:
	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	.L824
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2419
	lea	rsi, .LC4[rip]
	lea	rdi, .LC13[rip]
	call	__assert_fail@PLT
.L824:
	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	.L808
	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	.L825
	mov	eax, DWORD PTR -48[rbp]
	not	eax
	shr	eax, 31
	movzx	eax, al
	jmp	.L826
.L825:
	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
.L808:
	cmp	DWORD PTR -116[rbp], 3
	ja	.L827
	jmp	.L828
.L831:
	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	.L829
	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
.L829:
	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	.L828
	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	.L830
	mov	eax, DWORD PTR -76[rbp]
	not	eax
	shr	eax, 31
	movzx	eax, al
	jmp	.L826
.L830:
	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
.L828:
	cmp	DWORD PTR -116[rbp], 0
	jne	.L831
.L800:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 184[rax]
	test	rax, rax
	jne	.L832
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 168[rax]
	test	eax, eax
	je	.L807
	cmp	DWORD PTR -116[rbp], 0
	jne	.L832
	jmp	.L807
.L834:
	nop
.L807:
	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
.L826:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.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:
.LFB45:
	.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	.L836
.L913:
	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	.L844
	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	.L838
	mov	rax, QWORD PTR -112[rbp]
	jmp	.L839
.L838:
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, 258
	sub	eax, edx
.L839:
	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	.L840
.L842:
	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	.L841
	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
.L841:
	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
.L840:
	mov	rax, QWORD PTR -120[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jne	.L842
	jmp	.L843
.L846:
	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	.L845
	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
.L845:
	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	.L844
	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
.L844:
	cmp	QWORD PTR -112[rbp], 0
	je	.L843
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 257
	jbe	.L846
.L843:
	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	.L847
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 257
	jbe	.L921
.L847:
	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	.L849
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 104[rax]
	jmp	.L850
.L849:
	mov	eax, 2
.L850:
	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	.L851
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	je	.L852
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 524288
	test	eax, eax
	jne	.L852
	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	.L853
.L856:
	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	.L922
	mov	eax, DWORD PTR -256[rbp]
	add	eax, 1
	mov	DWORD PTR -256[rbp], eax
.L853:
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	eax, DWORD PTR -256[rbp]
	cmp	edx, eax
	ja	.L856
	jmp	.L855
.L922:
	nop
.L855:
	mov	eax, DWORD PTR -256[rbp]
	cmp	eax, 2
	ja	.L857
	mov	DWORD PTR -256[rbp], 0
	jmp	.L852
.L857:
	mov	DWORD PTR -260[rbp], 1
	jmp	.L852
.L851:
	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	.L858
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 2271
	lea	rsi, .LC4[rip]
	lea	rdi, .LC14[rip]
	call	__assert_fail@PLT
.L858:
	mov	eax, DWORD PTR -200[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	jbe	.L923
.L859:
	sub	DWORD PTR -184[rbp], 1
	cmp	DWORD PTR -184[rbp], 0
	je	.L924
	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	.L925
	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	.L925
	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	.L926
	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	.L927
	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	.L927
	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	.L926
	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	.L928
	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	.L928
	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	.L926
	jmp	.L859
.L926:
	nop
	cmp	DWORD PTR -176[rbp], 0
	je	.L929
	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	.L930
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	DWORD PTR -172[rbp], 32
.L876:
	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	.L875
	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	.L875
	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	.L875
	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	.L875
	sub	DWORD PTR -172[rbp], 1
	cmp	DWORD PTR -172[rbp], 0
	jne	.L876
.L875:
	cmp	DWORD PTR -172[rbp], 0
	jne	.L877
	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	.L852
.L877:
	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	.L859
	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	.L931
	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	.L859
.L930:
	nop
	jmp	.L859
.L923:
	nop
	jmp	.L852
.L924:
	nop
	jmp	.L852
.L925:
	nop
	jmp	.L852
.L927:
	nop
	jmp	.L852
.L928:
	nop
	jmp	.L852
.L929:
	nop
	jmp	.L852
.L931:
	nop
.L852:
	mov	eax, DWORD PTR -256[rbp]
	cmp	eax, 3
	jne	.L879
	mov	eax, DWORD PTR -260[rbp]
	cmp	eax, 8191
	ja	.L880
.L879:
	mov	eax, DWORD PTR -260[rbp]
	cmp	DWORD PTR -216[rbp], eax
	je	.L880
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 131072
	test	eax, eax
	je	.L881
	mov	eax, DWORD PTR -256[rbp]
	cmp	eax, 5
	ja	.L881
.L880:
	mov	DWORD PTR -256[rbp], 0
	mov	eax, DWORD PTR -256[rbp]
	mov	DWORD PTR -260[rbp], eax
.L881:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 104[rax]
	test	eax, eax
	je	.L882
	mov	rax, QWORD PTR -280[rbp]
	mov	edx, DWORD PTR 104[rax]
	mov	eax, DWORD PTR -256[rbp]
	cmp	edx, eax
	jnb	.L883
	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	.L884
	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
.L884:
	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	.L885
	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	.L886
	cmp	DWORD PTR -164[rbp], 0
	je	.L886
	cmp	DWORD PTR -164[rbp], 32768
	jbe	.L918
.L886:
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2479
	lea	rsi, .LC4[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L918:
	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	.L888
	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
.L888:
	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	.L889
	mov	eax, DWORD PTR -160[rbp]
	jmp	.L890
.L889:
	mov	eax, DWORD PTR -156[rbp]
.L890:
	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	.L932
	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
.L932:
	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	.L892
.L885:
	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	.L892
.L883:
	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	.L893
	cmp	DWORD PTR -148[rbp], 0
	je	.L893
	cmp	DWORD PTR -148[rbp], 32768
	jbe	.L919
.L893:
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2479
	lea	rsi, .LC4[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L919:
	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	.L895
	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
.L895:
	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	.L896
	mov	eax, DWORD PTR -144[rbp]
	jmp	.L897
.L896:
	mov	eax, DWORD PTR -140[rbp]
.L897:
	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	.L933
	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
.L933:
	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	.L892
.L882:
	mov	eax, DWORD PTR -260[rbp]
	test	eax, eax
	jne	.L899
	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	.L900
	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
.L900:
	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	.L892
.L899:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	jne	.L901
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 65536
	test	eax, eax
	jne	.L901
	mov	eax, DWORD PTR -256[rbp]
	cmp	eax, 127
	jbe	.L902
.L901:
	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	.L903
	cmp	DWORD PTR -132[rbp], 0
	je	.L903
	cmp	DWORD PTR -132[rbp], 32768
	jbe	.L920
.L903:
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2479
	lea	rsi, .LC4[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L920:
	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	.L905
	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
.L905:
	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	.L906
	mov	eax, DWORD PTR -128[rbp]
	jmp	.L907
.L906:
	mov	eax, DWORD PTR -124[rbp]
.L907:
	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	.L934
	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
.L934:
	nop
	mov	eax, DWORD PTR -256[rbp]
	mov	DWORD PTR -252[rbp], eax
	jmp	.L892
.L902:
	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
.L892:
	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	.L909
	lea	rcx, __PRETTY_FUNCTION__.9[rip]
	mov	edx, 2597
	lea	rsi, .LC4[rip]
	lea	rdi, .LC16[rip]
	call	__assert_fail@PLT
.L909:
	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	.L910
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 84[rax]
	cmp	eax, 31744
	jbe	.L836
	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	.L910
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 524288
	test	eax, eax
	je	.L836
.L910:
	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	.L836
	mov	eax, DWORD PTR -212[rbp]
	not	eax
	shr	eax, 31
	movzx	eax, al
	jmp	.L912
.L836:
	cmp	QWORD PTR -112[rbp], 0
	jne	.L913
	cmp	DWORD PTR -236[rbp], 0
	je	.L848
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 40[rax]
	test	eax, eax
	jne	.L913
	jmp	.L848
.L921:
	nop
.L848:
	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
.L912:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L914
	call	__stack_chk_fail@PLT
.L914:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	tdefl_compress_normal, .-tdefl_compress_normal
	.type	tdefl_flush_output_buffer, @function
tdefl_flush_output_buffer:
.LFB46:
	.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	.L936
	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
.L936:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 160[rax]
	test	rax, rax
	je	.L937
	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
.L937:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L938
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	jne	.L938
	mov	eax, 1
	jmp	.L940
.L938:
	mov	eax, 0
.L940:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	tdefl_flush_output_buffer, .-tdefl_flush_output_buffer
	.globl	tdefl_compress
	.type	tdefl_compress, @function
tdefl_compress:
.LFB47:
	.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	.L942
	cmp	QWORD PTR -24[rbp], 0
	je	.L943
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], 0
.L943:
	cmp	QWORD PTR -40[rbp], 0
	je	.L944
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
.L944:
	mov	eax, -2
	jmp	.L945
.L942:
	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	.L946
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L947
.L946:
	mov	eax, 0
.L947:
	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	.L948
	cmp	QWORD PTR -40[rbp], 0
	je	.L949
.L948:
	mov	eax, 1
	jmp	.L950
.L949:
	mov	eax, 0
.L950:
	and	eax, 1
	xor	eax, edx
	test	al, al
	jne	.L951
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	test	eax, eax
	jne	.L951
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 128[rax]
	test	eax, eax
	je	.L952
	cmp	DWORD PTR -44[rbp], 4
	jne	.L951
.L952:
	cmp	QWORD PTR -24[rbp], 0
	je	.L953
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L953
	cmp	QWORD PTR -16[rbp], 0
	je	.L951
.L953:
	cmp	QWORD PTR -40[rbp], 0
	je	.L954
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L954
	cmp	QWORD PTR -32[rbp], 0
	jne	.L954
.L951:
	cmp	QWORD PTR -24[rbp], 0
	je	.L955
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], 0
.L955:
	cmp	QWORD PTR -40[rbp], 0
	je	.L956
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
.L956:
	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	.L945
.L954:
	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	.L957
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 120[rax]
	test	eax, eax
	je	.L958
.L957:
	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	.L945
.L958:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 4095
	cmp	eax, 1
	jne	.L959
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 16384
	test	eax, eax
	je	.L959
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 720896
	test	eax, eax
	jne	.L959
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_compress_fast
	test	eax, eax
	jne	.L961
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	jmp	.L945
.L959:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	tdefl_compress_normal
	test	eax, eax
	jne	.L961
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	jmp	.L945
.L961:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	and	eax, 12288
	test	eax, eax
	je	.L962
	cmp	QWORD PTR -16[rbp], 0
	je	.L962
	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
.L962:
	cmp	DWORD PTR -44[rbp], 0
	je	.L963
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	test	eax, eax
	jne	.L963
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 184[rax]
	test	rax, rax
	jne	.L963
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 116[rax]
	test	eax, eax
	jne	.L963
	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	.L964
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 132[rax]
	jmp	.L945
.L964:
	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	.L963
	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
.L963:
	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]
.L945:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.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:
.LFB48:
	.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	.L966
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 2694
	lea	rsi, .LC4[rip]
	lea	rdi, .LC17[rip]
	call	__assert_fail@PLT
.L966:
	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
.LFE48:
	.size	tdefl_compress_buffer, .-tdefl_compress_buffer
	.globl	tdefl_init
	.type	tdefl_init, @function
tdefl_init:
.LFB49:
	.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	.L969
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 168618
	mov	edx, 65536
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
.L969:
	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
.LFE49:
	.size	tdefl_init, .-tdefl_init
	.globl	tdefl_get_prev_return_status
	.type	tdefl_get_prev_return_status, @function
tdefl_get_prev_return_status:
.LFB50:
	.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
.LFE50:
	.size	tdefl_get_prev_return_status, .-tdefl_get_prev_return_status
	.globl	tdefl_get_adler32
	.type	tdefl_get_adler32, @function
tdefl_get_adler32:
.LFB51:
	.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
.LFE51:
	.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:
.LFB52:
	.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	.L976
	cmp	QWORD PTR -24[rbp], 0
	je	.L977
.L976:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L978
.L977:
	mov	eax, 0
	jmp	.L979
.L978:
	mov	edi, 319352
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L980
	mov	eax, 0
	jmp	.L979
.L980:
	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	.L981
	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	.L981
	mov	eax, 1
	jmp	.L982
.L981:
	mov	eax, 0
.L982:
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -12[rbp]
.L979:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	tdefl_compress_mem_to_output, .-tdefl_compress_mem_to_output
	.type	tdefl_output_buffer_putter, @function
tdefl_output_buffer_putter:
.LFB53:
	.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	.L984
	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	.L985
	mov	eax, 0
	jmp	.L986
.L985:
	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	.L985
	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	.L987
	mov	eax, 0
	jmp	.L986
.L987:
	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
.L984:
	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
.L986:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.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:
.LFB54:
	.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	.L989
	mov	eax, 0
	jmp	.L992
.L989:
	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	.L991
	mov	eax, 0
	jmp	.L992
.L991:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
.L992:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L993
	call	__stack_chk_fail@PLT
.L993:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.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:
.LFB55:
	.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	.L995
	mov	eax, 0
	jmp	.L998
.L995:
	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	.L997
	mov	eax, 0
	jmp	.L998
.L997:
	mov	rax, QWORD PTR -48[rbp]
.L998:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L999
	call	__stack_chk_fail@PLT
.L999:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	tdefl_compress_mem_to_mem, .-tdefl_compress_mem_to_mem
	.section	.rodata
	.align 32
	.type	s_tdefl_num_probes, @object
	.size	s_tdefl_num_probes, 44
s_tdefl_num_probes:
	.long	0
	.long	1
	.long	6
	.long	32
	.long	16
	.long	32
	.long	128
	.long	256
	.long	512
	.long	768
	.long	1500
	.text
	.globl	tdefl_create_comp_flags_from_zip_params
	.type	tdefl_create_comp_flags_from_zip_params, @function
tdefl_create_comp_flags_from_zip_params:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	cmp	DWORD PTR -20[rbp], 0
	js	.L1001
	mov	eax, 10
	cmp	DWORD PTR -20[rbp], 10
	cmovle	eax, DWORD PTR -20[rbp]
	jmp	.L1002
.L1001:
	mov	eax, 6
.L1002:
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, s_tdefl_num_probes[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -20[rbp], 3
	jg	.L1003
	mov	edx, 16384
	jmp	.L1004
.L1003:
	mov	edx, 0
.L1004:
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jle	.L1005
	or	DWORD PTR -4[rbp], 4096
.L1005:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L1006
	or	DWORD PTR -4[rbp], 524288
	jmp	.L1007
.L1006:
	cmp	DWORD PTR -28[rbp], 1
	jne	.L1008
	or	DWORD PTR -4[rbp], 131072
	jmp	.L1007
.L1008:
	cmp	DWORD PTR -28[rbp], 2
	jne	.L1009
	and	DWORD PTR -4[rbp], -4096
	jmp	.L1007
.L1009:
	cmp	DWORD PTR -28[rbp], 4
	jne	.L1010
	or	DWORD PTR -4[rbp], 262144
	jmp	.L1007
.L1010:
	cmp	DWORD PTR -28[rbp], 3
	jne	.L1007
	or	DWORD PTR -4[rbp], 65536
.L1007:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	tdefl_create_comp_flags_from_zip_params, .-tdefl_create_comp_flags_from_zip_params
	.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:
.LFB57:
	.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	.L1013
	mov	eax, 0
	jmp	.L1028
.L1013:
	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	.L1015
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L1028
.L1015:
	mov	DWORD PTR -140[rbp], 41
	jmp	.L1016
.L1017:
	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
.L1016:
	mov	eax, DWORD PTR -140[rbp]
	test	eax, eax
	jne	.L1017
	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.5[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	.L1018
.L1021:
	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	.L1019
	mov	eax, DWORD PTR -160[rbp]
	sub	eax, 1
	sub	eax, DWORD PTR -132[rbp]
	jmp	.L1020
.L1019:
	mov	eax, DWORD PTR -132[rbp]
.L1020:
	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
.L1018:
	mov	eax, DWORD PTR -132[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jl	.L1021
	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	.L1022
	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	.L1028
.L1022:
	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.4[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	.L1023
.L1024:
	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
.L1023:
	cmp	DWORD PTR -136[rbp], 3
	jle	.L1024
	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	.L1025
	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	.L1028
.L1025:
	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	.L1026
.L1027:
	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
.L1026:
	cmp	DWORD PTR -136[rbp], 3
	jle	.L1027
	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]
.L1028:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L1029
	call	__stack_chk_fail@PLT
.L1029:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.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:
.LFB58:
	.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
.LFE58:
	.size	tdefl_write_image_to_png_file_in_memory, .-tdefl_write_image_to_png_file_in_memory
	.section	.rodata
.LC19:
	.string	"pArray->m_element_size"
	.text
	.type	mz_zip_array_ensure_capacity, @function
mz_zip_array_ensure_capacity:
.LFB60:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1033
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 2998
	lea	rsi, .LC4[rip]
	lea	rdi, .LC19[rip]
	call	__assert_fail@PLT
.L1033:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -40[rbp], rax
	ja	.L1034
	mov	eax, 1
	jmp	.L1035
.L1034:
	cmp	DWORD PTR -44[rbp], 0
	je	.L1036
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L1037
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	jmp	.L1038
.L1037:
	mov	eax, 1
.L1038:
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1039
.L1040:
	sal	QWORD PTR -16[rbp]
.L1039:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jb	.L1040
.L1036:
	mov	rax, QWORD PTR -24[rbp]
	mov	r8, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	edi, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, rdx
	mov	rdx, rdi
	mov	rdi, rax
	call	r8
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1041
	mov	eax, 0
	jmp	.L1035
.L1041:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, 1
.L1035:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	mz_zip_array_ensure_capacity, .-mz_zip_array_ensure_capacity
	.type	mz_zip_dos_to_time_t, @function
mz_zip_dos_to_time_t:
.LFB65:
	.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	DWORD PTR -68[rbp], edi
	mov	DWORD PTR -72[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -64[rbp]
	mov	edx, 56
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -32[rbp], -1
	mov	eax, DWORD PTR -72[rbp]
	sar	eax, 9
	and	eax, 127
	add	eax, 80
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	sar	eax, 5
	and	eax, 15
	sub	eax, 1
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	and	eax, 31
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	sar	eax, 11
	and	eax, 31
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	sar	eax, 5
	and	eax, 63
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	add	eax, eax
	and	eax, 62
	mov	DWORD PTR -64[rbp], eax
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	mktime@PLT
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1044
	call	__stack_chk_fail@PLT
.L1044:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	mz_zip_dos_to_time_t, .-mz_zip_dos_to_time_t
	.type	mz_zip_time_to_dos_time, @function
mz_zip_time_to_dos_time:
.LFB66:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	lea	rax, -24[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	sal	eax, 11
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	sal	eax, 5
	add	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	sar	eax
	add	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	WORD PTR [rax], dx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	sub	eax, 80
	sal	eax, 9
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	add	eax, 1
	sal	eax, 5
	add	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	WORD PTR [rax], dx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	mz_zip_time_to_dos_time, .-mz_zip_time_to_dos_time
	.type	mz_zip_get_file_modified_time, @function
mz_zip_get_file_modified_time:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -168[rbp], rdi
	mov	QWORD PTR -176[rbp], rsi
	mov	QWORD PTR -184[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	je	.L1047
	mov	eax, 0
	jmp	.L1049
.L1047:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR -176[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_zip_time_to_dos_time
	mov	eax, 1
.L1049:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1050
	call	__stack_chk_fail@PLT
.L1050:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	mz_zip_get_file_modified_time, .-mz_zip_get_file_modified_time
	.type	mz_zip_set_file_times, @function
mz_zip_set_file_times:
.LFB68:
	.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	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -24[rbp], rax
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	utime@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1053
	call	__stack_chk_fail@PLT
.L1053:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	mz_zip_set_file_times, .-mz_zip_set_file_times
	.type	mz_zip_reader_init_internal, @function
mz_zip_reader_init_internal:
.LFB69:
	.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	QWORD PTR -8[rbp], 0
	je	.L1055
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	jne	.L1055
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L1056
.L1055:
	mov	eax, 0
	jmp	.L1057
.L1056:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	jne	.L1058
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, def_alloc_func[rip]
	mov	QWORD PTR 32[rax], rdx
.L1058:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	jne	.L1059
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, def_free_func[rip]
	mov	QWORD PTR 40[rax], rdx
.L1059:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	jne	.L1060
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, def_realloc_func[rip]
	mov	QWORD PTR 48[rax], rdx
.L1060:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	edx, 128
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 88[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	jne	.L1061
	mov	eax, 0
	jmp	.L1057
.L1061:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	edx, 128
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	DWORD PTR 24[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	DWORD PTR 56[rax], 4
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	DWORD PTR 88[rax], 4
	mov	eax, 1
.L1057:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	mz_zip_reader_init_internal, .-mz_zip_reader_init_internal
	.type	mz_zip_reader_sort_central_dir_offsets_by_filename, @function
mz_zip_reader_sort_central_dir_offsets_by_filename:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -312[rbp], rdi
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 32
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -280[rbp], eax
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, 2
	sar	eax
	mov	DWORD PTR -296[rbp], eax
	jmp	.L1063
.L1092:
	mov	eax, DWORD PTR -296[rbp]
	mov	DWORD PTR -288[rbp], eax
.L1091:
	mov	eax, DWORD PTR -288[rbp]
	add	eax, eax
	add	eax, 1
	mov	DWORD PTR -264[rbp], eax
	mov	eax, DWORD PTR -264[rbp]
	cmp	eax, DWORD PTR -280[rbp]
	jge	.L1127
	mov	eax, DWORD PTR -264[rbp]
	add	eax, 1
	cmp	DWORD PTR -280[rbp], eax
	jle	.L1066
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -264[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -168[rbp]
	add	rdx, rcx
	mov	edx, DWORD PTR [rdx]
	mov	rcx, QWORD PTR -176[rbp]
	mov	QWORD PTR -160[rbp], rcx
	mov	rcx, QWORD PTR -184[rbp]
	mov	QWORD PTR -152[rbp], rcx
	mov	DWORD PTR -256[rbp], edx
	mov	DWORD PTR -252[rbp], eax
	mov	rax, QWORD PTR -160[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -256[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -252[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -248[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -244[rbp], eax
	mov	BYTE PTR -304[rbp], 0
	mov	BYTE PTR -303[rbp], 0
	add	QWORD PTR -144[rbp], 46
	add	QWORD PTR -136[rbp], 46
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -248[rbp], eax
	cmovbe	eax, DWORD PTR -248[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	QWORD PTR -128[rbp], rax
	jmp	.L1067
.L1074:
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jbe	.L1068
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	ja	.L1068
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	add	eax, 32
	jmp	.L1069
.L1068:
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
.L1069:
	mov	BYTE PTR -304[rbp], al
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jbe	.L1070
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	ja	.L1070
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	add	eax, 32
	jmp	.L1071
.L1070:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
.L1071:
	mov	BYTE PTR -303[rbp], al
	movzx	eax, BYTE PTR -304[rbp]
	cmp	al, BYTE PTR -303[rbp]
	jne	.L1128
	add	QWORD PTR -144[rbp], 1
	add	QWORD PTR -136[rbp], 1
.L1067:
	mov	rax, QWORD PTR -128[rbp]
	cmp	rax, QWORD PTR -144[rbp]
	ja	.L1074
	jmp	.L1073
.L1128:
	nop
.L1073:
	mov	rax, QWORD PTR -128[rbp]
	cmp	rax, QWORD PTR -144[rbp]
	jne	.L1075
	mov	eax, DWORD PTR -248[rbp]
	cmp	eax, DWORD PTR -244[rbp]
	setb	al
	movzx	eax, al
	jmp	.L1123
.L1075:
	movzx	eax, BYTE PTR -304[rbp]
	cmp	al, BYTE PTR -303[rbp]
	setb	al
	movzx	eax, al
.L1123:
	test	eax, eax
	je	.L1066
	mov	eax, 1
	jmp	.L1078
.L1066:
	mov	eax, 0
.L1078:
	add	DWORD PTR -264[rbp], eax
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -288[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -168[rbp]
	add	rdx, rcx
	mov	edx, DWORD PTR [rdx]
	mov	rcx, QWORD PTR -176[rbp]
	mov	QWORD PTR -120[rbp], rcx
	mov	rcx, QWORD PTR -184[rbp]
	mov	QWORD PTR -112[rbp], rcx
	mov	DWORD PTR -240[rbp], edx
	mov	DWORD PTR -236[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -240[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -236[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -232[rbp], eax
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -228[rbp], eax
	mov	BYTE PTR -302[rbp], 0
	mov	BYTE PTR -301[rbp], 0
	add	QWORD PTR -104[rbp], 46
	add	QWORD PTR -96[rbp], 46
	mov	eax, DWORD PTR -228[rbp]
	cmp	DWORD PTR -232[rbp], eax
	cmovbe	eax, DWORD PTR -232[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	QWORD PTR -88[rbp], rax
	jmp	.L1079
.L1086:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jbe	.L1080
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	ja	.L1080
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	add	eax, 32
	jmp	.L1081
.L1080:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
.L1081:
	mov	BYTE PTR -302[rbp], al
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jbe	.L1082
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	ja	.L1082
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, BYTE PTR [rax]
	add	eax, 32
	jmp	.L1083
.L1082:
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, BYTE PTR [rax]
.L1083:
	mov	BYTE PTR -301[rbp], al
	movzx	eax, BYTE PTR -302[rbp]
	cmp	al, BYTE PTR -301[rbp]
	jne	.L1129
	add	QWORD PTR -104[rbp], 1
	add	QWORD PTR -96[rbp], 1
.L1079:
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	ja	.L1086
	jmp	.L1085
.L1129:
	nop
.L1085:
	mov	rax, QWORD PTR -88[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jne	.L1087
	mov	eax, DWORD PTR -232[rbp]
	cmp	eax, DWORD PTR -228[rbp]
	setb	al
	movzx	eax, al
	jmp	.L1124
.L1087:
	movzx	eax, BYTE PTR -302[rbp]
	cmp	al, BYTE PTR -301[rbp]
	setb	al
	movzx	eax, al
.L1124:
	test	eax, eax
	je	.L1130
	mov	eax, DWORD PTR -288[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -260[rbp], eax
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -288[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -168[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -264[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -260[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -264[rbp]
	mov	DWORD PTR -288[rbp], eax
	jmp	.L1091
.L1127:
	nop
	jmp	.L1065
.L1130:
	nop
.L1065:
	sub	DWORD PTR -296[rbp], 1
.L1063:
	cmp	DWORD PTR -296[rbp], 0
	jns	.L1092
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, 1
	mov	DWORD PTR -292[rbp], eax
	jmp	.L1093
.L1122:
	mov	DWORD PTR -284[rbp], 0
	mov	eax, DWORD PTR -292[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -276[rbp], eax
	mov	eax, DWORD PTR -292[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -276[rbp]
	mov	DWORD PTR [rax], edx
.L1121:
	mov	eax, DWORD PTR -284[rbp]
	add	eax, eax
	add	eax, 1
	mov	DWORD PTR -272[rbp], eax
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, DWORD PTR -292[rbp]
	jge	.L1131
	mov	eax, DWORD PTR -272[rbp]
	add	eax, 1
	cmp	DWORD PTR -292[rbp], eax
	jle	.L1096
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -272[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -168[rbp]
	add	rdx, rcx
	mov	edx, DWORD PTR [rdx]
	mov	rcx, QWORD PTR -176[rbp]
	mov	QWORD PTR -80[rbp], rcx
	mov	rcx, QWORD PTR -184[rbp]
	mov	QWORD PTR -72[rbp], rcx
	mov	DWORD PTR -224[rbp], edx
	mov	DWORD PTR -220[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -224[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -220[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -216[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -212[rbp], eax
	mov	BYTE PTR -300[rbp], 0
	mov	BYTE PTR -299[rbp], 0
	add	QWORD PTR -64[rbp], 46
	add	QWORD PTR -56[rbp], 46
	mov	eax, DWORD PTR -212[rbp]
	cmp	DWORD PTR -216[rbp], eax
	cmovbe	eax, DWORD PTR -216[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1097
.L1104:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jbe	.L1098
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	ja	.L1098
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	add	eax, 32
	jmp	.L1099
.L1098:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
.L1099:
	mov	BYTE PTR -300[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jbe	.L1100
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	ja	.L1100
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	add	eax, 32
	jmp	.L1101
.L1100:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
.L1101:
	mov	BYTE PTR -299[rbp], al
	movzx	eax, BYTE PTR -300[rbp]
	cmp	al, BYTE PTR -299[rbp]
	jne	.L1132
	add	QWORD PTR -64[rbp], 1
	add	QWORD PTR -56[rbp], 1
.L1097:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -64[rbp]
	ja	.L1104
	jmp	.L1103
.L1132:
	nop
.L1103:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -64[rbp]
	jne	.L1105
	mov	eax, DWORD PTR -216[rbp]
	cmp	eax, DWORD PTR -212[rbp]
	setb	al
	movzx	eax, al
	jmp	.L1125
.L1105:
	movzx	eax, BYTE PTR -300[rbp]
	cmp	al, BYTE PTR -299[rbp]
	setb	al
	movzx	eax, al
.L1125:
	test	eax, eax
	je	.L1096
	mov	eax, 1
	jmp	.L1108
.L1096:
	mov	eax, 0
.L1108:
	add	DWORD PTR -272[rbp], eax
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -284[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -168[rbp]
	add	rdx, rcx
	mov	edx, DWORD PTR [rdx]
	mov	rcx, QWORD PTR -176[rbp]
	mov	QWORD PTR -40[rbp], rcx
	mov	rcx, QWORD PTR -184[rbp]
	mov	QWORD PTR -32[rbp], rcx
	mov	DWORD PTR -208[rbp], edx
	mov	DWORD PTR -204[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -208[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -204[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -200[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -196[rbp], eax
	mov	BYTE PTR -298[rbp], 0
	mov	BYTE PTR -297[rbp], 0
	add	QWORD PTR -24[rbp], 46
	add	QWORD PTR -16[rbp], 46
	mov	eax, DWORD PTR -196[rbp]
	cmp	DWORD PTR -200[rbp], eax
	cmovbe	eax, DWORD PTR -200[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1109
.L1116:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jbe	.L1110
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	ja	.L1110
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	add	eax, 32
	jmp	.L1111
.L1110:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
.L1111:
	mov	BYTE PTR -298[rbp], al
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jbe	.L1112
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	ja	.L1112
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	add	eax, 32
	jmp	.L1113
.L1112:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
.L1113:
	mov	BYTE PTR -297[rbp], al
	movzx	eax, BYTE PTR -298[rbp]
	cmp	al, BYTE PTR -297[rbp]
	jne	.L1133
	add	QWORD PTR -24[rbp], 1
	add	QWORD PTR -16[rbp], 1
.L1109:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	ja	.L1116
	jmp	.L1115
.L1133:
	nop
.L1115:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jne	.L1117
	mov	eax, DWORD PTR -200[rbp]
	cmp	eax, DWORD PTR -196[rbp]
	setb	al
	movzx	eax, al
	jmp	.L1126
.L1117:
	movzx	eax, BYTE PTR -298[rbp]
	cmp	al, BYTE PTR -297[rbp]
	setb	al
	movzx	eax, al
.L1126:
	test	eax, eax
	je	.L1134
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -268[rbp], eax
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -284[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -168[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -168[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -268[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -272[rbp]
	mov	DWORD PTR -284[rbp], eax
	jmp	.L1121
.L1131:
	nop
	jmp	.L1095
.L1134:
	nop
.L1095:
	sub	DWORD PTR -292[rbp], 1
.L1093:
	cmp	DWORD PTR -292[rbp], 0
	jg	.L1122
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	mz_zip_reader_sort_central_dir_offsets_by_filename, .-mz_zip_reader_sort_central_dir_offsets_by_filename
	.type	mz_zip_reader_read_central_dir, @function
mz_zip_reader_read_central_dir:
.LFB72:
	.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, 208
	mov	QWORD PTR -4296[rbp], rdi
	mov	DWORD PTR -4300[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -4112[rbp]
	mov	QWORD PTR -4200[rbp], rax
	mov	eax, DWORD PTR -4300[rbp]
	and	eax, 2048
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -4264[rbp], eax
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rax, 21
	ja	.L1136
	mov	eax, 0
	jmp	.L1183
.L1136:
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, 4096
	cmp	rax, 4096
	cmovl	rax, rdx
	sub	rax, 4096
	mov	QWORD PTR -4216[rbp], rax
.L1151:
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -4216[rbp]
	sub	rax, rdx
	cmp	rax, 4096
	ja	.L1138
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -4216[rbp]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	jmp	.L1139
.L1138:
	mov	eax, 4096
.L1139:
	mov	DWORD PTR -4260[rbp], eax
	mov	rax, QWORD PTR -4296[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4260[rbp]
	movsx	rcx, eax
	mov	rsi, QWORD PTR -4216[rbp]
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -4200[rbp]
	mov	rdi, rax
	call	r8
	mov	edx, DWORD PTR -4260[rbp]
	mov	edx, edx
	cmp	rax, rdx
	je	.L1140
	mov	eax, 0
	jmp	.L1183
.L1140:
	mov	eax, DWORD PTR -4260[rbp]
	sub	eax, 4
	mov	DWORD PTR -4276[rbp], eax
	jmp	.L1141
.L1144:
	mov	eax, DWORD PTR -4276[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -4200[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 101010256
	je	.L1186
	sub	DWORD PTR -4276[rbp], 1
.L1141:
	cmp	DWORD PTR -4276[rbp], 0
	jns	.L1144
	jmp	.L1143
.L1186:
	nop
.L1143:
	cmp	DWORD PTR -4276[rbp], 0
	js	.L1145
	mov	eax, DWORD PTR -4276[rbp]
	cdqe
	add	QWORD PTR -4216[rbp], rax
	nop
	mov	rax, QWORD PTR -4296[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	rsi, QWORD PTR -4216[rbp]
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -4200[rbp]
	mov	ecx, 22
	mov	rdi, rax
	call	r8
	cmp	rax, 22
	je	.L1152
	jmp	.L1185
.L1145:
	cmp	QWORD PTR -4216[rbp], 0
	je	.L1147
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -4216[rbp]
	sub	rax, rdx
	cmp	rax, 65556
	jbe	.L1148
.L1147:
	mov	eax, 0
	jmp	.L1183
.L1148:
	cmp	QWORD PTR -4216[rbp], 4093
	je	.L1149
	mov	rax, QWORD PTR -4216[rbp]
	sub	rax, 4093
	jmp	.L1150
.L1149:
	mov	eax, 0
.L1150:
	mov	QWORD PTR -4216[rbp], rax
	jmp	.L1151
.L1185:
	mov	eax, 0
	jmp	.L1183
.L1152:
	mov	rax, QWORD PTR -4200[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 101010256
	jne	.L1153
	mov	rax, QWORD PTR -4200[rbp]
	add	rax, 10
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -4296[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -4296[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -4200[rbp]
	add	rax, 8
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	cmp	edx, eax
	je	.L1154
.L1153:
	mov	eax, 0
	jmp	.L1183
.L1154:
	mov	rax, QWORD PTR -4200[rbp]
	add	rax, 4
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -4256[rbp], eax
	mov	rax, QWORD PTR -4200[rbp]
	add	rax, 6
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -4252[rbp], eax
	mov	eax, DWORD PTR -4256[rbp]
	or	eax, DWORD PTR -4252[rbp]
	test	eax, eax
	je	.L1155
	cmp	DWORD PTR -4256[rbp], 1
	jne	.L1156
	cmp	DWORD PTR -4252[rbp], 1
	je	.L1155
.L1156:
	mov	eax, 0
	jmp	.L1183
.L1155:
	mov	rax, QWORD PTR -4200[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -4248[rbp], eax
	mov	rax, QWORD PTR -4296[rbp]
	mov	eax, DWORD PTR 16[rax]
	imul	eax, eax, 46
	cmp	DWORD PTR -4248[rbp], eax
	jnb	.L1157
	mov	eax, 0
	jmp	.L1183
.L1157:
	mov	rax, QWORD PTR -4200[rbp]
	add	rax, 16
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	mov	QWORD PTR -4192[rbp], rax
	mov	edx, DWORD PTR -4248[rbp]
	mov	rax, QWORD PTR -4192[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jbe	.L1158
	mov	eax, 0
	jmp	.L1183
.L1158:
	mov	rax, QWORD PTR -4296[rbp]
	mov	rdx, QWORD PTR -4192[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -4296[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L1159
	mov	eax, DWORD PTR -4248[rbp]
	mov	rdx, QWORD PTR -4296[rbp]
	mov	rdx, QWORD PTR 88[rdx]
	mov	rcx, rdx
	mov	rdx, QWORD PTR -4296[rbp]
	mov	QWORD PTR -4184[rbp], rdx
	mov	QWORD PTR -4176[rbp], rcx
	mov	QWORD PTR -4168[rbp], rax
	mov	DWORD PTR -4228[rbp], 0
	mov	rax, QWORD PTR -4176[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -4168[rbp], rax
	jbe	.L1160
	mov	ecx, DWORD PTR -4228[rbp]
	mov	rdx, QWORD PTR -4168[rbp]
	mov	rsi, QWORD PTR -4176[rbp]
	mov	rax, QWORD PTR -4184[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1160
	mov	eax, 0
	jmp	.L1161
.L1160:
	mov	rax, QWORD PTR -4176[rbp]
	mov	rdx, QWORD PTR -4168[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1161:
	test	eax, eax
	je	.L1162
	mov	rax, QWORD PTR -4296[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	ecx, eax
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR 88[rax]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -4296[rbp]
	mov	QWORD PTR -4160[rbp], rax
	mov	QWORD PTR -4152[rbp], rdx
	mov	QWORD PTR -4144[rbp], rcx
	mov	DWORD PTR -4224[rbp], 0
	mov	rax, QWORD PTR -4152[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -4144[rbp], rax
	jbe	.L1163
	mov	ecx, DWORD PTR -4224[rbp]
	mov	rdx, QWORD PTR -4144[rbp]
	mov	rsi, QWORD PTR -4152[rbp]
	mov	rax, QWORD PTR -4160[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1163
	mov	eax, 0
	jmp	.L1164
.L1163:
	mov	rax, QWORD PTR -4152[rbp]
	mov	rdx, QWORD PTR -4144[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1164:
	test	eax, eax
	jne	.L1165
.L1162:
	mov	eax, 0
	jmp	.L1183
.L1165:
	cmp	DWORD PTR -4264[rbp], 0
	je	.L1166
	mov	rax, QWORD PTR -4296[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	ecx, eax
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR 88[rax]
	lea	rdx, 64[rax]
	mov	rax, QWORD PTR -4296[rbp]
	mov	QWORD PTR -4136[rbp], rax
	mov	QWORD PTR -4128[rbp], rdx
	mov	QWORD PTR -4120[rbp], rcx
	mov	DWORD PTR -4220[rbp], 0
	mov	rax, QWORD PTR -4128[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -4120[rbp], rax
	jbe	.L1167
	mov	ecx, DWORD PTR -4220[rbp]
	mov	rdx, QWORD PTR -4120[rbp]
	mov	rsi, QWORD PTR -4128[rbp]
	mov	rax, QWORD PTR -4136[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1167
	mov	eax, 0
	jmp	.L1168
.L1167:
	mov	rax, QWORD PTR -4128[rbp]
	mov	rdx, QWORD PTR -4120[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1168:
	test	eax, eax
	jne	.L1166
	mov	eax, 0
	jmp	.L1183
.L1166:
	mov	rax, QWORD PTR -4296[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	ecx, DWORD PTR -4248[rbp]
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rsi, QWORD PTR -4192[rbp]
	mov	rdi, rax
	call	r8
	mov	edx, DWORD PTR -4248[rbp]
	cmp	rax, rdx
	je	.L1169
	mov	eax, 0
	jmp	.L1183
.L1169:
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -4208[rbp], rax
	mov	eax, DWORD PTR -4248[rbp]
	mov	DWORD PTR -4268[rbp], eax
	mov	DWORD PTR -4272[rbp], 0
	jmp	.L1170
.L1181:
	cmp	DWORD PTR -4268[rbp], 45
	jbe	.L1171
	mov	rax, QWORD PTR -4208[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 33639248
	je	.L1172
.L1171:
	mov	eax, 0
	jmp	.L1183
.L1172:
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -4208[rbp]
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -4272[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	DWORD PTR [rax], edx
	cmp	DWORD PTR -4264[rbp], 0
	je	.L1173
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -4272[rbp]
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -4272[rbp]
	mov	DWORD PTR [rdx], eax
.L1173:
	mov	rax, QWORD PTR -4208[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -4244[rbp], eax
	mov	rax, QWORD PTR -4208[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -4240[rbp], eax
	mov	rax, QWORD PTR -4208[rbp]
	add	rax, 10
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1174
	mov	eax, DWORD PTR -4240[rbp]
	cmp	eax, DWORD PTR -4244[rbp]
	jne	.L1175
.L1174:
	cmp	DWORD PTR -4240[rbp], 0
	je	.L1176
	cmp	DWORD PTR -4244[rbp], 0
	je	.L1175
.L1176:
	cmp	DWORD PTR -4240[rbp], -1
	je	.L1175
	cmp	DWORD PTR -4244[rbp], -1
	jne	.L1177
.L1175:
	mov	eax, 0
	jmp	.L1183
.L1177:
	mov	rax, QWORD PTR -4208[rbp]
	add	rax, 34
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -4236[rbp], eax
	mov	eax, DWORD PTR -4236[rbp]
	cmp	eax, DWORD PTR -4256[rbp]
	je	.L1178
	cmp	DWORD PTR -4236[rbp], 1
	je	.L1178
	mov	eax, 0
	jmp	.L1183
.L1178:
	mov	rax, QWORD PTR -4208[rbp]
	add	rax, 42
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	mov	eax, DWORD PTR -4244[rbp]
	add	rax, rdx
	lea	rdx, 30[rax]
	mov	rax, QWORD PTR -4296[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jbe	.L1179
	mov	eax, 0
	jmp	.L1183
.L1179:
	mov	rax, QWORD PTR -4208[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	lea	edx, 46[rax]
	mov	rax, QWORD PTR -4208[rbp]
	add	rax, 30
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	add	edx, eax
	mov	rax, QWORD PTR -4208[rbp]
	add	rax, 32
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	add	eax, edx
	mov	DWORD PTR -4232[rbp], eax
	mov	eax, DWORD PTR -4232[rbp]
	cmp	eax, DWORD PTR -4268[rbp]
	jbe	.L1180
	mov	eax, 0
	jmp	.L1183
.L1180:
	mov	eax, DWORD PTR -4232[rbp]
	sub	DWORD PTR -4268[rbp], eax
	mov	eax, DWORD PTR -4232[rbp]
	add	QWORD PTR -4208[rbp], rax
	add	DWORD PTR -4272[rbp], 1
.L1170:
	mov	rax, QWORD PTR -4296[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -4272[rbp], eax
	jb	.L1181
.L1159:
	cmp	DWORD PTR -4264[rbp], 0
	je	.L1182
	mov	rax, QWORD PTR -4296[rbp]
	mov	rdi, rax
	call	mz_zip_reader_sort_central_dir_offsets_by_filename
.L1182:
	mov	eax, 1
.L1183:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1184
	call	__stack_chk_fail@PLT
.L1184:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	mz_zip_reader_read_central_dir, .-mz_zip_reader_read_central_dir
	.globl	mz_zip_reader_init
	.type	mz_zip_reader_init, @function
mz_zip_reader_init:
.LFB73:
	.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	DWORD PTR -20[rbp], edx
	cmp	QWORD PTR -8[rbp], 0
	je	.L1188
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	jne	.L1189
.L1188:
	mov	eax, 0
	jmp	.L1190
.L1189:
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	mz_zip_reader_init_internal
	test	eax, eax
	jne	.L1191
	mov	eax, 0
	jmp	.L1190
.L1191:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	mz_zip_reader_read_central_dir
	test	eax, eax
	jne	.L1192
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	mz_zip_reader_end
	mov	eax, 0
	jmp	.L1190
.L1192:
	mov	eax, 1
.L1190:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	mz_zip_reader_init, .-mz_zip_reader_init
	.type	mz_zip_mem_read_func, @function
mz_zip_mem_read_func:
.LFB74:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	jnb	.L1194
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	sub	rax, QWORD PTR -32[rbp]
	cmp	QWORD PTR -48[rbp], rax
	cmovbe	rax, QWORD PTR -48[rbp]
	jmp	.L1195
.L1194:
	mov	eax, 0
.L1195:
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 104[rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, [rdx+rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	mz_zip_mem_read_func, .-mz_zip_mem_read_func
	.globl	mz_zip_reader_init_mem
	.type	mz_zip_reader_init_mem, @function
mz_zip_reader_init_mem:
.LFB75:
	.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	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	mz_zip_reader_init_internal
	test	eax, eax
	jne	.L1198
	mov	eax, 0
	jmp	.L1199
.L1198:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, mz_zip_mem_read_func[rip]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 80[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 104[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 112[rax], rdx
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	mz_zip_reader_read_central_dir
	test	eax, eax
	jne	.L1200
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	mz_zip_reader_end
	mov	eax, 0
	jmp	.L1199
.L1200:
	mov	eax, 1
.L1199:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	mz_zip_reader_init_mem, .-mz_zip_reader_init_mem
	.type	mz_zip_file_read_func, @function
mz_zip_file_read_func:
.LFB76:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 96[rax]
	mov	rdi, rax
	call	ftello@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	js	.L1202
	mov	rax, QWORD PTR -32[rbp]
	cmp	QWORD PTR -8[rbp], rax
	je	.L1203
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	fseeko@PLT
	test	eax, eax
	je	.L1203
.L1202:
	mov	eax, 0
	jmp	.L1204
.L1203:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 96[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
.L1204:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	mz_zip_file_read_func, .-mz_zip_file_read_func
	.section	.rodata
.LC20:
	.string	"rb"
	.text
	.globl	mz_zip_reader_init_file
	.type	mz_zip_reader_init_file, @function
mz_zip_reader_init_file:
.LFB77:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1206
	mov	eax, 0
	jmp	.L1207
.L1206:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 2
	mov	esi, 0
	mov	rdi, rax
	call	fseeko@PLT
	test	eax, eax
	je	.L1208
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L1207
.L1208:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	ftello@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	mz_zip_reader_init_internal
	test	eax, eax
	jne	.L1209
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L1207
.L1209:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, mz_zip_file_read_func[rip]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 80[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 96[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	mz_zip_reader_read_central_dir
	test	eax, eax
	jne	.L1210
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	mz_zip_reader_end
	mov	eax, 0
	jmp	.L1207
.L1210:
	mov	eax, 1
.L1207:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	mz_zip_reader_init_file, .-mz_zip_reader_init_file
	.globl	mz_zip_reader_get_num_files
	.type	mz_zip_reader_get_num_files, @function
mz_zip_reader_get_num_files:
.LFB78:
	.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
	cmp	QWORD PTR -8[rbp], 0
	je	.L1212
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	jmp	.L1214
.L1212:
	mov	eax, 0
.L1214:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	mz_zip_reader_get_num_files, .-mz_zip_reader_get_num_files
	.globl	mz_zip_reader_is_file_encrypted
	.type	mz_zip_reader_is_file_encrypted, @function
mz_zip_reader_is_file_encrypted:
.LFB80:
	.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
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -20[rbp], eax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1216
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1216
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -20[rbp], eax
	jnb	.L1216
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 1
	je	.L1217
.L1216:
	mov	eax, 0
	jmp	.L1218
.L1217:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
.L1218:
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1219
	mov	eax, 0
	jmp	.L1220
.L1219:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 1
.L1220:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	mz_zip_reader_is_file_encrypted, .-mz_zip_reader_is_file_encrypted
	.globl	mz_zip_reader_is_file_a_directory
	.type	mz_zip_reader_is_file_a_directory, @function
mz_zip_reader_is_file_a_directory:
.LFB81:
	.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
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -20[rbp], eax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1222
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1222
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -20[rbp], eax
	jnb	.L1222
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 1
	je	.L1223
.L1222:
	mov	eax, 0
	jmp	.L1224
.L1223:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
.L1224:
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1225
	mov	eax, 0
	jmp	.L1226
.L1225:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	je	.L1227
	mov	eax, DWORD PTR -28[rbp]
	lea	rdx, 45[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L1227
	mov	eax, 1
	jmp	.L1226
.L1227:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 38[rax]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 16
	test	eax, eax
	je	.L1228
	mov	eax, 1
	jmp	.L1226
.L1228:
	mov	eax, 0
.L1226:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	mz_zip_reader_is_file_a_directory, .-mz_zip_reader_is_file_a_directory
	.globl	mz_zip_reader_file_stat
	.type	mz_zip_reader_file_stat, @function
mz_zip_reader_file_stat:
.LFB82:
	.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 -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -20[rbp], eax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1230
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1230
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -20[rbp], eax
	jnb	.L1230
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 1
	je	.L1231
.L1230:
	mov	eax, 0
	jmp	.L1232
.L1231:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
.L1232:
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L1233
	cmp	QWORD PTR -56[rbp], 0
	jne	.L1234
.L1233:
	mov	eax, 0
	jmp	.L1235
.L1234:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, WORD PTR 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 8[rax], dx
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, WORD PTR 6[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 10[rax], dx
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, WORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 12[rax], dx
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, WORD PTR 10[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 14[rax], dx
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 14
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 12
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	esi, edx
	mov	edi, eax
	call	mz_zip_dos_to_time_t
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 20
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 24
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, WORD PTR 36[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	WORD PTR 48[rax], dx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 38[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 52[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 42
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -24[rbp], eax
	mov	eax, 259
	cmp	DWORD PTR -24[rbp], 259
	cmovbe	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	lea	rsi, 46[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	lea	rcx, 68[rdx]
	mov	rdx, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	BYTE PTR 68[rdx+rax], 0
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 32
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -24[rbp], eax
	mov	eax, 255
	cmp	DWORD PTR -24[rbp], 255
	cmovbe	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	eax, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 28
	movzx	edx, WORD PTR [rdx]
	movzx	ecx, dx
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 30
	movzx	edx, WORD PTR [rdx]
	movzx	edx, dx
	add	rdx, rcx
	lea	rcx, 46[rdx]
	mov	rdx, QWORD PTR -16[rbp]
	lea	rsi, [rcx+rdx]
	mov	rdx, QWORD PTR -56[rbp]
	lea	rcx, 328[rdx]
	mov	rdx, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	BYTE PTR 328[rdx+rax], 0
	mov	eax, 1
.L1235:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	mz_zip_reader_file_stat, .-mz_zip_reader_file_stat
	.globl	mz_zip_reader_get_filename
	.type	mz_zip_reader_get_filename, @function
mz_zip_reader_get_filename:
.LFB83:
	.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	DWORD PTR -48[rbp], ecx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -20[rbp], eax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1237
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1237
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -20[rbp], eax
	jnb	.L1237
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 1
	je	.L1238
.L1237:
	mov	eax, 0
	jmp	.L1239
.L1238:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
.L1239:
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1240
	cmp	DWORD PTR -48[rbp], 0
	je	.L1241
	mov	rax, QWORD PTR -56[rbp]
	mov	BYTE PTR [rax], 0
.L1241:
	mov	eax, 0
	jmp	.L1242
.L1240:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	je	.L1243
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, 1
	cmp	DWORD PTR -24[rbp], eax
	cmovbe	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	lea	rcx, 46[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L1243:
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
.L1242:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	mz_zip_reader_get_filename, .-mz_zip_reader_get_filename
	.type	mz_zip_reader_locate_file_binary_search, @function
mz_zip_reader_locate_file_binary_search:
.LFB86:
	.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	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 32
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -100[rbp], eax
	mov	DWORD PTR -112[rbp], 0
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, 1
	mov	DWORD PTR -108[rbp], eax
	jmp	.L1245
.L1260:
	mov	edx, DWORD PTR -112[rbp]
	mov	eax, DWORD PTR -108[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -96[rbp], eax
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -92[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR -32[rbp], rdx
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -84[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -76[rbp], eax
	mov	BYTE PTR -114[rbp], 0
	mov	BYTE PTR -113[rbp], 0
	add	QWORD PTR -16[rbp], 46
	mov	eax, DWORD PTR -76[rbp]
	cmp	DWORD PTR -80[rbp], eax
	cmovbe	eax, DWORD PTR -80[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1246
.L1253:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jbe	.L1247
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	ja	.L1247
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	add	eax, 32
	jmp	.L1248
.L1247:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
.L1248:
	mov	BYTE PTR -114[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jle	.L1249
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jg	.L1249
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	add	eax, 32
	jmp	.L1250
.L1249:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
.L1250:
	mov	BYTE PTR -113[rbp], al
	movzx	eax, BYTE PTR -114[rbp]
	cmp	al, BYTE PTR -113[rbp]
	jne	.L1262
	add	QWORD PTR -16[rbp], 1
	add	QWORD PTR -24[rbp], 1
.L1246:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	ja	.L1253
	jmp	.L1252
.L1262:
	nop
.L1252:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jne	.L1254
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, DWORD PTR -80[rbp]
	jmp	.L1261
.L1254:
	movzx	eax, BYTE PTR -114[rbp]
	movzx	edx, BYTE PTR -113[rbp]
	sub	eax, edx
.L1261:
	mov	DWORD PTR -88[rbp], eax
	cmp	DWORD PTR -88[rbp], 0
	jne	.L1257
	mov	eax, DWORD PTR -92[rbp]
	jmp	.L1258
.L1257:
	cmp	DWORD PTR -88[rbp], 0
	jns	.L1259
	mov	eax, DWORD PTR -96[rbp]
	add	eax, 1
	mov	DWORD PTR -112[rbp], eax
	jmp	.L1245
.L1259:
	mov	eax, DWORD PTR -96[rbp]
	sub	eax, 1
	mov	DWORD PTR -108[rbp], eax
.L1245:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jle	.L1260
	mov	eax, -1
.L1258:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	mz_zip_reader_locate_file_binary_search, .-mz_zip_reader_locate_file_binary_search
	.globl	mz_zip_reader_locate_file
	.type	mz_zip_reader_locate_file, @function
mz_zip_reader_locate_file:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	QWORD PTR -152[rbp], rdx
	mov	DWORD PTR -156[rbp], ecx
	cmp	QWORD PTR -136[rbp], 0
	je	.L1264
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1264
	cmp	QWORD PTR -144[rbp], 0
	je	.L1264
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 1
	je	.L1265
.L1264:
	mov	eax, -1
	jmp	.L1266
.L1265:
	mov	eax, DWORD PTR -156[rbp]
	and	eax, 768
	test	eax, eax
	jne	.L1267
	cmp	QWORD PTR -152[rbp], 0
	jne	.L1267
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L1267
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	mz_zip_reader_locate_file_binary_search
	jmp	.L1266
.L1267:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 65535
	jbe	.L1268
	mov	eax, -1
	jmp	.L1266
.L1268:
	cmp	QWORD PTR -152[rbp], 0
	je	.L1269
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	strlen@PLT
	jmp	.L1270
.L1269:
	mov	eax, 0
.L1270:
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 65535
	jbe	.L1271
	mov	eax, -1
	jmp	.L1266
.L1271:
	mov	DWORD PTR -116[rbp], 0
	jmp	.L1272
.L1298:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -116[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -112[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 46
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -112[rbp]
	cmp	QWORD PTR -64[rbp], rax
	ja	.L1299
	cmp	QWORD PTR -56[rbp], 0
	je	.L1275
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 30
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 32
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -100[rbp], eax
	mov	edx, DWORD PTR -112[rbp]
	mov	eax, DWORD PTR -104[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -100[rbp]
	cmp	QWORD PTR -56[rbp], rax
	jne	.L1300
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR -96[rbp], eax
	mov	eax, DWORD PTR -156[rbp]
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 256
	test	eax, eax
	je	.L1277
	mov	edx, DWORD PTR -96[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	jmp	.L1278
.L1277:
	mov	DWORD PTR -88[rbp], 0
	jmp	.L1279
.L1285:
	mov	edx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jle	.L1280
	mov	edx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jg	.L1280
	mov	edx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	lea	edx, 32[rax]
	jmp	.L1281
.L1280:
	mov	edx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
.L1281:
	mov	ecx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jle	.L1282
	mov	ecx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jg	.L1282
	mov	ecx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, 32
	jmp	.L1283
.L1282:
	mov	ecx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
.L1283:
	cmp	edx, eax
	je	.L1284
	mov	eax, 0
	jmp	.L1278
.L1284:
	add	DWORD PTR -88[rbp], 1
.L1279:
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, DWORD PTR -88[rbp]
	ja	.L1285
	mov	eax, 1
.L1278:
	test	eax, eax
	je	.L1300
.L1275:
	mov	eax, DWORD PTR -156[rbp]
	and	eax, 512
	test	eax, eax
	je	.L1286
	cmp	DWORD PTR -112[rbp], 0
	je	.L1286
	mov	eax, DWORD PTR -112[rbp]
	sub	eax, 1
	mov	DWORD PTR -108[rbp], eax
.L1288:
	mov	eax, DWORD PTR -108[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L1287
	mov	eax, DWORD PTR -108[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	je	.L1287
	mov	eax, DWORD PTR -108[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L1287
	sub	DWORD PTR -108[rbp], 1
	cmp	DWORD PTR -108[rbp], 0
	jns	.L1288
.L1287:
	add	DWORD PTR -108[rbp], 1
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -108[rbp]
	sub	DWORD PTR -112[rbp], eax
.L1286:
	mov	eax, DWORD PTR -112[rbp]
	cmp	QWORD PTR -64[rbp], rax
	jne	.L1274
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -112[rbp]
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -156[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	and	eax, 256
	test	eax, eax
	je	.L1289
	mov	edx, DWORD PTR -84[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	jmp	.L1290
.L1289:
	mov	DWORD PTR -76[rbp], 0
	jmp	.L1291
.L1297:
	mov	edx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jle	.L1292
	mov	edx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jg	.L1292
	mov	edx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	lea	edx, 32[rax]
	jmp	.L1293
.L1292:
	mov	edx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
.L1293:
	mov	ecx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jle	.L1294
	mov	ecx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jg	.L1294
	mov	ecx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	add	eax, 32
	jmp	.L1295
.L1294:
	mov	ecx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
.L1295:
	cmp	edx, eax
	je	.L1296
	mov	eax, 0
	jmp	.L1290
.L1296:
	add	DWORD PTR -76[rbp], 1
.L1291:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	ja	.L1297
	mov	eax, 1
.L1290:
	test	eax, eax
	je	.L1274
	mov	eax, DWORD PTR -116[rbp]
	jmp	.L1266
.L1299:
	nop
	jmp	.L1274
.L1300:
	nop
.L1274:
	add	DWORD PTR -116[rbp], 1
.L1272:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -116[rbp], eax
	jb	.L1298
	mov	eax, -1
.L1266:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	mz_zip_reader_locate_file, .-mz_zip_reader_locate_file
	.globl	mz_zip_reader_extract_to_mem_no_alloc
	.type	mz_zip_reader_extract_to_mem_no_alloc, @function
mz_zip_reader_extract_to_mem_no_alloc:
.LFB88:
	.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, 3584
	mov	QWORD PTR -11736[rbp], rdi
	mov	DWORD PTR -11740[rbp], esi
	mov	QWORD PTR -11752[rbp], rdx
	mov	QWORD PTR -11760[rbp], rcx
	mov	DWORD PTR -11744[rbp], r8d
	mov	QWORD PTR -11768[rbp], r9
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -11724[rbp], 0
	mov	QWORD PTR -11688[rbp], 0
	mov	QWORD PTR -11672[rbp], 0
	lea	rax, -11632[rbp]
	mov	QWORD PTR -11648[rbp], rax
	cmp	QWORD PTR -11760[rbp], 0
	je	.L1302
	cmp	QWORD PTR -11752[rbp], 0
	jne	.L1302
	mov	eax, 0
	jmp	.L1335
.L1302:
	lea	rdx, -11600[rbp]
	mov	ecx, DWORD PTR -11740[rbp]
	mov	rax, QWORD PTR -11736[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	mz_zip_reader_file_stat
	test	eax, eax
	jne	.L1304
	mov	eax, 0
	jmp	.L1335
.L1304:
	mov	rax, QWORD PTR -11568[rbp]
	test	rax, rax
	jne	.L1305
	mov	eax, 1
	jmp	.L1335
.L1305:
	mov	edx, DWORD PTR -11740[rbp]
	mov	rax, QWORD PTR -11736[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	mz_zip_reader_is_file_a_directory
	test	eax, eax
	je	.L1306
	mov	eax, 1
	jmp	.L1335
.L1306:
	movzx	eax, WORD PTR -11588[rbp]
	movzx	eax, ax
	and	eax, 33
	test	eax, eax
	je	.L1307
	mov	eax, 0
	jmp	.L1335
.L1307:
	mov	eax, DWORD PTR -11744[rbp]
	and	eax, 1024
	test	eax, eax
	jne	.L1308
	movzx	eax, WORD PTR -11586[rbp]
	test	ax, ax
	je	.L1308
	movzx	eax, WORD PTR -11586[rbp]
	cmp	ax, 8
	je	.L1308
	mov	eax, 0
	jmp	.L1335
.L1308:
	mov	eax, DWORD PTR -11744[rbp]
	and	eax, 1024
	test	eax, eax
	je	.L1309
	mov	rax, QWORD PTR -11568[rbp]
	jmp	.L1310
.L1309:
	mov	rax, QWORD PTR -11560[rbp]
.L1310:
	mov	QWORD PTR -11640[rbp], rax
	mov	rax, QWORD PTR -11760[rbp]
	cmp	rax, QWORD PTR -11640[rbp]
	jnb	.L1311
	mov	eax, 0
	jmp	.L1335
.L1311:
	mov	rax, QWORD PTR -11544[rbp]
	mov	QWORD PTR -11704[rbp], rax
	mov	rax, QWORD PTR -11736[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -11736[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -11648[rbp]
	mov	rsi, QWORD PTR -11704[rbp]
	mov	ecx, 30
	mov	rdi, rax
	call	r8
	cmp	rax, 30
	je	.L1312
	mov	eax, 0
	jmp	.L1335
.L1312:
	mov	rax, QWORD PTR -11648[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 67324752
	je	.L1313
	mov	eax, 0
	jmp	.L1335
.L1313:
	mov	rax, QWORD PTR -11648[rbp]
	add	rax, 26
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	lea	edx, 30[rax]
	mov	rax, QWORD PTR -11648[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	add	eax, edx
	cdqe
	add	QWORD PTR -11704[rbp], rax
	mov	rdx, QWORD PTR -11568[rbp]
	mov	rax, QWORD PTR -11704[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -11736[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jbe	.L1314
	mov	eax, 0
	jmp	.L1335
.L1314:
	mov	eax, DWORD PTR -11744[rbp]
	and	eax, 1024
	test	eax, eax
	jne	.L1315
	movzx	eax, WORD PTR -11586[rbp]
	test	ax, ax
	jne	.L1316
.L1315:
	mov	rax, QWORD PTR -11736[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -11736[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rcx, QWORD PTR -11640[rbp]
	mov	rdx, QWORD PTR -11752[rbp]
	mov	rsi, QWORD PTR -11704[rbp]
	mov	rdi, rax
	call	r8
	cmp	QWORD PTR -11640[rbp], rax
	je	.L1317
	mov	eax, 0
	jmp	.L1335
.L1317:
	mov	eax, DWORD PTR -11744[rbp]
	and	eax, 1024
	test	eax, eax
	jne	.L1318
	mov	rdx, QWORD PTR -11560[rbp]
	mov	rax, QWORD PTR -11752[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	mz_crc32
	mov	edx, DWORD PTR -11576[rbp]
	mov	edx, edx
	cmp	rax, rdx
	jne	.L1319
.L1318:
	mov	eax, 1
	jmp	.L1335
.L1319:
	mov	eax, 0
	jmp	.L1335
.L1316:
	mov	DWORD PTR -11008[rbp], 0
	mov	rax, QWORD PTR -11736[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	je	.L1321
	mov	rax, QWORD PTR -11736[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 104[rax]
	mov	rax, QWORD PTR -11704[rbp]
	add	rax, rdx
	mov	QWORD PTR -11656[rbp], rax
	mov	rax, QWORD PTR -11568[rbp]
	mov	QWORD PTR -11664[rbp], rax
	mov	rax, QWORD PTR -11664[rbp]
	mov	QWORD PTR -11680[rbp], rax
	mov	QWORD PTR -11696[rbp], 0
	jmp	.L1331
.L1321:
	cmp	QWORD PTR -11768[rbp], 0
	je	.L1323
	cmp	QWORD PTR 16[rbp], 0
	jne	.L1324
	mov	eax, 0
	jmp	.L1335
.L1324:
	mov	rax, QWORD PTR -11768[rbp]
	mov	QWORD PTR -11656[rbp], rax
	mov	rax, QWORD PTR 16[rbp]
	mov	QWORD PTR -11680[rbp], rax
	mov	QWORD PTR -11664[rbp], 0
	mov	rax, QWORD PTR -11568[rbp]
	mov	QWORD PTR -11696[rbp], rax
	jmp	.L1331
.L1323:
	mov	rax, QWORD PTR -11568[rbp]
	mov	edx, 65536
	cmp	rax, 65536
	cmova	rax, rdx
	mov	QWORD PTR -11680[rbp], rax
	mov	rax, QWORD PTR -11736[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -11736[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -11680[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -11656[rbp], rax
	cmp	QWORD PTR -11656[rbp], 0
	jne	.L1325
	mov	eax, 0
	jmp	.L1335
.L1325:
	mov	QWORD PTR -11664[rbp], 0
	mov	rax, QWORD PTR -11568[rbp]
	mov	QWORD PTR -11696[rbp], rax
.L1331:
	mov	rax, QWORD PTR -11560[rbp]
	sub	rax, QWORD PTR -11688[rbp]
	mov	QWORD PTR -11712[rbp], rax
	cmp	QWORD PTR -11664[rbp], 0
	jne	.L1326
	mov	rax, QWORD PTR -11736[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	jne	.L1326
	mov	rax, QWORD PTR -11680[rbp]
	cmp	QWORD PTR -11696[rbp], rax
	cmovbe	rax, QWORD PTR -11696[rbp]
	mov	QWORD PTR -11664[rbp], rax
	mov	rax, QWORD PTR -11736[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -11736[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rcx, QWORD PTR -11664[rbp]
	mov	rdx, QWORD PTR -11656[rbp]
	mov	rsi, QWORD PTR -11704[rbp]
	mov	rdi, rax
	call	r8
	cmp	QWORD PTR -11664[rbp], rax
	je	.L1327
	mov	DWORD PTR -11724[rbp], -1
	jmp	.L1328
.L1327:
	mov	rax, QWORD PTR -11664[rbp]
	add	QWORD PTR -11704[rbp], rax
	mov	rax, QWORD PTR -11664[rbp]
	sub	QWORD PTR -11696[rbp], rax
	mov	QWORD PTR -11672[rbp], 0
.L1326:
	mov	rax, QWORD PTR -11664[rbp]
	mov	QWORD PTR -11720[rbp], rax
	cmp	QWORD PTR -11696[rbp], 0
	je	.L1329
	mov	r9d, 6
	jmp	.L1330
.L1329:
	mov	r9d, 4
.L1330:
	mov	rdx, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR -11688[rbp]
	lea	r8, [rdx+rax]
	mov	rdx, QWORD PTR -11656[rbp]
	mov	rax, QWORD PTR -11672[rbp]
	lea	rsi, [rdx+rax]
	lea	rdi, -11712[rbp]
	mov	rcx, QWORD PTR -11752[rbp]
	lea	rdx, -11720[rbp]
	lea	rax, -11008[rbp]
	sub	rsp, 8
	push	r9
	mov	r9, rdi
	mov	rdi, rax
	call	tinfl_decompress
	add	rsp, 16
	mov	DWORD PTR -11724[rbp], eax
	mov	rax, QWORD PTR -11720[rbp]
	sub	QWORD PTR -11664[rbp], rax
	mov	rax, QWORD PTR -11720[rbp]
	add	QWORD PTR -11672[rbp], rax
	mov	rax, QWORD PTR -11712[rbp]
	add	QWORD PTR -11688[rbp], rax
	cmp	DWORD PTR -11724[rbp], 1
	je	.L1331
.L1328:
	cmp	DWORD PTR -11724[rbp], 0
	jne	.L1332
	mov	rax, QWORD PTR -11560[rbp]
	cmp	QWORD PTR -11688[rbp], rax
	jne	.L1333
	mov	rdx, QWORD PTR -11560[rbp]
	mov	rax, QWORD PTR -11752[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	mz_crc32
	mov	edx, DWORD PTR -11576[rbp]
	mov	edx, edx
	cmp	rax, rdx
	je	.L1332
.L1333:
	mov	DWORD PTR -11724[rbp], -1
.L1332:
	mov	rax, QWORD PTR -11736[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	jne	.L1334
	cmp	QWORD PTR -11768[rbp], 0
	jne	.L1334
	mov	rax, QWORD PTR -11736[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -11736[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -11656[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1334:
	cmp	DWORD PTR -11724[rbp], 0
	sete	al
	movzx	eax, al
.L1335:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1336
	call	__stack_chk_fail@PLT
.L1336:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	mz_zip_reader_extract_to_mem_no_alloc, .-mz_zip_reader_extract_to_mem_no_alloc
	.globl	mz_zip_reader_extract_file_to_mem_no_alloc
	.type	mz_zip_reader_extract_file_to_mem_no_alloc, @function
mz_zip_reader_extract_file_to_mem_no_alloc:
.LFB89:
	.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
	mov	QWORD PTR -64[rbp], r9
	mov	edx, DWORD PTR -52[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	mz_zip_reader_locate_file
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jns	.L1338
	mov	eax, 0
	jmp	.L1339
.L1338:
	mov	esi, DWORD PTR -4[rbp]
	mov	r8, QWORD PTR -64[rbp]
	mov	edi, DWORD PTR -52[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	sub	rsp, 8
	push	QWORD PTR 16[rbp]
	mov	r9, r8
	mov	r8d, edi
	mov	rdi, rax
	call	mz_zip_reader_extract_to_mem_no_alloc
	add	rsp, 16
.L1339:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	mz_zip_reader_extract_file_to_mem_no_alloc, .-mz_zip_reader_extract_file_to_mem_no_alloc
	.globl	mz_zip_reader_extract_to_mem
	.type	mz_zip_reader_extract_to_mem, @function
mz_zip_reader_extract_to_mem:
.LFB90:
	.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	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	DWORD PTR -16[rbp], r8d
	mov	edi, DWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, 0
	mov	r8d, edi
	mov	rdi, rax
	call	mz_zip_reader_extract_to_mem_no_alloc
	add	rsp, 16
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	mz_zip_reader_extract_to_mem, .-mz_zip_reader_extract_to_mem
	.globl	mz_zip_reader_extract_file_to_mem
	.type	mz_zip_reader_extract_file_to_mem, @function
mz_zip_reader_extract_file_to_mem:
.LFB91:
	.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	DWORD PTR -36[rbp], r8d
	mov	edi, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, 0
	mov	r8d, edi
	mov	rdi, rax
	call	mz_zip_reader_extract_file_to_mem_no_alloc
	add	rsp, 16
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	mz_zip_reader_extract_file_to_mem, .-mz_zip_reader_extract_file_to_mem
	.globl	mz_zip_reader_extract_to_heap
	.type	mz_zip_reader_extract_to_heap, @function
mz_zip_reader_extract_to_heap:
.LFB92:
	.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 -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	DWORD PTR -80[rbp], ecx
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -52[rbp], eax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1345
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1345
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -52[rbp], eax
	jnb	.L1345
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 1
	je	.L1346
.L1345:
	mov	eax, 0
	jmp	.L1347
.L1346:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -52[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
.L1347:
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	je	.L1348
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], 0
.L1348:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1349
	mov	eax, 0
	jmp	.L1350
.L1349:
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 20
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 24
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	and	eax, 1024
	test	eax, eax
	je	.L1351
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L1352
.L1351:
	mov	rax, QWORD PTR -32[rbp]
.L1352:
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1353
	mov	eax, 0
	jmp	.L1350
.L1353:
	mov	edi, DWORD PTR -80[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	esi, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	mz_zip_reader_extract_to_mem
	test	eax, eax
	jne	.L1354
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, 0
	jmp	.L1350
.L1354:
	cmp	QWORD PTR -88[rbp], 0
	je	.L1355
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
.L1355:
	mov	rax, QWORD PTR -16[rbp]
.L1350:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	mz_zip_reader_extract_to_heap, .-mz_zip_reader_extract_to_heap
	.globl	mz_zip_reader_extract_file_to_heap
	.type	mz_zip_reader_extract_file_to_heap, @function
mz_zip_reader_extract_file_to_heap:
.LFB93:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	edx, DWORD PTR -44[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	mz_zip_reader_locate_file
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jns	.L1357
	cmp	QWORD PTR -40[rbp], 0
	je	.L1358
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
.L1358:
	mov	eax, 0
	jmp	.L1359
.L1357:
	mov	esi, DWORD PTR -4[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	mz_zip_reader_extract_to_heap
.L1359:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	mz_zip_reader_extract_file_to_heap, .-mz_zip_reader_extract_file_to_heap
	.globl	mz_zip_reader_extract_to_callback
	.type	mz_zip_reader_extract_to_callback, @function
mz_zip_reader_extract_to_callback:
.LFB94:
	.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, 3584
	mov	QWORD PTR -11752[rbp], rdi
	mov	DWORD PTR -11756[rbp], esi
	mov	QWORD PTR -11768[rbp], rdx
	mov	QWORD PTR -11776[rbp], rcx
	mov	DWORD PTR -11760[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -11736[rbp], 0
	mov	DWORD PTR -11732[rbp], 0
	mov	QWORD PTR -11704[rbp], 0
	mov	QWORD PTR -11680[rbp], 0
	mov	QWORD PTR -11664[rbp], 0
	mov	QWORD PTR -11656[rbp], 0
	lea	rax, -11632[rbp]
	mov	QWORD PTR -11648[rbp], rax
	lea	rdx, -11600[rbp]
	mov	ecx, DWORD PTR -11756[rbp]
	mov	rax, QWORD PTR -11752[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	mz_zip_reader_file_stat
	test	eax, eax
	jne	.L1361
	mov	eax, 0
	jmp	.L1399
.L1361:
	mov	rax, QWORD PTR -11568[rbp]
	test	rax, rax
	jne	.L1363
	mov	eax, 1
	jmp	.L1399
.L1363:
	mov	edx, DWORD PTR -11756[rbp]
	mov	rax, QWORD PTR -11752[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	mz_zip_reader_is_file_a_directory
	test	eax, eax
	je	.L1364
	mov	eax, 1
	jmp	.L1399
.L1364:
	movzx	eax, WORD PTR -11588[rbp]
	movzx	eax, ax
	and	eax, 33
	test	eax, eax
	je	.L1365
	mov	eax, 0
	jmp	.L1399
.L1365:
	mov	eax, DWORD PTR -11760[rbp]
	and	eax, 1024
	test	eax, eax
	jne	.L1366
	movzx	eax, WORD PTR -11586[rbp]
	test	ax, ax
	je	.L1366
	movzx	eax, WORD PTR -11586[rbp]
	cmp	ax, 8
	je	.L1366
	mov	eax, 0
	jmp	.L1399
.L1366:
	mov	rax, QWORD PTR -11544[rbp]
	mov	QWORD PTR -11672[rbp], rax
	mov	rax, QWORD PTR -11752[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -11648[rbp]
	mov	rsi, QWORD PTR -11672[rbp]
	mov	ecx, 30
	mov	rdi, rax
	call	r8
	cmp	rax, 30
	je	.L1367
	mov	eax, 0
	jmp	.L1399
.L1367:
	mov	rax, QWORD PTR -11648[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 67324752
	je	.L1368
	mov	eax, 0
	jmp	.L1399
.L1368:
	mov	rax, QWORD PTR -11648[rbp]
	add	rax, 26
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	lea	edx, 30[rax]
	mov	rax, QWORD PTR -11648[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	add	eax, edx
	cdqe
	add	QWORD PTR -11672[rbp], rax
	mov	rdx, QWORD PTR -11568[rbp]
	mov	rax, QWORD PTR -11672[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jbe	.L1369
	mov	eax, 0
	jmp	.L1399
.L1369:
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	je	.L1370
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 104[rax]
	mov	rax, QWORD PTR -11672[rbp]
	add	rax, rdx
	mov	QWORD PTR -11664[rbp], rax
	mov	rax, QWORD PTR -11568[rbp]
	mov	QWORD PTR -11696[rbp], rax
	mov	rax, QWORD PTR -11696[rbp]
	mov	QWORD PTR -11712[rbp], rax
	mov	QWORD PTR -11688[rbp], 0
	jmp	.L1371
.L1370:
	mov	rax, QWORD PTR -11568[rbp]
	mov	edx, 65536
	cmp	rax, 65536
	cmova	rax, rdx
	mov	QWORD PTR -11712[rbp], rax
	mov	rax, QWORD PTR -11752[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -11712[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -11664[rbp], rax
	cmp	QWORD PTR -11664[rbp], 0
	jne	.L1372
	mov	eax, 0
	jmp	.L1399
.L1372:
	mov	QWORD PTR -11696[rbp], 0
	mov	rax, QWORD PTR -11568[rbp]
	mov	QWORD PTR -11688[rbp], rax
.L1371:
	mov	eax, DWORD PTR -11760[rbp]
	and	eax, 1024
	test	eax, eax
	jne	.L1373
	movzx	eax, WORD PTR -11586[rbp]
	test	ax, ax
	jne	.L1374
.L1373:
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	je	.L1379
	mov	rcx, QWORD PTR -11568[rbp]
	mov	rdx, QWORD PTR -11664[rbp]
	mov	rsi, QWORD PTR -11680[rbp]
	mov	rax, QWORD PTR -11776[rbp]
	mov	r8, QWORD PTR -11768[rbp]
	mov	rdi, rax
	call	r8
	mov	rdx, QWORD PTR -11568[rbp]
	cmp	rax, rdx
	je	.L1376
	mov	DWORD PTR -11736[rbp], -1
	jmp	.L1377
.L1376:
	mov	eax, DWORD PTR -11760[rbp]
	and	eax, 1024
	test	eax, eax
	jne	.L1377
	mov	rdx, QWORD PTR -11568[rbp]
	mov	eax, DWORD PTR -11732[rbp]
	mov	rcx, QWORD PTR -11664[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_crc32
	mov	DWORD PTR -11732[rbp], eax
.L1377:
	mov	rax, QWORD PTR -11568[rbp]
	add	QWORD PTR -11672[rbp], rax
	mov	rax, QWORD PTR -11568[rbp]
	add	QWORD PTR -11680[rbp], rax
	mov	QWORD PTR -11688[rbp], 0
	jmp	.L1384
.L1383:
	mov	rax, QWORD PTR -11712[rbp]
	cmp	QWORD PTR -11688[rbp], rax
	cmovbe	rax, QWORD PTR -11688[rbp]
	mov	QWORD PTR -11696[rbp], rax
	mov	rax, QWORD PTR -11752[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rcx, QWORD PTR -11696[rbp]
	mov	rdx, QWORD PTR -11664[rbp]
	mov	rsi, QWORD PTR -11672[rbp]
	mov	rdi, rax
	call	r8
	cmp	QWORD PTR -11696[rbp], rax
	je	.L1380
	mov	DWORD PTR -11736[rbp], -1
	jmp	.L1378
.L1380:
	mov	eax, DWORD PTR -11760[rbp]
	and	eax, 1024
	test	eax, eax
	jne	.L1381
	mov	eax, DWORD PTR -11732[rbp]
	mov	rdx, QWORD PTR -11696[rbp]
	mov	rcx, QWORD PTR -11664[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_crc32
	mov	DWORD PTR -11732[rbp], eax
.L1381:
	mov	rcx, QWORD PTR -11696[rbp]
	mov	rdx, QWORD PTR -11664[rbp]
	mov	rsi, QWORD PTR -11680[rbp]
	mov	rax, QWORD PTR -11776[rbp]
	mov	r8, QWORD PTR -11768[rbp]
	mov	rdi, rax
	call	r8
	cmp	QWORD PTR -11696[rbp], rax
	je	.L1382
	mov	DWORD PTR -11736[rbp], -1
	jmp	.L1378
.L1382:
	mov	rax, QWORD PTR -11696[rbp]
	add	QWORD PTR -11672[rbp], rax
	mov	rax, QWORD PTR -11696[rbp]
	add	QWORD PTR -11680[rbp], rax
	mov	rax, QWORD PTR -11696[rbp]
	sub	QWORD PTR -11688[rbp], rax
.L1379:
	cmp	QWORD PTR -11688[rbp], 0
	jne	.L1383
	jmp	.L1384
.L1378:
	jmp	.L1384
.L1374:
	mov	DWORD PTR -11008[rbp], 0
	mov	rax, QWORD PTR -11752[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	edx, 32768
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -11656[rbp], rax
	cmp	QWORD PTR -11656[rbp], 0
	jne	.L1385
	mov	DWORD PTR -11736[rbp], -1
	jmp	.L1384
.L1385:
	mov	rax, QWORD PTR -11680[rbp]
	and	eax, 32767
	mov	rdx, rax
	mov	rax, QWORD PTR -11656[rbp]
	add	rax, rdx
	mov	QWORD PTR -11640[rbp], rax
	mov	rax, QWORD PTR -11680[rbp]
	and	eax, 32767
	mov	rdx, rax
	mov	eax, 32768
	sub	rax, rdx
	mov	QWORD PTR -11720[rbp], rax
	cmp	QWORD PTR -11696[rbp], 0
	jne	.L1387
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	jne	.L1387
	mov	rax, QWORD PTR -11712[rbp]
	cmp	QWORD PTR -11688[rbp], rax
	cmovbe	rax, QWORD PTR -11688[rbp]
	mov	QWORD PTR -11696[rbp], rax
	mov	rax, QWORD PTR -11752[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rcx, QWORD PTR -11696[rbp]
	mov	rdx, QWORD PTR -11664[rbp]
	mov	rsi, QWORD PTR -11672[rbp]
	mov	rdi, rax
	call	r8
	cmp	QWORD PTR -11696[rbp], rax
	je	.L1388
	mov	DWORD PTR -11736[rbp], -1
	jmp	.L1384
.L1388:
	mov	rax, QWORD PTR -11696[rbp]
	add	QWORD PTR -11672[rbp], rax
	mov	rax, QWORD PTR -11696[rbp]
	sub	QWORD PTR -11688[rbp], rax
	mov	QWORD PTR -11704[rbp], 0
.L1387:
	mov	rax, QWORD PTR -11696[rbp]
	mov	QWORD PTR -11728[rbp], rax
	cmp	QWORD PTR -11688[rbp], 0
	je	.L1390
	mov	r9d, 2
	jmp	.L1391
.L1390:
	mov	r9d, 0
.L1391:
	mov	rdx, QWORD PTR -11664[rbp]
	mov	rax, QWORD PTR -11704[rbp]
	lea	rsi, [rdx+rax]
	lea	r8, -11720[rbp]
	mov	rdi, QWORD PTR -11640[rbp]
	mov	rcx, QWORD PTR -11656[rbp]
	lea	rdx, -11728[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 -11736[rbp], eax
	mov	rax, QWORD PTR -11728[rbp]
	sub	QWORD PTR -11696[rbp], rax
	mov	rax, QWORD PTR -11728[rbp]
	add	QWORD PTR -11704[rbp], rax
	mov	rax, QWORD PTR -11720[rbp]
	test	rax, rax
	je	.L1392
	mov	rcx, QWORD PTR -11720[rbp]
	mov	rdx, QWORD PTR -11640[rbp]
	mov	rsi, QWORD PTR -11680[rbp]
	mov	rax, QWORD PTR -11776[rbp]
	mov	r8, QWORD PTR -11768[rbp]
	mov	rdi, rax
	call	r8
	mov	rdx, QWORD PTR -11720[rbp]
	cmp	rax, rdx
	je	.L1393
	mov	DWORD PTR -11736[rbp], -1
	jmp	.L1384
.L1393:
	mov	rdx, QWORD PTR -11720[rbp]
	mov	eax, DWORD PTR -11732[rbp]
	mov	rcx, QWORD PTR -11640[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_crc32
	mov	DWORD PTR -11732[rbp], eax
	mov	rax, QWORD PTR -11720[rbp]
	add	QWORD PTR -11680[rbp], rax
	mov	rax, QWORD PTR -11560[rbp]
	cmp	QWORD PTR -11680[rbp], rax
	jbe	.L1392
	mov	DWORD PTR -11736[rbp], -1
	jmp	.L1384
.L1392:
	cmp	DWORD PTR -11736[rbp], 1
	je	.L1385
	cmp	DWORD PTR -11736[rbp], 2
	je	.L1385
.L1384:
	cmp	DWORD PTR -11736[rbp], 0
	jne	.L1395
	mov	eax, DWORD PTR -11760[rbp]
	and	eax, 1024
	test	eax, eax
	jne	.L1395
	mov	rax, QWORD PTR -11560[rbp]
	cmp	QWORD PTR -11680[rbp], rax
	jne	.L1396
	mov	eax, DWORD PTR -11576[rbp]
	cmp	DWORD PTR -11732[rbp], eax
	je	.L1395
.L1396:
	mov	DWORD PTR -11736[rbp], -1
.L1395:
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	jne	.L1397
	mov	rax, QWORD PTR -11752[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -11664[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1397:
	cmp	QWORD PTR -11656[rbp], 0
	je	.L1398
	mov	rax, QWORD PTR -11752[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -11752[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -11656[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1398:
	cmp	DWORD PTR -11736[rbp], 0
	sete	al
	movzx	eax, al
.L1399:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1400
	call	__stack_chk_fail@PLT
.L1400:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	mz_zip_reader_extract_to_callback, .-mz_zip_reader_extract_to_callback
	.globl	mz_zip_reader_extract_file_to_callback
	.type	mz_zip_reader_extract_file_to_callback, @function
mz_zip_reader_extract_file_to_callback:
.LFB95:
	.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
	mov	edx, DWORD PTR -52[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	mz_zip_reader_locate_file
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jns	.L1402
	mov	eax, 0
	jmp	.L1403
.L1402:
	mov	esi, DWORD PTR -4[rbp]
	mov	edi, DWORD PTR -52[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	mz_zip_reader_extract_to_callback
.L1403:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	mz_zip_reader_extract_file_to_callback, .-mz_zip_reader_extract_file_to_callback
	.type	mz_zip_file_write_callback, @function
mz_zip_file_write_callback:
.LFB96:
	.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	QWORD PTR -32[rbp], rcx
	mov	rcx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fwrite@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	mz_zip_file_write_callback, .-mz_zip_file_write_callback
	.section	.rodata
.LC21:
	.string	"wb"
	.text
	.globl	mz_zip_reader_extract_to_file
	.type	mz_zip_reader_extract_to_file, @function
mz_zip_reader_extract_to_file:
.LFB97:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 640
	mov	QWORD PTR -616[rbp], rdi
	mov	DWORD PTR -620[rbp], esi
	mov	QWORD PTR -632[rbp], rdx
	mov	DWORD PTR -624[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -592[rbp]
	mov	ecx, DWORD PTR -620[rbp]
	mov	rax, QWORD PTR -616[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	mz_zip_reader_file_stat
	test	eax, eax
	jne	.L1407
	mov	eax, 0
	jmp	.L1412
.L1407:
	mov	rax, QWORD PTR -632[rbp]
	lea	rsi, .LC21[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -600[rbp], rax
	cmp	QWORD PTR -600[rbp], 0
	jne	.L1409
	mov	eax, 0
	jmp	.L1412
.L1409:
	mov	ecx, DWORD PTR -624[rbp]
	mov	rdx, QWORD PTR -600[rbp]
	mov	esi, DWORD PTR -620[rbp]
	mov	rax, QWORD PTR -616[rbp]
	mov	r8d, ecx
	mov	rcx, rdx
	lea	rdx, mz_zip_file_write_callback[rip]
	mov	rdi, rax
	call	mz_zip_reader_extract_to_callback
	mov	DWORD PTR -604[rbp], eax
	mov	rax, QWORD PTR -600[rbp]
	mov	rdi, rax
	call	fclose@PLT
	cmp	eax, -1
	jne	.L1410
	mov	eax, 0
	jmp	.L1412
.L1410:
	cmp	DWORD PTR -604[rbp], 0
	je	.L1411
	mov	rdx, QWORD PTR -576[rbp]
	mov	rcx, QWORD PTR -576[rbp]
	mov	rax, QWORD PTR -632[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_zip_set_file_times
.L1411:
	mov	eax, DWORD PTR -604[rbp]
.L1412:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1413
	call	__stack_chk_fail@PLT
.L1413:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	mz_zip_reader_extract_to_file, .-mz_zip_reader_extract_to_file
	.globl	mz_zip_reader_end
	.type	mz_zip_reader_end, @function
mz_zip_reader_end:
.LFB98:
	.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 -72[rbp], rdi
	cmp	QWORD PTR -72[rbp], 0
	je	.L1415
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1415
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L1415
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L1415
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 1
	je	.L1416
.L1415:
	mov	eax, 0
	jmp	.L1417
.L1416:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1418
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 88[rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR -16[rbp], rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	nop
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	nop
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 64[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	nop
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	test	rax, rax
	je	.L1419
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 96[rax], 0
.L1419:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1418:
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 20[rax], 0
	mov	eax, 1
.L1417:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	mz_zip_reader_end, .-mz_zip_reader_end
	.globl	mz_zip_reader_extract_file_to_file
	.type	mz_zip_reader_extract_file_to_file, @function
mz_zip_reader_extract_file_to_file:
.LFB99:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	edx, DWORD PTR -44[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	mz_zip_reader_locate_file
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jns	.L1421
	mov	eax, 0
	jmp	.L1422
.L1421:
	mov	esi, DWORD PTR -4[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	mz_zip_reader_extract_to_file
.L1422:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	mz_zip_reader_extract_file_to_file, .-mz_zip_reader_extract_file_to_file
	.type	mz_write_le16, @function
mz_write_le16:
.LFB100:
	.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	eax, esi
	mov	WORD PTR -12[rbp], ax
	movzx	eax, WORD PTR -12[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	movzx	eax, WORD PTR -12[rbp]
	shr	ax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	mov	BYTE PTR [rax], dl
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	mz_write_le16, .-mz_write_le16
	.type	mz_write_le32, @function
mz_write_le32:
.LFB101:
	.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	DWORD PTR -12[rbp], esi
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 24
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 3
	mov	BYTE PTR [rax], dl
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	mz_write_le32, .-mz_write_le32
	.globl	mz_zip_writer_init
	.type	mz_zip_writer_init, @function
mz_zip_writer_init:
.LFB102:
	.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	QWORD PTR -16[rbp], rsi
	cmp	QWORD PTR -8[rbp], 0
	je	.L1426
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	jne	.L1426
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L1426
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L1427
.L1426:
	mov	eax, 0
	jmp	.L1428
.L1427:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L1429
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	and	eax, edx
	test	eax, eax
	je	.L1429
	mov	eax, 0
	jmp	.L1428
.L1429:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	jne	.L1430
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, def_alloc_func[rip]
	mov	QWORD PTR 32[rax], rdx
.L1430:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	jne	.L1431
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, def_free_func[rip]
	mov	QWORD PTR 40[rax], rdx
.L1431:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	jne	.L1432
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, def_realloc_func[rip]
	mov	QWORD PTR 48[rax], rdx
.L1432:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], 2
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	edx, 128
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 88[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	jne	.L1433
	mov	eax, 0
	jmp	.L1428
.L1433:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	edx, 128
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	DWORD PTR 24[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	DWORD PTR 56[rax], 4
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	DWORD PTR 88[rax], 4
	mov	eax, 1
.L1428:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	mz_zip_writer_init, .-mz_zip_writer_init
	.type	mz_zip_heap_write_func, @function
mz_zip_heap_write_func:
.LFB103:
	.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	QWORD PTR -80[rbp], rcx
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 112[rax]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	add	rdx, rcx
	cmp	rax, rdx
	cmovb	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -80[rbp], 0
	jne	.L1435
	mov	eax, 0
	jmp	.L1436
.L1435:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 120[rax]
	cmp	QWORD PTR -16[rbp], rax
	jbe	.L1437
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 120[rax]
	mov	edx, 64
	cmp	rax, 64
	cmovb	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1438
.L1439:
	sal	QWORD PTR -40[rbp]
.L1438:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jb	.L1439
	mov	rax, QWORD PTR -32[rbp]
	mov	r8, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 104[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	rdi, rax
	call	r8
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1440
	mov	eax, 0
	jmp	.L1436
.L1440:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 104[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 120[rax], rdx
.L1437:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 104[rax]
	mov	rax, QWORD PTR -64[rbp]
	lea	rcx, [rdx+rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[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 112[rax], rdx
	mov	rax, QWORD PTR -80[rbp]
.L1436:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	mz_zip_heap_write_func, .-mz_zip_heap_write_func
	.globl	mz_zip_writer_init_heap
	.type	mz_zip_writer_init_heap, @function
mz_zip_writer_init_heap:
.LFB104:
	.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, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, mz_zip_heap_write_func[rip]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 80[rax], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	mz_zip_writer_init
	test	eax, eax
	jne	.L1442
	mov	eax, 0
	jmp	.L1443
.L1442:
	mov	rax, QWORD PTR -40[rbp]
	cmp	QWORD PTR -32[rbp], rax
	cmovnb	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L1444
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rbx, QWORD PTR 88[rdx]
	mov	rdx, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR 104[rbx], rax
	mov	rax, QWORD PTR 104[rbx]
	test	rax, rax
	jne	.L1445
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	mz_zip_writer_end
	mov	eax, 0
	jmp	.L1443
.L1445:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 120[rax], rdx
.L1444:
	mov	eax, 1
.L1443:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	mz_zip_writer_init_heap, .-mz_zip_writer_init_heap
	.type	mz_zip_file_write_func, @function
mz_zip_file_write_func:
.LFB105:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 96[rax]
	mov	rdi, rax
	call	ftello@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	js	.L1447
	mov	rax, QWORD PTR -32[rbp]
	cmp	QWORD PTR -8[rbp], rax
	je	.L1448
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	fseeko@PLT
	test	eax, eax
	je	.L1448
.L1447:
	mov	eax, 0
	jmp	.L1449
.L1448:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 96[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fwrite@PLT
.L1449:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	mz_zip_file_write_func, .-mz_zip_file_write_func
	.globl	mz_zip_writer_init_file
	.type	mz_zip_writer_init_file, @function
mz_zip_writer_init_file:
.LFB106:
	.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, 80
	mov	QWORD PTR -4152[rbp], rdi
	mov	QWORD PTR -4160[rbp], rsi
	mov	QWORD PTR -4168[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -4152[rbp]
	lea	rdx, mz_zip_file_write_func[rip]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -4152[rbp]
	mov	rdx, QWORD PTR -4152[rbp]
	mov	QWORD PTR 80[rax], rdx
	mov	rdx, QWORD PTR -4168[rbp]
	mov	rax, QWORD PTR -4152[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	mz_zip_writer_init
	test	eax, eax
	jne	.L1451
	mov	eax, 0
	jmp	.L1452
.L1451:
	mov	rax, QWORD PTR -4160[rbp]
	lea	rsi, .LC21[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -4128[rbp], rax
	cmp	QWORD PTR -4128[rbp], 0
	jne	.L1453
	mov	rax, QWORD PTR -4152[rbp]
	mov	rdi, rax
	call	mz_zip_writer_end
	mov	eax, 0
	jmp	.L1452
.L1453:
	mov	rax, QWORD PTR -4152[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR -4128[rbp]
	mov	QWORD PTR 96[rax], rdx
	cmp	QWORD PTR -4168[rbp], 0
	je	.L1454
	mov	QWORD PTR -4136[rbp], 0
	lea	rax, -4112[rbp]
	mov	edx, 4096
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
.L1456:
	mov	eax, 4096
	cmp	QWORD PTR -4168[rbp], 4096
	cmovbe	rax, QWORD PTR -4168[rbp]
	mov	QWORD PTR -4120[rbp], rax
	mov	rax, QWORD PTR -4152[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -4152[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rcx, QWORD PTR -4120[rbp]
	lea	rdx, -4112[rbp]
	mov	rsi, QWORD PTR -4136[rbp]
	mov	rdi, rax
	call	r8
	cmp	QWORD PTR -4120[rbp], rax
	je	.L1455
	mov	rax, QWORD PTR -4152[rbp]
	mov	rdi, rax
	call	mz_zip_writer_end
	mov	eax, 0
	jmp	.L1452
.L1455:
	mov	rax, QWORD PTR -4120[rbp]
	add	QWORD PTR -4136[rbp], rax
	mov	rax, QWORD PTR -4120[rbp]
	sub	QWORD PTR -4168[rbp], rax
	cmp	QWORD PTR -4168[rbp], 0
	jne	.L1456
.L1454:
	mov	eax, 1
.L1452:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1457
	call	__stack_chk_fail@PLT
.L1457:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	mz_zip_writer_init_file, .-mz_zip_writer_init_file
	.section	.rodata
.LC22:
	.string	"r+b"
	.text
	.globl	mz_zip_writer_init_from_reader
	.type	mz_zip_writer_init_from_reader, @function
mz_zip_writer_init_from_reader:
.LFB107:
	.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	QWORD PTR -32[rbp], rsi
	cmp	QWORD PTR -24[rbp], 0
	je	.L1459
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1459
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 1
	je	.L1460
.L1459:
	mov	eax, 0
	jmp	.L1461
.L1460:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 65535
	je	.L1462
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 76[rax]
	mov	eax, 4294967295
	cmp	rdx, rax
	jbe	.L1463
.L1462:
	mov	eax, 0
	jmp	.L1461
.L1463:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 96[rax]
	test	rax, rax
	je	.L1464
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 80[rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L1465
	mov	eax, 0
	jmp	.L1461
.L1465:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L1466
	mov	eax, 0
	jmp	.L1461
.L1466:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, mz_zip_file_write_func[rip]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	call	freopen@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 96[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 96[rax]
	test	rax, rax
	jne	.L1467
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	mz_zip_reader_end
	mov	eax, 0
	jmp	.L1461
.L1464:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	je	.L1468
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 80[rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L1469
	mov	eax, 0
	jmp	.L1461
.L1469:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 120[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, mz_zip_heap_write_func[rip]
	mov	QWORD PTR 72[rax], rdx
	jmp	.L1467
.L1468:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	jne	.L1467
	mov	eax, 0
	jmp	.L1461
.L1467:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 20[rax], 2
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	eax, 1
.L1461:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	mz_zip_writer_init_from_reader, .-mz_zip_writer_init_from_reader
	.globl	mz_zip_writer_add_mem
	.type	mz_zip_writer_add_mem, @function
mz_zip_writer_add_mem:
.LFB108:
	.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	DWORD PTR -36[rbp], r8d
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	0
	push	0
	mov	edi, DWORD PTR -36[rbp]
	push	rdi
	mov	r9d, 0
	mov	r8d, 0
	mov	rdi, rax
	call	mz_zip_writer_add_mem_ex
	add	rsp, 32
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	mz_zip_writer_add_mem, .-mz_zip_writer_add_mem
	.type	mz_zip_writer_add_put_buf_callback, @function
mz_zip_writer_add_put_buf_callback:
.LFB109:
	.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 -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	r8, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -28[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	r8
	cmp	DWORD PTR -28[rbp], eax
	je	.L1473
	mov	eax, 0
	jmp	.L1474
.L1473:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, 1
.L1474:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	mz_zip_writer_add_put_buf_callback, .-mz_zip_writer_add_put_buf_callback
	.type	mz_zip_writer_create_local_dir_header, @function
mz_zip_writer_create_local_dir_header:
.LFB110:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, ecx
	mov	QWORD PTR -32[rbp], r8
	mov	QWORD PTR -40[rbp], r9
	mov	r8d, DWORD PTR 24[rbp]
	mov	edi, DWORD PTR 32[rbp]
	mov	esi, DWORD PTR 40[rbp]
	mov	ecx, DWORD PTR 48[rbp]
	mov	WORD PTR -20[rbp], dx
	mov	WORD PTR -24[rbp], ax
	mov	eax, r8d
	mov	WORD PTR -44[rbp], ax
	mov	eax, edi
	mov	WORD PTR -48[rbp], ax
	mov	eax, esi
	mov	WORD PTR -52[rbp], ax
	mov	eax, ecx
	mov	WORD PTR -56[rbp], ax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 30
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 67324752
	mov	rdi, rax
	call	mz_write_le32
	cmp	WORD PTR -44[rbp], 0
	je	.L1476
	mov	edx, 20
	jmp	.L1477
.L1476:
	mov	edx, 0
.L1477:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 4
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le16
	movzx	eax, WORD PTR -48[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 6
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	movzx	eax, WORD PTR -44[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 8
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	movzx	eax, WORD PTR -52[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 10
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	movzx	eax, WORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 12
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 14
	mov	esi, DWORD PTR 16[rbp]
	mov	rdi, rax
	call	mz_write_le32
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 18
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le32
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 22
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le32
	movzx	eax, WORD PTR -20[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 26
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	movzx	eax, WORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 28
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	mov	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	mz_zip_writer_create_local_dir_header, .-mz_zip_writer_create_local_dir_header
	.type	mz_zip_writer_create_central_dir_header, @function
mz_zip_writer_create_central_dir_header:
.LFB111:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, ecx
	mov	r10d, r8d
	mov	QWORD PTR -40[rbp], r9
	mov	r8d, DWORD PTR 32[rbp]
	mov	edi, DWORD PTR 40[rbp]
	mov	esi, DWORD PTR 48[rbp]
	mov	ecx, DWORD PTR 56[rbp]
	mov	WORD PTR -20[rbp], dx
	mov	WORD PTR -24[rbp], ax
	mov	eax, r10d
	mov	WORD PTR -28[rbp], ax
	mov	eax, r8d
	mov	WORD PTR -32[rbp], ax
	mov	eax, edi
	mov	WORD PTR -44[rbp], ax
	mov	eax, esi
	mov	WORD PTR -48[rbp], ax
	mov	eax, ecx
	mov	WORD PTR -52[rbp], ax
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 46
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 33639248
	mov	rdi, rax
	call	mz_write_le32
	cmp	WORD PTR -32[rbp], 0
	je	.L1480
	mov	edx, 20
	jmp	.L1481
.L1480:
	mov	edx, 0
.L1481:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 6
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le16
	movzx	eax, WORD PTR -44[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 8
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	movzx	eax, WORD PTR -32[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 10
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	movzx	eax, WORD PTR -48[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 12
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	movzx	eax, WORD PTR -52[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 14
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR 24[rbp]
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le32
	mov	rax, QWORD PTR 16[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 20
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le32
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 24
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le32
	movzx	eax, WORD PTR -20[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 28
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	movzx	eax, WORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 30
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	movzx	eax, WORD PTR -28[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, 32
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le16
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 38[rax]
	mov	eax, DWORD PTR 72[rbp]
	mov	esi, eax
	mov	rdi, rdx
	call	mz_write_le32
	mov	rax, QWORD PTR 64[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 42
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le32
	mov	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	mz_zip_writer_create_central_dir_header, .-mz_zip_writer_create_central_dir_header
	.type	mz_zip_writer_add_to_central_dir, @function
mz_zip_writer_add_to_central_dir:
.LFB112:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 528
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	QWORD PTR -488[rbp], rdi
	mov	QWORD PTR -496[rbp], rsi
	mov	eax, edx
	mov	QWORD PTR -512[rbp], rcx
	mov	r10d, r8d
	mov	QWORD PTR -520[rbp], r9
	mov	r8d, DWORD PTR 16[rbp]
	mov	edi, DWORD PTR 48[rbp]
	mov	esi, DWORD PTR 56[rbp]
	mov	ecx, DWORD PTR 64[rbp]
	mov	edx, DWORD PTR 72[rbp]
	mov	WORD PTR -500[rbp], ax
	mov	eax, r10d
	mov	WORD PTR -504[rbp], ax
	mov	eax, r8d
	mov	WORD PTR -524[rbp], ax
	mov	eax, edi
	mov	WORD PTR -528[rbp], ax
	mov	eax, esi
	mov	WORD PTR -532[rbp], ax
	mov	eax, ecx
	mov	WORD PTR -536[rbp], ax
	mov	eax, edx
	mov	WORD PTR -540[rbp], ax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	DWORD PTR -468[rbp], eax
	mov	rax, QWORD PTR -440[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -432[rbp], rax
	mov	eax, 4294967295
	cmp	QWORD PTR 80[rbp], rax
	ja	.L1484
	mov	rax, QWORD PTR -440[rbp]
	mov	rdx, QWORD PTR 8[rax]
	movzx	eax, WORD PTR -500[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -504[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -524[rbp]
	add	rax, rdx
	lea	rdx, 46[rax]
	mov	eax, 4294967295
	cmp	rdx, rax
	jbe	.L1485
.L1484:
	mov	eax, 0
	jmp	.L1512
.L1485:
	movzx	r10d, WORD PTR -540[rbp]
	movzx	r9d, WORD PTR -536[rbp]
	movzx	r8d, WORD PTR -532[rbp]
	movzx	edi, WORD PTR -528[rbp]
	movzx	ebx, WORD PTR -524[rbp]
	movzx	ecx, WORD PTR -504[rbp]
	movzx	edx, WORD PTR -500[rbp]
	mov	r12, QWORD PTR 24[rbp]
	lea	rsi, -80[rbp]
	mov	rax, QWORD PTR -488[rbp]
	mov	r11d, DWORD PTR 88[rbp]
	push	r11
	push	QWORD PTR 80[rbp]
	push	r10
	push	r9
	push	r8
	push	rdi
	mov	edi, DWORD PTR 40[rbp]
	push	rdi
	push	QWORD PTR 32[rbp]
	mov	r9, r12
	mov	r8d, ebx
	mov	rdi, rax
	call	mz_zip_writer_create_central_dir_header
	add	rsp, 64
	test	eax, eax
	jne	.L1487
	mov	eax, 0
	jmp	.L1512
.L1487:
	mov	rax, QWORD PTR -440[rbp]
	mov	rdx, QWORD PTR -488[rbp]
	mov	QWORD PTR -424[rbp], rdx
	mov	QWORD PTR -416[rbp], rax
	lea	rax, -80[rbp]
	mov	QWORD PTR -408[rbp], rax
	mov	QWORD PTR -400[rbp], 46
	mov	rax, QWORD PTR -416[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -392[rbp], rax
	mov	rdx, QWORD PTR -400[rbp]
	mov	rax, QWORD PTR -392[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -424[rbp]
	mov	QWORD PTR -384[rbp], rax
	mov	rax, QWORD PTR -416[rbp]
	mov	QWORD PTR -376[rbp], rax
	mov	QWORD PTR -368[rbp], rdx
	mov	DWORD PTR -464[rbp], 1
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -368[rbp], rax
	jbe	.L1488
	mov	ecx, DWORD PTR -464[rbp]
	mov	rdx, QWORD PTR -368[rbp]
	mov	rsi, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR -384[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1488
	mov	eax, 0
	jmp	.L1489
.L1488:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -368[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1489:
	test	eax, eax
	jne	.L1490
	mov	eax, 0
	jmp	.L1491
.L1490:
	mov	rax, QWORD PTR -416[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -400[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -416[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -416[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -392[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -408[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	eax, 1
.L1491:
	test	eax, eax
	je	.L1492
	movzx	eax, WORD PTR -500[rbp]
	mov	rdx, QWORD PTR -440[rbp]
	mov	rcx, QWORD PTR -488[rbp]
	mov	QWORD PTR -360[rbp], rcx
	mov	QWORD PTR -352[rbp], rdx
	mov	rdx, QWORD PTR -496[rbp]
	mov	QWORD PTR -344[rbp], rdx
	mov	QWORD PTR -336[rbp], rax
	mov	rax, QWORD PTR -352[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -328[rbp], rax
	mov	rdx, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR -328[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -360[rbp]
	mov	QWORD PTR -320[rbp], rax
	mov	rax, QWORD PTR -352[rbp]
	mov	QWORD PTR -312[rbp], rax
	mov	QWORD PTR -304[rbp], rdx
	mov	DWORD PTR -460[rbp], 1
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -304[rbp], rax
	jbe	.L1493
	mov	ecx, DWORD PTR -460[rbp]
	mov	rdx, QWORD PTR -304[rbp]
	mov	rsi, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR -320[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1493
	mov	eax, 0
	jmp	.L1494
.L1493:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -304[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1494:
	test	eax, eax
	jne	.L1495
	mov	eax, 0
	jmp	.L1496
.L1495:
	mov	rax, QWORD PTR -352[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -336[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -352[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -352[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -328[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -344[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	eax, 1
.L1496:
	test	eax, eax
	je	.L1492
	movzx	eax, WORD PTR -504[rbp]
	mov	rdx, QWORD PTR -440[rbp]
	mov	rcx, QWORD PTR -488[rbp]
	mov	QWORD PTR -296[rbp], rcx
	mov	QWORD PTR -288[rbp], rdx
	mov	rdx, QWORD PTR -512[rbp]
	mov	QWORD PTR -280[rbp], rdx
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rdx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -264[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -288[rbp]
	mov	QWORD PTR -248[rbp], rax
	mov	QWORD PTR -240[rbp], rdx
	mov	DWORD PTR -456[rbp], 1
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -240[rbp], rax
	jbe	.L1497
	mov	ecx, DWORD PTR -456[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	rsi, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1497
	mov	eax, 0
	jmp	.L1498
.L1497:
	mov	rax, QWORD PTR -248[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1498:
	test	eax, eax
	jne	.L1499
	mov	eax, 0
	jmp	.L1500
.L1499:
	mov	rax, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -272[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -288[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -264[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	eax, 1
.L1500:
	test	eax, eax
	je	.L1492
	movzx	eax, WORD PTR -524[rbp]
	mov	rdx, QWORD PTR -440[rbp]
	mov	rcx, QWORD PTR -488[rbp]
	mov	QWORD PTR -232[rbp], rcx
	mov	QWORD PTR -224[rbp], rdx
	mov	rdx, QWORD PTR -520[rbp]
	mov	QWORD PTR -216[rbp], rdx
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rdx, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -232[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	QWORD PTR -184[rbp], rax
	mov	QWORD PTR -176[rbp], rdx
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -176[rbp], rax
	jbe	.L1501
	mov	ecx, DWORD PTR -452[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	rsi, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1501
	mov	eax, 0
	jmp	.L1502
.L1501:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1502:
	test	eax, eax
	jne	.L1503
	mov	eax, 0
	jmp	.L1504
.L1503:
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -208[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -200[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	eax, 1
.L1504:
	test	eax, eax
	je	.L1492
	mov	rax, QWORD PTR -440[rbp]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -488[rbp]
	mov	QWORD PTR -168[rbp], rax
	mov	QWORD PTR -160[rbp], rdx
	lea	rax, -468[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	QWORD PTR -144[rbp], 1
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	QWORD PTR -112[rbp], rdx
	mov	DWORD PTR -448[rbp], 1
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -112[rbp], rax
	jbe	.L1505
	mov	ecx, DWORD PTR -448[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1505
	mov	eax, 0
	jmp	.L1506
.L1505:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1506:
	test	eax, eax
	jne	.L1507
	mov	eax, 0
	jmp	.L1508
.L1507:
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -144[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -160[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -136[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	eax, 1
.L1508:
	test	eax, eax
	jne	.L1509
.L1492:
	mov	rax, QWORD PTR -440[rbp]
	mov	rdx, QWORD PTR -488[rbp]
	mov	QWORD PTR -104[rbp], rdx
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -432[rbp]
	mov	QWORD PTR -88[rbp], rax
	mov	DWORD PTR -444[rbp], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -88[rbp], rax
	jbe	.L1510
	mov	ecx, DWORD PTR -444[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	je	.L1514
.L1510:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L1511
.L1514:
	nop
.L1511:
	mov	eax, 0
	jmp	.L1512
.L1509:
	mov	eax, 1
.L1512:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L1513
	call	__stack_chk_fail@PLT
.L1513:
	lea	rsp, -16[rbp]
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	mz_zip_writer_add_to_central_dir, .-mz_zip_writer_add_to_central_dir
	.type	mz_zip_writer_validate_archive_name, @function
mz_zip_writer_validate_archive_name:
.LFB113:
	.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]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L1518
	mov	eax, 0
	jmp	.L1517
.L1521:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	je	.L1519
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1520
.L1519:
	mov	eax, 0
	jmp	.L1517
.L1520:
	add	QWORD PTR -8[rbp], 1
.L1518:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1521
	mov	eax, 1
.L1517:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	mz_zip_writer_validate_archive_name, .-mz_zip_writer_validate_archive_name
	.type	mz_zip_writer_compute_padding_needed_for_file_alignment, @function
mz_zip_writer_compute_padding_needed_for_file_alignment:
.LFB114:
	.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	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1523
	mov	eax, 0
	jmp	.L1524
.L1523:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, DWORD PTR -4[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	and	eax, edx
.L1524:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	mz_zip_writer_compute_padding_needed_for_file_alignment, .-mz_zip_writer_compute_padding_needed_for_file_alignment
	.type	mz_zip_writer_write_zeros, @function
mz_zip_writer_write_zeros:
.LFB115:
	.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, 64
	mov	QWORD PTR -4136[rbp], rdi
	mov	QWORD PTR -4144[rbp], rsi
	mov	DWORD PTR -4148[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, 4096
	cmp	DWORD PTR -4148[rbp], 4096
	cmovbe	eax, DWORD PTR -4148[rbp]
	mov	edx, eax
	lea	rax, -4112[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	jmp	.L1526
.L1529:
	mov	eax, 4096
	cmp	DWORD PTR -4148[rbp], 4096
	cmovbe	eax, DWORD PTR -4148[rbp]
	mov	DWORD PTR -4116[rbp], eax
	mov	rax, QWORD PTR -4136[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	ecx, DWORD PTR -4116[rbp]
	mov	rax, QWORD PTR -4136[rbp]
	mov	rax, QWORD PTR 80[rax]
	lea	rdx, -4112[rbp]
	mov	rsi, QWORD PTR -4144[rbp]
	mov	rdi, rax
	call	r8
	mov	edx, DWORD PTR -4116[rbp]
	cmp	rax, rdx
	je	.L1527
	mov	eax, 0
	jmp	.L1530
.L1527:
	mov	eax, DWORD PTR -4116[rbp]
	add	QWORD PTR -4144[rbp], rax
	mov	eax, DWORD PTR -4116[rbp]
	sub	DWORD PTR -4148[rbp], eax
.L1526:
	cmp	DWORD PTR -4148[rbp], 0
	jne	.L1529
	mov	eax, 1
.L1530:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1531
	call	__stack_chk_fail@PLT
.L1531:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	mz_zip_writer_write_zeros, .-mz_zip_writer_write_zeros
	.section	.rodata
	.align 8
.LC23:
	.string	"(local_dir_header_ofs & (pZip->m_file_offset_alignment - 1)) == 0"
	.text
	.globl	mz_zip_writer_add_mem_ex
	.type	mz_zip_writer_add_mem_ex, @function
mz_zip_writer_add_mem_ex:
.LFB116:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 304
	mov	QWORD PTR -264[rbp], rdi
	mov	QWORD PTR -272[rbp], rsi
	mov	QWORD PTR -280[rbp], rdx
	mov	QWORD PTR -288[rbp], rcx
	mov	QWORD PTR -296[rbp], r8
	mov	eax, r9d
	mov	WORD PTR -300[rbp], ax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	WORD PTR -250[rbp], 0
	mov	WORD PTR -254[rbp], 0
	mov	WORD PTR -252[rbp], 0
	mov	DWORD PTR -244[rbp], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -224[rbp], rax
	mov	QWORD PTR -216[rbp], 0
	mov	QWORD PTR -208[rbp], 0
	mov	eax, DWORD PTR 16[rbp]
	test	eax, eax
	jns	.L1533
	mov	DWORD PTR 16[rbp], 6
.L1533:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 15
	mov	DWORD PTR -248[rbp], eax
	cmp	DWORD PTR -248[rbp], 0
	je	.L1534
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 1024
	test	eax, eax
	je	.L1535
.L1534:
	mov	eax, 1
	jmp	.L1536
.L1535:
	mov	eax, 0
.L1536:
	mov	DWORD PTR -240[rbp], eax
	cmp	QWORD PTR -264[rbp], 0
	je	.L1537
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1537
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 2
	jne	.L1537
	cmp	QWORD PTR -288[rbp], 0
	je	.L1538
	cmp	QWORD PTR -280[rbp], 0
	je	.L1537
.L1538:
	cmp	QWORD PTR -272[rbp], 0
	je	.L1537
	cmp	WORD PTR -300[rbp], 0
	je	.L1539
	cmp	QWORD PTR -296[rbp], 0
	je	.L1537
.L1539:
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 65535
	je	.L1537
	cmp	DWORD PTR -248[rbp], 10
	jbe	.L1540
.L1537:
	mov	eax, 0
	jmp	.L1574
.L1540:
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -192[rbp], rax
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 1024
	test	eax, eax
	jne	.L1542
	cmp	QWORD PTR 24[rbp], 0
	je	.L1542
	mov	eax, 0
	jmp	.L1574
.L1542:
	mov	eax, 4294967295
	cmp	QWORD PTR -288[rbp], rax
	ja	.L1543
	mov	eax, 4294967295
	cmp	QWORD PTR 24[rbp], rax
	jbe	.L1544
.L1543:
	mov	eax, 0
	jmp	.L1574
.L1544:
	mov	rax, QWORD PTR -272[rbp]
	mov	rdi, rax
	call	mz_zip_writer_validate_archive_name
	test	eax, eax
	jne	.L1545
	mov	eax, 0
	jmp	.L1574
.L1545:
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	time@PLT
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, -252[rbp]
	lea	rcx, -254[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_zip_time_to_dos_time
	mov	rax, QWORD PTR -272[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -184[rbp], rax
	cmp	QWORD PTR -184[rbp], 65535
	jbe	.L1546
	mov	eax, 0
	jmp	.L1574
.L1546:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdi, rax
	call	mz_zip_writer_compute_padding_needed_for_file_alignment
	mov	DWORD PTR -236[rbp], eax
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 65535
	je	.L1547
	mov	rax, QWORD PTR -264[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -236[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -300[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rdx
	lea	rdx, 76[rax]
	mov	eax, 4294967295
	cmp	rdx, rax
	jbe	.L1548
.L1547:
	mov	eax, 0
	jmp	.L1574
.L1548:
	cmp	QWORD PTR -184[rbp], 0
	je	.L1549
	mov	rax, QWORD PTR -184[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -272[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L1549
	or	DWORD PTR -244[rbp], 16
	cmp	QWORD PTR -288[rbp], 0
	jne	.L1550
	cmp	QWORD PTR 24[rbp], 0
	je	.L1549
.L1550:
	mov	eax, 0
	jmp	.L1574
.L1549:
	movzx	edx, WORD PTR -300[rbp]
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rdx
	lea	rcx, 46[rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -264[rbp]
	mov	QWORD PTR -176[rbp], rdx
	mov	QWORD PTR -168[rbp], rax
	mov	QWORD PTR -160[rbp], rcx
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -160[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	QWORD PTR -136[rbp], rdx
	mov	DWORD PTR -232[rbp], 1
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -136[rbp], rax
	jbe	.L1551
	mov	ecx, DWORD PTR -232[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	rsi, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1551
	mov	eax, 0
	jmp	.L1552
.L1551:
	mov	eax, 1
.L1552:
	nop
	test	eax, eax
	je	.L1554
	mov	rax, QWORD PTR -192[rbp]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	QWORD PTR -120[rbp], rdx
	mov	QWORD PTR -112[rbp], 1
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	QWORD PTR -88[rbp], rdx
	mov	DWORD PTR -228[rbp], 1
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -88[rbp], rax
	jbe	.L1555
	mov	ecx, DWORD PTR -228[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1555
	mov	eax, 0
	jmp	.L1556
.L1555:
	mov	eax, 1
.L1556:
	nop
	test	eax, eax
	jne	.L1558
.L1554:
	mov	eax, 0
	jmp	.L1574
.L1558:
	cmp	DWORD PTR -240[rbp], 0
	jne	.L1559
	cmp	QWORD PTR -288[rbp], 0
	je	.L1559
	mov	rax, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	edx, 319352
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -208[rbp], rax
	cmp	QWORD PTR -208[rbp], 0
	jne	.L1559
	mov	eax, 0
	jmp	.L1574
.L1559:
	mov	eax, DWORD PTR -236[rbp]
	lea	edx, 30[rax]
	mov	rcx, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_zip_writer_write_zeros
	test	eax, eax
	jne	.L1560
	mov	rax, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, 0
	jmp	.L1574
.L1560:
	mov	eax, DWORD PTR -236[rbp]
	add	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L1561
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	mov	eax, eax
	and	rax, QWORD PTR -200[rbp]
	test	rax, rax
	je	.L1561
	lea	rcx, __PRETTY_FUNCTION__.2[rip]
	mov	edx, 4332
	lea	rsi, .LC4[rip]
	lea	rdi, .LC23[rip]
	call	__assert_fail@PLT
.L1561:
	mov	edx, DWORD PTR -236[rbp]
	mov	rax, QWORD PTR -224[rbp]
	add	rax, rdx
	add	rax, 30
	mov	QWORD PTR -224[rbp], rax
	lea	rax, -48[rbp]
	mov	edx, 30
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -264[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rcx, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -272[rbp]
	mov	rsi, QWORD PTR -224[rbp]
	mov	rdi, rax
	call	r8
	cmp	QWORD PTR -184[rbp], rax
	je	.L1562
	mov	rax, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, 0
	jmp	.L1574
.L1562:
	mov	rax, QWORD PTR -184[rbp]
	add	QWORD PTR -224[rbp], rax
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 1024
	test	eax, eax
	jne	.L1563
	mov	rdx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	mz_crc32
	mov	DWORD PTR 32[rbp], eax
	mov	rax, QWORD PTR -288[rbp]
	mov	QWORD PTR 24[rbp], rax
	cmp	QWORD PTR 24[rbp], 3
	ja	.L1563
	mov	DWORD PTR -248[rbp], 0
	mov	DWORD PTR -240[rbp], 1
.L1563:
	cmp	DWORD PTR -240[rbp], 0
	je	.L1564
	mov	rax, QWORD PTR -264[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rcx, QWORD PTR -288[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	rsi, QWORD PTR -224[rbp]
	mov	rdi, rax
	call	r8
	cmp	QWORD PTR -288[rbp], rax
	je	.L1565
	mov	rax, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, 0
	jmp	.L1574
.L1565:
	mov	rax, QWORD PTR -288[rbp]
	add	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -288[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 1024
	test	eax, eax
	je	.L1566
	mov	WORD PTR -250[rbp], 8
	jmp	.L1566
.L1564:
	cmp	QWORD PTR -288[rbp], 0
	je	.L1566
	mov	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	QWORD PTR -64[rbp], 0
	mov	eax, DWORD PTR -248[rbp]
	mov	edx, 0
	mov	esi, -15
	mov	edi, eax
	call	tdefl_create_comp_flags_from_zip_params
	mov	ecx, eax
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -208[rbp]
	lea	rsi, mz_zip_writer_add_put_buf_callback[rip]
	mov	rdi, rax
	call	tdefl_init
	test	eax, eax
	jne	.L1567
	mov	rdx, QWORD PTR -288[rbp]
	mov	rsi, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	ecx, 4
	mov	rdi, rax
	call	tdefl_compress_buffer
	cmp	eax, 1
	je	.L1568
.L1567:
	mov	rax, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, 0
	jmp	.L1574
.L1568:
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -224[rbp], rax
	mov	WORD PTR -250[rbp], 8
.L1566:
	mov	rax, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -208[rbp], 0
	mov	eax, 4294967295
	cmp	QWORD PTR -216[rbp], rax
	ja	.L1569
	mov	eax, 4294967295
	cmp	QWORD PTR -224[rbp], rax
	jbe	.L1570
.L1569:
	mov	eax, 0
	jmp	.L1574
.L1570:
	movzx	eax, WORD PTR -252[rbp]
	movzx	r8d, ax
	movzx	eax, WORD PTR -254[rbp]
	movzx	edi, ax
	movzx	ecx, WORD PTR -250[rbp]
	mov	rax, QWORD PTR -184[rbp]
	movzx	edx, ax
	mov	r9, QWORD PTR -216[rbp]
	mov	r10, QWORD PTR 24[rbp]
	lea	rsi, -48[rbp]
	mov	rax, QWORD PTR -264[rbp]
	sub	rsp, 8
	push	r8
	push	rdi
	push	0
	push	rcx
	mov	ecx, DWORD PTR 32[rbp]
	push	rcx
	mov	r8, r10
	mov	ecx, 0
	mov	rdi, rax
	call	mz_zip_writer_create_local_dir_header
	add	rsp, 48
	test	eax, eax
	jne	.L1571
	mov	eax, 0
	jmp	.L1574
.L1571:
	mov	rax, QWORD PTR -264[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR 80[rax]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -200[rbp]
	mov	ecx, 30
	mov	rdi, rax
	call	r8
	cmp	rax, 30
	je	.L1572
	mov	eax, 0
	jmp	.L1574
.L1572:
	movzx	eax, WORD PTR -252[rbp]
	movzx	r9d, ax
	movzx	eax, WORD PTR -254[rbp]
	movzx	r8d, ax
	movzx	edi, WORD PTR -250[rbp]
	movzx	ecx, WORD PTR -300[rbp]
	mov	rax, QWORD PTR -184[rbp]
	movzx	edx, ax
	mov	r11, QWORD PTR -296[rbp]
	mov	rsi, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	r10d, DWORD PTR -244[rbp]
	push	r10
	push	QWORD PTR -200[rbp]
	push	r9
	push	r8
	push	0
	push	rdi
	mov	edi, DWORD PTR 32[rbp]
	push	rdi
	push	QWORD PTR -216[rbp]
	push	QWORD PTR 24[rbp]
	push	rcx
	mov	r9, r11
	mov	r8d, 0
	mov	ecx, 0
	mov	rdi, rax
	call	mz_zip_writer_add_to_central_dir
	add	rsp, 80
	test	eax, eax
	jne	.L1573
	mov	eax, 0
	jmp	.L1574
.L1573:
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -264[rbp]
	mov	rdx, QWORD PTR -224[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
.L1574:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1575
	call	__stack_chk_fail@PLT
.L1575:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	mz_zip_writer_add_mem_ex, .-mz_zip_writer_add_mem_ex
	.globl	mz_zip_writer_add_file
	.type	mz_zip_writer_add_file, @function
mz_zip_writer_add_file:
.LFB117:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -200[rbp], rdi
	mov	QWORD PTR -208[rbp], rsi
	mov	QWORD PTR -216[rbp], rdx
	mov	QWORD PTR -224[rbp], rcx
	mov	eax, r8d
	mov	DWORD PTR -232[rbp], r9d
	mov	WORD PTR -228[rbp], ax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -184[rbp], 0
	mov	WORD PTR -188[rbp], 0
	mov	WORD PTR -192[rbp], 0
	mov	WORD PTR -190[rbp], 0
	mov	WORD PTR -186[rbp], 0
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -160[rbp], rax
	mov	QWORD PTR -128[rbp], 0
	mov	QWORD PTR -152[rbp], 0
	mov	QWORD PTR -120[rbp], 0
	mov	eax, DWORD PTR -232[rbp]
	test	eax, eax
	jns	.L1577
	mov	DWORD PTR -232[rbp], 6
.L1577:
	mov	eax, DWORD PTR -232[rbp]
	and	eax, 15
	mov	DWORD PTR -180[rbp], eax
	cmp	QWORD PTR -200[rbp], 0
	je	.L1578
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1578
	mov	rax, QWORD PTR -200[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 2
	jne	.L1578
	cmp	QWORD PTR -208[rbp], 0
	je	.L1578
	cmp	WORD PTR -228[rbp], 0
	je	.L1579
	cmp	QWORD PTR -224[rbp], 0
	je	.L1578
.L1579:
	cmp	DWORD PTR -180[rbp], 10
	jbe	.L1580
.L1578:
	mov	eax, 0
	jmp	.L1621
.L1580:
	mov	eax, DWORD PTR -232[rbp]
	and	eax, 1024
	test	eax, eax
	je	.L1582
	mov	eax, 0
	jmp	.L1621
.L1582:
	mov	rax, QWORD PTR -208[rbp]
	mov	rdi, rax
	call	mz_zip_writer_validate_archive_name
	test	eax, eax
	jne	.L1583
	mov	eax, 0
	jmp	.L1621
.L1583:
	mov	rax, QWORD PTR -208[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -112[rbp], rax
	cmp	QWORD PTR -112[rbp], 65535
	jbe	.L1584
	mov	eax, 0
	jmp	.L1621
.L1584:
	mov	rax, QWORD PTR -200[rbp]
	mov	rdi, rax
	call	mz_zip_writer_compute_padding_needed_for_file_alignment
	mov	DWORD PTR -172[rbp], eax
	mov	rax, QWORD PTR -200[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 65535
	je	.L1585
	mov	rax, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -172[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -228[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	lea	rdx, 76[rax]
	mov	eax, 4294967295
	cmp	rdx, rax
	jbe	.L1586
.L1585:
	mov	eax, 0
	jmp	.L1621
.L1586:
	lea	rdx, -190[rbp]
	lea	rcx, -192[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_zip_get_file_modified_time
	test	eax, eax
	jne	.L1587
	mov	eax, 0
	jmp	.L1621
.L1587:
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -120[rbp], rax
	cmp	QWORD PTR -120[rbp], 0
	jne	.L1588
	mov	eax, 0
	jmp	.L1621
.L1588:
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 2
	mov	esi, 0
	mov	rdi, rax
	call	fseeko@PLT
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	ftello@PLT
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	fseeko@PLT
	mov	eax, 4294967295
	cmp	QWORD PTR -128[rbp], rax
	jbe	.L1589
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L1621
.L1589:
	cmp	QWORD PTR -128[rbp], 3
	ja	.L1590
	mov	DWORD PTR -180[rbp], 0
.L1590:
	mov	eax, DWORD PTR -172[rbp]
	lea	edx, 30[rax]
	mov	rcx, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_zip_writer_write_zeros
	test	eax, eax
	jne	.L1591
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L1621
.L1591:
	mov	eax, DWORD PTR -172[rbp]
	add	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L1592
	mov	rax, QWORD PTR -200[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	mov	eax, eax
	and	rax, QWORD PTR -136[rbp]
	test	rax, rax
	je	.L1592
	lea	rcx, __PRETTY_FUNCTION__.1[rip]
	mov	edx, 4467
	lea	rsi, .LC4[rip]
	lea	rdi, .LC23[rip]
	call	__assert_fail@PLT
.L1592:
	mov	edx, DWORD PTR -172[rbp]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, rdx
	add	rax, 30
	mov	QWORD PTR -160[rbp], rax
	lea	rax, -48[rbp]
	mov	edx, 30
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -200[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -208[rbp]
	mov	rsi, QWORD PTR -160[rbp]
	mov	rdi, rax
	call	r8
	cmp	QWORD PTR -112[rbp], rax
	je	.L1593
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L1621
.L1593:
	mov	rax, QWORD PTR -112[rbp]
	add	QWORD PTR -160[rbp], rax
	cmp	QWORD PTR -128[rbp], 0
	je	.L1594
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	edx, 65536
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	jne	.L1595
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L1621
.L1595:
	cmp	DWORD PTR -180[rbp], 0
	jne	.L1596
	jmp	.L1597
.L1602:
	cmp	QWORD PTR -144[rbp], 65536
	ja	.L1598
	mov	rax, QWORD PTR -144[rbp]
	jmp	.L1599
.L1598:
	mov	eax, 65536
.L1599:
	mov	DWORD PTR -164[rbp], eax
	mov	edx, DWORD PTR -164[rbp]
	mov	rcx, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	edx, DWORD PTR -164[rbp]
	cmp	rax, rdx
	jne	.L1600
	mov	rax, QWORD PTR -200[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	ecx, DWORD PTR -164[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR -160[rbp]
	mov	rdi, rax
	call	r8
	mov	edx, DWORD PTR -164[rbp]
	cmp	rax, rdx
	je	.L1601
.L1600:
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L1621
.L1601:
	mov	edx, DWORD PTR -164[rbp]
	mov	eax, DWORD PTR -184[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_crc32
	mov	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	sub	QWORD PTR -144[rbp], rax
	mov	eax, DWORD PTR -164[rbp]
	add	QWORD PTR -160[rbp], rax
.L1597:
	cmp	QWORD PTR -144[rbp], 0
	jne	.L1602
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -152[rbp], rax
	jmp	.L1603
.L1596:
	mov	DWORD PTR -176[rbp], 0
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	edx, 319352
	mov	esi, 1
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -96[rbp], rax
	cmp	QWORD PTR -96[rbp], 0
	jne	.L1604
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L1621
.L1604:
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	QWORD PTR -64[rbp], 0
	mov	eax, DWORD PTR -180[rbp]
	mov	edx, 0
	mov	esi, -15
	mov	edi, eax
	call	tdefl_create_comp_flags_from_zip_params
	mov	ecx, eax
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, mz_zip_writer_add_put_buf_callback[rip]
	mov	rdi, rax
	call	tdefl_init
	test	eax, eax
	je	.L1606
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L1621
.L1606:
	cmp	QWORD PTR -144[rbp], 65535
	ja	.L1607
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, eax
	jmp	.L1608
.L1607:
	mov	eax, 65536
.L1608:
	mov	QWORD PTR -88[rbp], rax
	mov	rcx, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	cmp	QWORD PTR -88[rbp], rax
	jne	.L1623
	mov	eax, DWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_crc32
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	sub	QWORD PTR -144[rbp], rax
	cmp	QWORD PTR -144[rbp], 0
	je	.L1611
	mov	ecx, 0
	jmp	.L1612
.L1611:
	mov	ecx, 4
.L1612:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	tdefl_compress_buffer
	mov	DWORD PTR -168[rbp], eax
	cmp	DWORD PTR -168[rbp], 1
	jne	.L1613
	mov	DWORD PTR -176[rbp], 1
	jmp	.L1610
.L1613:
	cmp	DWORD PTR -168[rbp], 0
	jne	.L1624
	jmp	.L1606
.L1623:
	nop
	jmp	.L1610
.L1624:
	nop
.L1610:
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	cmp	DWORD PTR -176[rbp], 0
	jne	.L1615
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L1621
.L1615:
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	WORD PTR -188[rbp], 8
.L1603:
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1594:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	QWORD PTR -120[rbp], 0
	mov	eax, 4294967295
	cmp	QWORD PTR -152[rbp], rax
	ja	.L1616
	mov	eax, 4294967295
	cmp	QWORD PTR -160[rbp], rax
	jbe	.L1617
.L1616:
	mov	eax, 0
	jmp	.L1621
.L1617:
	movzx	eax, WORD PTR -190[rbp]
	movzx	r8d, ax
	movzx	eax, WORD PTR -192[rbp]
	movzx	edi, ax
	movzx	ecx, WORD PTR -188[rbp]
	mov	rax, QWORD PTR -112[rbp]
	movzx	edx, ax
	mov	r9, QWORD PTR -152[rbp]
	mov	r10, QWORD PTR -128[rbp]
	lea	rsi, -48[rbp]
	mov	rax, QWORD PTR -200[rbp]
	sub	rsp, 8
	push	r8
	push	rdi
	push	0
	push	rcx
	mov	ecx, DWORD PTR -184[rbp]
	push	rcx
	mov	r8, r10
	mov	ecx, 0
	mov	rdi, rax
	call	mz_zip_writer_create_local_dir_header
	add	rsp, 48
	test	eax, eax
	jne	.L1618
	mov	eax, 0
	jmp	.L1621
.L1618:
	mov	rax, QWORD PTR -200[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 80[rax]
	lea	rdx, -48[rbp]
	mov	rsi, QWORD PTR -136[rbp]
	mov	ecx, 30
	mov	rdi, rax
	call	r8
	cmp	rax, 30
	je	.L1619
	mov	eax, 0
	jmp	.L1621
.L1619:
	movzx	r10d, WORD PTR -186[rbp]
	movzx	eax, WORD PTR -190[rbp]
	movzx	r9d, ax
	movzx	eax, WORD PTR -192[rbp]
	movzx	r8d, ax
	movzx	edi, WORD PTR -188[rbp]
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -112[rbp]
	movzx	edx, ax
	mov	r11, QWORD PTR -224[rbp]
	mov	rsi, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	push	r10
	push	QWORD PTR -136[rbp]
	push	r9
	push	r8
	push	0
	push	rdi
	mov	edi, DWORD PTR -184[rbp]
	push	rdi
	push	QWORD PTR -152[rbp]
	push	QWORD PTR -128[rbp]
	push	rcx
	mov	r9, r11
	mov	r8d, 0
	mov	ecx, 0
	mov	rdi, rax
	call	mz_zip_writer_add_to_central_dir
	add	rsp, 80
	test	eax, eax
	jne	.L1620
	mov	eax, 0
	jmp	.L1621
.L1620:
	mov	rax, QWORD PTR -200[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR -160[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
.L1621:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L1622
	call	__stack_chk_fail@PLT
.L1622:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	mz_zip_writer_add_file, .-mz_zip_writer_add_file
	.globl	mz_zip_writer_add_from_zip_reader
	.type	mz_zip_writer_add_from_zip_reader, @function
mz_zip_writer_add_from_zip_reader:
.LFB118:
	.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, 504
	.cfi_offset 3, -24
	mov	QWORD PTR -488[rbp], rdi
	mov	QWORD PTR -496[rbp], rsi
	mov	DWORD PTR -500[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	lea	rax, -112[rbp]
	mov	QWORD PTR -408[rbp], rax
	cmp	QWORD PTR -488[rbp], 0
	je	.L1626
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1626
	mov	rax, QWORD PTR -488[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 2
	je	.L1627
.L1626:
	mov	eax, 0
	jmp	.L1675
.L1627:
	mov	rax, QWORD PTR -496[rbp]
	mov	QWORD PTR -360[rbp], rax
	mov	eax, DWORD PTR -500[rbp]
	mov	DWORD PTR -456[rbp], eax
	cmp	QWORD PTR -360[rbp], 0
	je	.L1629
	mov	rax, QWORD PTR -360[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1629
	mov	rax, QWORD PTR -360[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -456[rbp], eax
	jnb	.L1629
	mov	rax, QWORD PTR -360[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 1
	je	.L1630
.L1629:
	mov	eax, 0
	jmp	.L1631
.L1630:
	mov	rax, QWORD PTR -360[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -360[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -456[rbp]
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
.L1631:
	mov	QWORD PTR -400[rbp], rax
	cmp	QWORD PTR -400[rbp], 0
	jne	.L1632
	mov	eax, 0
	jmp	.L1675
.L1632:
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -392[rbp], rax
	mov	rax, QWORD PTR -488[rbp]
	mov	rdi, rax
	call	mz_zip_writer_compute_padding_needed_for_file_alignment
	mov	DWORD PTR -464[rbp], eax
	mov	rax, QWORD PTR -488[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 65535
	je	.L1633
	mov	rax, QWORD PTR -488[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -464[rbp]
	add	rax, rdx
	lea	rdx, 76[rax]
	mov	eax, 4294967295
	cmp	rdx, rax
	jbe	.L1634
.L1633:
	mov	eax, 0
	jmp	.L1675
.L1634:
	mov	rax, QWORD PTR -400[rbp]
	add	rax, 42
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	mov	QWORD PTR -424[rbp], rax
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -416[rbp], rax
	mov	rax, QWORD PTR -496[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -496[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -408[rbp]
	mov	rsi, QWORD PTR -424[rbp]
	mov	ecx, 30
	mov	rdi, rax
	call	r8
	cmp	rax, 30
	je	.L1635
	mov	eax, 0
	jmp	.L1675
.L1635:
	mov	rax, QWORD PTR -408[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 67324752
	je	.L1636
	mov	eax, 0
	jmp	.L1675
.L1636:
	add	QWORD PTR -424[rbp], 30
	mov	edx, DWORD PTR -464[rbp]
	mov	rcx, QWORD PTR -416[rbp]
	mov	rax, QWORD PTR -488[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_zip_writer_write_zeros
	test	eax, eax
	jne	.L1637
	mov	eax, 0
	jmp	.L1675
.L1637:
	mov	eax, DWORD PTR -464[rbp]
	add	QWORD PTR -416[rbp], rax
	mov	rax, QWORD PTR -416[rbp]
	mov	QWORD PTR -384[rbp], rax
	mov	rax, QWORD PTR -488[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L1638
	mov	rax, QWORD PTR -488[rbp]
	mov	eax, DWORD PTR 24[rax]
	sub	eax, 1
	mov	eax, eax
	and	rax, QWORD PTR -384[rbp]
	test	rax, rax
	je	.L1638
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 4626
	lea	rsi, .LC4[rip]
	lea	rdi, .LC23[rip]
	call	__assert_fail@PLT
.L1638:
	mov	rax, QWORD PTR -488[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -408[rbp]
	mov	rsi, QWORD PTR -416[rbp]
	mov	ecx, 30
	mov	rdi, rax
	call	r8
	cmp	rax, 30
	je	.L1639
	mov	eax, 0
	jmp	.L1675
.L1639:
	add	QWORD PTR -416[rbp], 30
	mov	rax, QWORD PTR -408[rbp]
	add	rax, 26
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -408[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	add	eax, edx
	mov	DWORD PTR -468[rbp], eax
	mov	rax, QWORD PTR -400[rbp]
	add	rax, 20
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -468[rbp]
	add	eax, edx
	mov	eax, eax
	mov	QWORD PTR -432[rbp], rax
	mov	rax, QWORD PTR -488[rbp]
	mov	r8, QWORD PTR 32[rax]
	cmp	QWORD PTR -432[rbp], 15
	jbe	.L1640
	mov	eax, 65536
	cmp	QWORD PTR -432[rbp], 65536
	cmovbe	rax, QWORD PTR -432[rbp]
	jmp	.L1641
.L1640:
	mov	eax, 16
.L1641:
	mov	rdx, QWORD PTR -488[rbp]
	mov	rcx, QWORD PTR 56[rdx]
	mov	rdx, rax
	mov	esi, 1
	mov	rdi, rcx
	call	r8
	mov	QWORD PTR -376[rbp], rax
	cmp	QWORD PTR -376[rbp], 0
	jne	.L1643
	mov	eax, 0
	jmp	.L1675
.L1648:
	cmp	QWORD PTR -432[rbp], 65536
	ja	.L1644
	mov	rax, QWORD PTR -432[rbp]
	jmp	.L1645
.L1644:
	mov	eax, 65536
.L1645:
	mov	DWORD PTR -468[rbp], eax
	mov	rax, QWORD PTR -496[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -468[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -496[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	rsi, QWORD PTR -424[rbp]
	mov	rdi, rax
	call	r8
	mov	edx, DWORD PTR -468[rbp]
	mov	edx, edx
	cmp	rax, rdx
	je	.L1646
	mov	rax, QWORD PTR -488[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, 0
	jmp	.L1675
.L1646:
	mov	eax, DWORD PTR -468[rbp]
	mov	eax, eax
	add	QWORD PTR -424[rbp], rax
	mov	rax, QWORD PTR -488[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -468[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	rsi, QWORD PTR -416[rbp]
	mov	rdi, rax
	call	r8
	mov	edx, DWORD PTR -468[rbp]
	mov	edx, edx
	cmp	rax, rdx
	je	.L1647
	mov	rax, QWORD PTR -488[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, 0
	jmp	.L1675
.L1647:
	mov	eax, DWORD PTR -468[rbp]
	mov	eax, eax
	add	QWORD PTR -416[rbp], rax
	mov	eax, DWORD PTR -468[rbp]
	mov	eax, eax
	sub	QWORD PTR -432[rbp], rax
.L1643:
	cmp	QWORD PTR -432[rbp], 0
	jne	.L1648
	mov	rax, QWORD PTR -408[rbp]
	add	rax, 6
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	DWORD PTR -460[rbp], eax
	mov	eax, DWORD PTR -460[rbp]
	and	eax, 8
	test	eax, eax
	je	.L1649
	mov	rax, QWORD PTR -496[rbp]
	mov	r8, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -496[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	rsi, QWORD PTR -424[rbp]
	mov	ecx, 16
	mov	rdi, rax
	call	r8
	cmp	rax, 16
	je	.L1650
	mov	rax, QWORD PTR -488[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, 0
	jmp	.L1675
.L1650:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 134695760
	jne	.L1651
	mov	eax, 16
	jmp	.L1652
.L1651:
	mov	eax, 12
.L1652:
	mov	DWORD PTR -468[rbp], eax
	mov	rax, QWORD PTR -488[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -468[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	rsi, QWORD PTR -416[rbp]
	mov	rdi, rax
	call	r8
	mov	edx, DWORD PTR -468[rbp]
	mov	edx, edx
	cmp	rax, rdx
	je	.L1653
	mov	rax, QWORD PTR -488[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, 0
	jmp	.L1675
.L1653:
	mov	eax, DWORD PTR -468[rbp]
	mov	eax, eax
	add	QWORD PTR -424[rbp], rax
	mov	eax, DWORD PTR -468[rbp]
	mov	eax, eax
	add	QWORD PTR -416[rbp], rax
.L1649:
	mov	rax, QWORD PTR -488[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -488[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	eax, 4294967295
	cmp	QWORD PTR -416[rbp], rax
	jbe	.L1654
	mov	eax, 0
	jmp	.L1675
.L1654:
	mov	rax, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -368[rbp], rax
	mov	rax, QWORD PTR -400[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rbx, QWORD PTR 8[rax]
	mov	QWORD PTR -80[rbp], rcx
	mov	QWORD PTR -72[rbp], rbx
	mov	rcx, QWORD PTR 16[rax]
	mov	rbx, QWORD PTR 24[rax]
	mov	QWORD PTR -64[rbp], rcx
	mov	QWORD PTR -56[rbp], rbx
	mov	rdx, QWORD PTR 32[rax]
	mov	QWORD PTR -48[rbp], rdx
	mov	edx, DWORD PTR 40[rax]
	mov	DWORD PTR -40[rbp], edx
	movzx	eax, WORD PTR 44[rax]
	mov	WORD PTR -36[rbp], ax
	mov	rax, QWORD PTR -384[rbp]
	mov	edx, eax
	lea	rax, -80[rbp]
	add	rax, 42
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le32
	mov	rax, QWORD PTR -392[rbp]
	mov	rdx, QWORD PTR -488[rbp]
	mov	QWORD PTR -352[rbp], rdx
	mov	QWORD PTR -344[rbp], rax
	lea	rax, -80[rbp]
	mov	QWORD PTR -336[rbp], rax
	mov	QWORD PTR -328[rbp], 46
	mov	rax, QWORD PTR -344[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -320[rbp], rax
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -320[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -352[rbp]
	mov	QWORD PTR -312[rbp], rax
	mov	rax, QWORD PTR -344[rbp]
	mov	QWORD PTR -304[rbp], rax
	mov	QWORD PTR -296[rbp], rdx
	mov	DWORD PTR -452[rbp], 1
	mov	rax, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -296[rbp], rax
	jbe	.L1655
	mov	ecx, DWORD PTR -452[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	rsi, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1655
	mov	eax, 0
	jmp	.L1656
.L1655:
	mov	rax, QWORD PTR -304[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1656:
	test	eax, eax
	jne	.L1657
	mov	eax, 0
	jmp	.L1658
.L1657:
	mov	rax, QWORD PTR -344[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -328[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -344[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -344[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -320[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -336[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	eax, 1
.L1658:
	test	eax, eax
	jne	.L1659
	mov	eax, 0
	jmp	.L1675
.L1659:
	mov	rax, QWORD PTR -400[rbp]
	add	rax, 28
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rax, QWORD PTR -400[rbp]
	add	rax, 30
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	add	edx, eax
	mov	rax, QWORD PTR -400[rbp]
	add	rax, 32
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	add	eax, edx
	mov	DWORD PTR -468[rbp], eax
	mov	eax, DWORD PTR -468[rbp]
	mov	esi, eax
	mov	rax, QWORD PTR -400[rbp]
	lea	rcx, 46[rax]
	mov	rax, QWORD PTR -392[rbp]
	mov	rdx, QWORD PTR -488[rbp]
	mov	QWORD PTR -288[rbp], rdx
	mov	QWORD PTR -280[rbp], rax
	mov	QWORD PTR -272[rbp], rcx
	mov	QWORD PTR -264[rbp], rsi
	mov	rax, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -256[rbp], rax
	mov	rdx, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -256[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -288[rbp]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -240[rbp], rax
	mov	QWORD PTR -232[rbp], rdx
	mov	DWORD PTR -448[rbp], 1
	mov	rax, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -232[rbp], rax
	jbe	.L1660
	mov	ecx, DWORD PTR -448[rbp]
	mov	rdx, QWORD PTR -232[rbp]
	mov	rsi, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1660
	mov	eax, 0
	jmp	.L1661
.L1660:
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -232[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1661:
	test	eax, eax
	jne	.L1662
	mov	eax, 0
	jmp	.L1663
.L1662:
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -264[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -256[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -272[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	eax, 1
.L1663:
	test	eax, eax
	jne	.L1664
	mov	rax, QWORD PTR -392[rbp]
	mov	rdx, QWORD PTR -488[rbp]
	mov	QWORD PTR -224[rbp], rdx
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -368[rbp]
	mov	QWORD PTR -208[rbp], rax
	mov	DWORD PTR -444[rbp], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -208[rbp], rax
	jbe	.L1665
	mov	ecx, DWORD PTR -444[rbp]
	mov	rdx, QWORD PTR -208[rbp]
	mov	rsi, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR -224[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	je	.L1677
.L1665:
	mov	rax, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -208[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L1666
.L1677:
	nop
.L1666:
	mov	eax, 0
	jmp	.L1675
.L1664:
	mov	rax, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, 4294967295
	cmp	rax, rdx
	jbe	.L1667
	mov	eax, 0
	jmp	.L1675
.L1667:
	mov	rax, QWORD PTR -368[rbp]
	mov	DWORD PTR -468[rbp], eax
	mov	rax, QWORD PTR -392[rbp]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -488[rbp]
	mov	QWORD PTR -200[rbp], rax
	mov	QWORD PTR -192[rbp], rdx
	lea	rax, -468[rbp]
	mov	QWORD PTR -184[rbp], rax
	mov	QWORD PTR -176[rbp], 1
	mov	rax, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -168[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -200[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	QWORD PTR -144[rbp], rdx
	mov	DWORD PTR -440[rbp], 1
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -144[rbp], rax
	jbe	.L1668
	mov	ecx, DWORD PTR -440[rbp]
	mov	rdx, QWORD PTR -144[rbp]
	mov	rsi, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR -160[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	jne	.L1668
	mov	eax, 0
	jmp	.L1669
.L1668:
	mov	rax, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -144[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 1
.L1669:
	test	eax, eax
	jne	.L1670
	mov	eax, 0
	jmp	.L1671
.L1670:
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -176[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -192[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	eax, eax
	imul	rax, QWORD PTR -168[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	eax, 1
.L1671:
	test	eax, eax
	jne	.L1672
	mov	rax, QWORD PTR -392[rbp]
	mov	rdx, QWORD PTR -488[rbp]
	mov	QWORD PTR -136[rbp], rdx
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -368[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	DWORD PTR -436[rbp], 0
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -120[rbp], rax
	jbe	.L1673
	mov	ecx, DWORD PTR -436[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	mz_zip_array_ensure_capacity
	test	eax, eax
	je	.L1678
.L1673:
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L1674
.L1678:
	nop
.L1674:
	mov	eax, 0
	jmp	.L1675
.L1672:
	mov	rax, QWORD PTR -488[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -488[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -488[rbp]
	mov	rdx, QWORD PTR -416[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
.L1675:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L1676
	call	__stack_chk_fail@PLT
.L1676:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	mz_zip_writer_add_from_zip_reader, .-mz_zip_writer_add_from_zip_reader
	.globl	mz_zip_writer_finalize_archive
	.type	mz_zip_writer_finalize_archive, @function
mz_zip_writer_finalize_archive:
.LFB119:
	.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 -72[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -72[rbp], 0
	je	.L1680
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1680
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 2
	je	.L1681
.L1680:
	mov	eax, 0
	jmp	.L1689
.L1681:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 65535
	ja	.L1683
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, rdx
	lea	rdx, 22[rax]
	mov	eax, 4294967295
	cmp	rdx, rax
	jbe	.L1684
.L1683:
	mov	eax, 0
	jmp	.L1689
.L1684:
	mov	QWORD PTR -56[rbp], 0
	mov	QWORD PTR -48[rbp], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L1685
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	r8
	cmp	QWORD PTR -48[rbp], rax
	je	.L1686
	mov	eax, 0
	jmp	.L1689
.L1686:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rdx
.L1685:
	lea	rax, -32[rbp]
	mov	edx, 22
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rax, -32[rbp]
	mov	esi, 101010256
	mov	rdi, rax
	call	mz_write_le32
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	movzx	edx, ax
	lea	rax, -32[rbp]
	add	rax, 8
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le16
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	movzx	edx, ax
	lea	rax, -32[rbp]
	add	rax, 10
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le16
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, eax
	lea	rax, -32[rbp]
	add	rax, 12
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le32
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, eax
	lea	rax, -32[rbp]
	add	rax, 16
	mov	esi, edx
	mov	rdi, rax
	call	mz_write_le32
	mov	rax, QWORD PTR -72[rbp]
	mov	r8, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 80[rax]
	lea	rdx, -32[rbp]
	mov	ecx, 22
	mov	rdi, rax
	call	r8
	cmp	rax, 22
	je	.L1687
	mov	eax, 0
	jmp	.L1689
.L1687:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	test	rax, rax
	je	.L1688
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rdi, rax
	call	fflush@PLT
	cmp	eax, -1
	jne	.L1688
	mov	eax, 0
	jmp	.L1689
.L1688:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 22[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 20[rax], 3
	mov	eax, 1
.L1689:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1690
	call	__stack_chk_fail@PLT
.L1690:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	mz_zip_writer_finalize_archive, .-mz_zip_writer_finalize_archive
	.globl	mz_zip_writer_finalize_heap_archive
	.type	mz_zip_writer_finalize_heap_archive, @function
mz_zip_writer_finalize_heap_archive:
.LFB120:
	.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
	cmp	QWORD PTR -8[rbp], 0
	je	.L1692
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1692
	cmp	QWORD PTR -16[rbp], 0
	je	.L1692
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1693
.L1692:
	mov	eax, 0
	jmp	.L1694
.L1693:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 72[rax]
	lea	rdx, mz_zip_heap_write_func[rip]
	cmp	rax, rdx
	je	.L1695
	mov	eax, 0
	jmp	.L1694
.L1695:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	mz_zip_writer_finalize_archive
	test	eax, eax
	jne	.L1696
	mov	eax, 0
	jmp	.L1694
.L1696:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 104[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR 104[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR 120[rax], 0
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 88[rdx]
	mov	rax, QWORD PTR 120[rax]
	mov	QWORD PTR 112[rdx], rax
	mov	eax, 1
.L1694:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	mz_zip_writer_finalize_heap_archive, .-mz_zip_writer_finalize_heap_archive
	.globl	mz_zip_writer_end
	.type	mz_zip_writer_end, @function
mz_zip_writer_end:
.LFB121:
	.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 -72[rbp], rdi
	mov	DWORD PTR -60[rbp], 1
	cmp	QWORD PTR -72[rbp], 0
	je	.L1698
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L1698
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L1698
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L1698
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 2
	je	.L1699
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 20[rax]
	cmp	eax, 3
	je	.L1699
.L1698:
	mov	eax, 0
	jmp	.L1700
.L1699:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 88[rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR -16[rbp], rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	nop
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	nop
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 64[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	nop
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	test	rax, rax
	je	.L1701
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 96[rax], 0
.L1701:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 72[rax]
	lea	rdx, mz_zip_heap_write_func[rip]
	cmp	rax, rdx
	jne	.L1702
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	je	.L1702
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 104[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 104[rax], 0
.L1702:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 20[rax], 0
	mov	eax, DWORD PTR -60[rbp]
.L1700:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	mz_zip_writer_end, .-mz_zip_writer_end
	.globl	mz_zip_add_mem_to_archive_file_in_place
	.type	mz_zip_add_mem_to_archive_file_in_place, @function
mz_zip_add_mem_to_archive_file_in_place:
.LFB122:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	QWORD PTR -280[rbp], rdi
	mov	QWORD PTR -288[rbp], rsi
	mov	QWORD PTR -296[rbp], rdx
	mov	QWORD PTR -304[rbp], rcx
	mov	QWORD PTR -312[rbp], r8
	mov	eax, r9d
	mov	WORD PTR -316[rbp], ax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -264[rbp], 0
	lea	rax, -256[rbp]
	mov	edx, 96
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR 16[rbp]
	test	eax, eax
	jns	.L1704
	mov	DWORD PTR 16[rbp], 6
.L1704:
	cmp	QWORD PTR -280[rbp], 0
	je	.L1705
	cmp	QWORD PTR -288[rbp], 0
	je	.L1705
	cmp	QWORD PTR -304[rbp], 0
	je	.L1706
	cmp	QWORD PTR -296[rbp], 0
	je	.L1705
.L1706:
	cmp	WORD PTR -316[rbp], 0
	je	.L1707
	cmp	QWORD PTR -312[rbp], 0
	je	.L1705
.L1707:
	mov	eax, DWORD PTR 16[rbp]
	and	eax, 15
	cmp	eax, 10
	jbe	.L1708
.L1705:
	mov	eax, 0
	jmp	.L1718
.L1708:
	mov	rax, QWORD PTR -288[rbp]
	mov	rdi, rax
	call	mz_zip_writer_validate_archive_name
	test	eax, eax
	jne	.L1710
	mov	eax, 0
	jmp	.L1718
.L1710:
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	je	.L1711
	mov	rcx, QWORD PTR -280[rbp]
	lea	rax, -256[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_zip_writer_init_file
	test	eax, eax
	jne	.L1712
	mov	eax, 0
	jmp	.L1718
.L1712:
	mov	DWORD PTR -264[rbp], 1
	jmp	.L1713
.L1711:
	mov	eax, DWORD PTR 16[rbp]
	or	ah, 8
	mov	edx, eax
	mov	rcx, QWORD PTR -280[rbp]
	lea	rax, -256[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_zip_reader_init_file
	test	eax, eax
	jne	.L1714
	mov	eax, 0
	jmp	.L1718
.L1714:
	mov	rdx, QWORD PTR -280[rbp]
	lea	rax, -256[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	mz_zip_writer_init_from_reader
	test	eax, eax
	jne	.L1713
	lea	rax, -256[rbp]
	mov	rdi, rax
	call	mz_zip_reader_end
	mov	eax, 0
	jmp	.L1718
.L1713:
	movzx	r9d, WORD PTR -316[rbp]
	mov	r8, QWORD PTR -312[rbp]
	mov	rcx, QWORD PTR -304[rbp]
	mov	rdx, QWORD PTR -296[rbp]
	mov	rsi, QWORD PTR -288[rbp]
	lea	rax, -256[rbp]
	sub	rsp, 8
	push	0
	push	0
	mov	edi, DWORD PTR 16[rbp]
	push	rdi
	mov	rdi, rax
	call	mz_zip_writer_add_mem_ex
	add	rsp, 32
	mov	DWORD PTR -268[rbp], eax
	lea	rax, -256[rbp]
	mov	rdi, rax
	call	mz_zip_writer_finalize_archive
	test	eax, eax
	jne	.L1715
	mov	DWORD PTR -268[rbp], 0
.L1715:
	lea	rax, -256[rbp]
	mov	rdi, rax
	call	mz_zip_writer_end
	test	eax, eax
	jne	.L1716
	mov	DWORD PTR -268[rbp], 0
.L1716:
	cmp	DWORD PTR -268[rbp], 0
	jne	.L1717
	cmp	DWORD PTR -264[rbp], 0
	je	.L1717
	mov	rax, QWORD PTR -280[rbp]
	mov	rdi, rax
	call	remove@PLT
	mov	DWORD PTR -260[rbp], eax
.L1717:
	mov	eax, DWORD PTR -268[rbp]
.L1718:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1719
	call	__stack_chk_fail@PLT
.L1719:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	mz_zip_add_mem_to_archive_file_in_place, .-mz_zip_add_mem_to_archive_file_in_place
	.globl	mz_zip_extract_archive_file_to_heap
	.type	mz_zip_extract_archive_file_to_heap, @function
mz_zip_extract_archive_file_to_heap:
.LFB123:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	QWORD PTR -152[rbp], rdx
	mov	DWORD PTR -156[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -120[rbp], 0
	cmp	QWORD PTR -152[rbp], 0
	je	.L1721
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR [rax], 0
.L1721:
	cmp	QWORD PTR -136[rbp], 0
	je	.L1722
	cmp	QWORD PTR -144[rbp], 0
	jne	.L1723
.L1722:
	mov	eax, 0
	jmp	.L1727
.L1723:
	lea	rax, -112[rbp]
	mov	edx, 96
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -156[rbp]
	or	ah, 8
	mov	edx, eax
	mov	rcx, QWORD PTR -136[rbp]
	lea	rax, -112[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	mz_zip_reader_init_file
	test	eax, eax
	jne	.L1725
	mov	eax, 0
	jmp	.L1727
.L1725:
	mov	edx, DWORD PTR -156[rbp]
	mov	rsi, QWORD PTR -144[rbp]
	lea	rax, -112[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	mz_zip_reader_locate_file
	mov	DWORD PTR -124[rbp], eax
	cmp	DWORD PTR -124[rbp], 0
	js	.L1726
	mov	esi, DWORD PTR -124[rbp]
	mov	ecx, DWORD PTR -156[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	lea	rax, -112[rbp]
	mov	rdi, rax
	call	mz_zip_reader_extract_to_heap
	mov	QWORD PTR -120[rbp], rax
.L1726:
	lea	rax, -112[rbp]
	mov	rdi, rax
	call	mz_zip_reader_end
	mov	rax, QWORD PTR -120[rbp]
.L1727:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1728
	call	__stack_chk_fail@PLT
.L1728:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	mz_zip_extract_archive_file_to_heap, .-mz_zip_extract_archive_file_to_heap
	.section	.rodata
	.align 32
	.type	s_crc32.22, @object
	.size	s_crc32.22, 64
s_crc32.22:
	.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
.LC24:
	.string	""
.LC25:
	.string	"stream end"
.LC26:
	.string	"need dictionary"
.LC27:
	.string	"file error"
.LC28:
	.string	"stream error"
.LC29:
	.string	"data error"
.LC30:
	.string	"out of memory"
.LC31:
	.string	"buf error"
.LC32:
	.string	"version error"
.LC33:
	.string	"parameter error"
	.section	.data.rel.local,"aw"
	.align 32
	.type	s_error_descs.21, @object
	.size	s_error_descs.21, 160
s_error_descs.21:
	.long	0
	.zero	4
	.quad	.LC24
	.long	1
	.zero	4
	.quad	.LC25
	.long	2
	.zero	4
	.quad	.LC26
	.long	-1
	.zero	4
	.quad	.LC27
	.long	-2
	.zero	4
	.quad	.LC28
	.long	-3
	.zero	4
	.quad	.LC29
	.long	-4
	.zero	4
	.quad	.LC30
	.long	-5
	.zero	4
	.quad	.LC31
	.long	-6
	.zero	4
	.quad	.LC32
	.long	-10000
	.zero	4
	.quad	.LC33
	.section	.rodata
	.align 8
	.type	s_min_table_sizes.20, @object
	.size	s_min_table_sizes.20, 12
s_min_table_sizes.20:
	.long	257
	.long	1
	.long	4
	.align 16
	.type	s_length_dezigzag.19, @object
	.size	s_length_dezigzag.19, 19
s_length_dezigzag.19:
	.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.18, @object
	.size	s_length_extra.18, 124
s_length_extra.18:
	.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.17, @object
	.size	s_length_base.17, 124
s_length_base.17:
	.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.16, @object
	.size	s_dist_extra.16, 128
s_dist_extra.16:
	.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.15, @object
	.size	s_dist_base.15, 128
s_dist_base.15:
	.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__.14, @object
	.size	__PRETTY_FUNCTION__.14, 26
__PRETTY_FUNCTION__.14:
	.string	"tdefl_start_dynamic_block"
	.align 16
	.type	__PRETTY_FUNCTION__.13, @object
	.size	__PRETTY_FUNCTION__.13, 25
__PRETTY_FUNCTION__.13:
	.string	"tdefl_start_static_block"
	.align 16
	.type	__PRETTY_FUNCTION__.12, @object
	.size	__PRETTY_FUNCTION__.12, 24
__PRETTY_FUNCTION__.12:
	.string	"tdefl_compress_lz_codes"
	.align 16
	.type	__PRETTY_FUNCTION__.11, @object
	.size	__PRETTY_FUNCTION__.11, 18
__PRETTY_FUNCTION__.11:
	.string	"tdefl_flush_block"
	.align 16
	.type	__PRETTY_FUNCTION__.10, @object
	.size	__PRETTY_FUNCTION__.10, 20
__PRETTY_FUNCTION__.10:
	.string	"tdefl_compress_fast"
	.align 16
	.type	__PRETTY_FUNCTION__.9, @object
	.size	__PRETTY_FUNCTION__.9, 22
__PRETTY_FUNCTION__.9:
	.string	"tdefl_compress_normal"
	.align 16
	.type	__PRETTY_FUNCTION__.8, @object
	.size	__PRETTY_FUNCTION__.8, 17
__PRETTY_FUNCTION__.8:
	.string	"tdefl_find_match"
	.align 16
	.type	__PRETTY_FUNCTION__.7, @object
	.size	__PRETTY_FUNCTION__.7, 19
__PRETTY_FUNCTION__.7:
	.string	"tdefl_record_match"
	.align 16
	.type	__PRETTY_FUNCTION__.6, @object
	.size	__PRETTY_FUNCTION__.6, 22
__PRETTY_FUNCTION__.6:
	.string	"tdefl_compress_buffer"
	.align 32
	.type	s_tdefl_png_num_probes.5, @object
	.size	s_tdefl_png_num_probes.5, 44
s_tdefl_png_num_probes.5:
	.long	0
	.long	1
	.long	6
	.long	32
	.long	16
	.long	32
	.long	128
	.long	256
	.long	512
	.long	768
	.long	1500
	.type	chans.4, @object
	.size	chans.4, 5
chans.4:
	.string	""
	.string	""
	.ascii	"\004\002\006"
	.align 16
	.type	__PRETTY_FUNCTION__.3, @object
	.size	__PRETTY_FUNCTION__.3, 29
__PRETTY_FUNCTION__.3:
	.string	"mz_zip_array_ensure_capacity"
	.align 16
	.type	__PRETTY_FUNCTION__.2, @object
	.size	__PRETTY_FUNCTION__.2, 25
__PRETTY_FUNCTION__.2:
	.string	"mz_zip_writer_add_mem_ex"
	.align 16
	.type	__PRETTY_FUNCTION__.1, @object
	.size	__PRETTY_FUNCTION__.1, 23
__PRETTY_FUNCTION__.1:
	.string	"mz_zip_writer_add_file"
	.align 32
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 34
__PRETTY_FUNCTION__.0:
	.string	"mz_zip_writer_add_from_zip_reader"
	.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	"821599.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.5692
	.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
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	def_alloc_func, %function
def_alloc_func:
	@ 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]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	mul	r3, r2, r3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	def_alloc_func, .-def_alloc_func
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	def_free_func, %function
def_free_func:
	@ 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	r0, [fp, #-12]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	def_free_func, .-def_free_func
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	def_realloc_func, %function
def_realloc_func:
	@ 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, #-16]
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	realloc
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	def_realloc_func, .-def_realloc_func
	.section	.rodata
	.align	2
.LC0:
	.ascii	"9.1.15\000"
	.text
	.align	2
	.global	mz_version
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_version, %function
mz_version:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L27
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L28:
	.align	2
.L27:
	.word	.LC0
	.size	mz_version, .-mz_version
	.align	2
	.global	mz_deflateInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_deflateInit, %function
mz_deflateInit:
	@ args = 0, pretend = 0, frame = 8
	@ 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]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #9
	str	r3, [sp]
	mov	r3, #15
	mov	r2, #8
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	mz_deflateInit2
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_deflateInit, .-mz_deflateInit
	.align	2
	.global	mz_deflateInit2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_deflateInit2, %function
mz_deflateInit2:
	@ args = 8, 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	r2, [fp, #8]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-20]
	bl	tdefl_create_comp_flags_from_zip_params
	mov	r3, r0
	orr	r3, r3, #8192
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L32
	mvn	r3, #1
	b	.L33
.L32:
	ldr	r3, [fp, #-24]
	cmp	r3, #8
	bne	.L34
	ldr	r3, [fp, #4]
	cmp	r3, #0
	ble	.L34
	ldr	r3, [fp, #4]
	cmp	r3, #9
	bgt	.L34
	ldr	r3, [fp, #-28]
	cmp	r3, #15
	beq	.L35
	ldr	r3, [fp, #-28]
	cmn	r3, #15
	beq	.L35
.L34:
	ldr	r3, .L40
	b	.L33
.L35:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #44]
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #52]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L36
	ldr	r3, [fp, #-16]
	ldr	r2, .L40+4
	str	r2, [r3, #32]
.L36:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L37
	ldr	r3, [fp, #-16]
	ldr	r2, .L40+8
	str	r2, [r3, #36]
.L37:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #40]
	ldr	r2, .L40+12
	mov	r1, #1
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L38
	mvn	r3, #3
	b	.L33
.L38:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	tdefl_init
	mov	r3, r0
	cmp	r3, #0
	beq	.L39
	ldr	r0, [fp, #-16]
	bl	mz_deflateEnd
	ldr	r3, .L40
	b	.L33
.L39:
	mov	r3, #0
.L33:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L41:
	.align	2
.L40:
	.word	-10000
	.word	def_alloc_func
	.word	def_free_func
	.word	319296
	.size	mz_deflateInit2, .-mz_deflateInit2
	.align	2
	.global	mz_deflateReset
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_deflateReset, %function
mz_deflateReset:
	@ 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	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L43
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L43
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L43
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L44
.L43:
	mvn	r3, #1
	b	.L45
.L44:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r0, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #8]
	mov	r2, #0
	mov	r1, #0
	bl	tdefl_init
	mov	r3, #0
.L45:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_deflateReset, .-mz_deflateReset
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_deflate
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_deflate, %function
mz_deflate:
	@ 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, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L64
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L47
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L47
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	blt	.L47
	ldr	r3, [fp, #-44]
	cmp	r3, #4
	bgt	.L47
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L48
.L47:
	mvn	r3, #1
	b	.L61
.L48:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L50
	mvn	r3, #4
	b	.L61
.L50:
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bne	.L51
	mov	r3, #2
	str	r3, [fp, #-44]
.L51:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	ldr	r3, [r3, #108]
	cmp	r3, #1
	bne	.L52
	ldr	r3, [fp, #-44]
	cmp	r3, #4
	bne	.L53
	mov	r3, #1
	b	.L61
.L53:
	mvn	r3, #4
	b	.L61
.L52:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-16]
.L60:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #28]
	ldr	r3, [fp, #-40]
	ldr	r1, [r3]
	ldr	r3, [fp, #-40]
	ldr	ip, [r3, #12]
	ldr	r3, [fp, #-44]
	sub	r2, fp, #32
	str	r3, [sp, #4]
	sub	r3, fp, #28
	str	r3, [sp]
	mov	r3, ip
	bl	tdefl_compress
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	sub	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	mov	r0, r3
	bl	tdefl_get_adler32
	mov	r2, r0
	ldr	r3, [fp, #-40]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	sub	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L55
	mvn	r3, #1
	str	r3, [fp, #-24]
	b	.L56
.L55:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L57
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L56
.L57:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L63
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L60
	ldr	r3, [fp, #-44]
	cmp	r3, #4
	beq	.L60
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L56
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L56
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L56
	mvn	r3, #4
	b	.L61
.L63:
	nop
.L56:
	ldr	r3, [fp, #-24]
.L61:
	ldr	r2, .L64
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L62
	bl	__stack_chk_fail
.L62:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L65:
	.align	2
.L64:
	.word	.LC1
	.size	mz_deflate, .-mz_deflate
	.align	2
	.global	mz_deflateEnd
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_deflateEnd, %function
mz_deflateEnd:
	@ 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	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L67
	mvn	r3, #1
	b	.L68
.L67:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L69
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-8]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #28]
	mov	r1, r2
	blx	r3
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
.L69:
	mov	r3, #0
.L68:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_deflateEnd, .-mz_deflateEnd
	.align	2
	.global	mz_deflateBound
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_deflateBound, %function
mz_deflateBound:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #10
	ldr	r2, .L72
	umull	r1, r3, r2, r3
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #2
	add	r2, r3, r2
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	add	r1, r3, #128
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L72+4
	umull	r0, r3, r2, r3
	lsr	r3, r3, #5
	add	r3, r3, #128
	cmp	r1, r3
	movcs	r3, r1
	movcc	r3, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L73:
	.align	2
.L72:
	.word	138547365
	.word	1374389535
	.size	mz_deflateBound, .-mz_deflateBound
	.section	.rodata
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_compress2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_compress2, %function
mz_compress2:
	@ args = 4, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, .L82
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #64
	mov	r2, #56
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	sub	r3, fp, #64
	ldr	r1, [fp, #4]
	mov	r0, r3
	bl	mz_deflateInit
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L75
	ldr	r3, [fp, #-68]
	b	.L80
.L75:
	sub	r3, fp, #64
	mov	r1, #4
	mov	r0, r3
	bl	mz_deflate
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #1
	beq	.L77
	sub	r3, fp, #64
	mov	r0, r3
	bl	mz_deflateEnd
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L78
	ldr	r3, [fp, #-68]
	b	.L80
.L78:
	mvn	r3, #4
	b	.L80
.L77:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-76]
	str	r2, [r3]
	sub	r3, fp, #64
	mov	r0, r3
	bl	mz_deflateEnd
	mov	r3, r0
.L80:
	ldr	r2, .L82
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L81
	bl	__stack_chk_fail
.L81:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L83:
	.align	2
.L82:
	.word	.LC2
	.size	mz_compress2, .-mz_compress2
	.align	2
	.global	mz_compress
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_compress, %function
mz_compress:
	@ 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]
	mvn	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	mz_compress2
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_compress, .-mz_compress
	.align	2
	.global	mz_compressBound
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_compressBound, %function
mz_compressBound:
	@ 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	r1, [fp, #-8]
	mov	r0, #0
	bl	mz_deflateBound
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_compressBound, .-mz_compressBound
	.align	2
	.global	mz_inflateInit2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_inflateInit2, %function
mz_inflateInit2:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L89
	mvn	r3, #1
	b	.L90
.L89:
	ldr	r3, [fp, #-20]
	cmp	r3, #15
	beq	.L91
	ldr	r3, [fp, #-20]
	cmn	r3, #15
	beq	.L91
	ldr	r3, .L95
	b	.L90
.L91:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #44]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #52]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L92
	ldr	r3, [fp, #-16]
	ldr	r2, .L95+4
	str	r2, [r3, #32]
.L92:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L93
	ldr	r3, [fp, #-16]
	ldr	r2, .L95+8
	str	r2, [r3, #36]
.L93:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #40]
	ldr	r2, .L95+12
	mov	r1, #1
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L94
	mvn	r3, #3
	b	.L90
.L94:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8192
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2800]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8192
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2804]
	ldr	r3, [fp, #-8]
	add	r3, r3, #40960
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #2820]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8192
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #2808]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8192
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2812]
	ldr	r3, [fp, #-8]
	add	r3, r3, #8192
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r3, [r2, #2816]
	mov	r3, #0
.L90:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L96:
	.align	2
.L95:
	.word	-10000
	.word	def_alloc_func
	.word	def_free_func
	.word	43784
	.size	mz_inflateInit2, .-mz_inflateInit2
	.align	2
	.global	mz_inflateInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_inflateInit, %function
mz_inflateInit:
	@ 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]
	mov	r1, #15
	ldr	r0, [fp, #-8]
	bl	mz_inflateInit2
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_inflateInit, .-mz_inflateInit
	.section	.rodata
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_inflate
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_inflate, %function
mz_inflate:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L127
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L100
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L101
.L100:
	mvn	r3, #1
	b	.L125
.L101:
	ldr	r3, [fp, #-52]
	cmp	r3, #1
	bne	.L103
	mov	r3, #2
	str	r3, [fp, #-52]
.L103:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L104
	ldr	r3, [fp, #-52]
	cmp	r3, #2
	beq	.L104
	ldr	r3, [fp, #-52]
	cmp	r3, #4
	beq	.L104
	mvn	r3, #1
	b	.L125
.L104:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2816]
	cmp	r3, #0
	ble	.L105
	ldr	r3, [fp, #-32]
	orr	r3, r3, #1
	str	r3, [fp, #-32]
.L105:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2808]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2808]
	ldr	r3, [fp, #-28]
	add	r3, r3, #40960
	ldr	r3, [r3, #2820]
	cmp	r3, #0
	bge	.L106
	mvn	r3, #2
	b	.L125
.L106:
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2812]
	cmp	r3, #0
	beq	.L107
	ldr	r3, [fp, #-52]
	cmp	r3, #4
	beq	.L107
	mvn	r3, #1
	b	.L125
.L107:
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2812]
	ldr	r2, [fp, #-52]
	cmp	r2, #4
	moveq	r2, #1
	movne	r2, #0
	and	r2, r2, #255
	orr	r3, r3, r2
	ldr	r2, [fp, #-28]
	add	r2, r2, #8192
	str	r3, [r2, #2812]
	ldr	r3, [fp, #-52]
	cmp	r3, #4
	bne	.L108
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L108
	ldr	r3, [fp, #-32]
	orr	r3, r3, #4
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-36]
	ldr	r0, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3]
	ldr	r3, [fp, #-48]
	ldr	lr, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	sub	ip, fp, #40
	ldr	r2, [fp, #-32]
	str	r2, [sp, #8]
	sub	r2, fp, #36
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	mov	r2, ip
	bl	tinfl_decompress
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r3, #40960
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r3, [r2, #2820]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	sub	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-36]
	sub	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L109
	mvn	r3, #2
	b	.L125
.L109:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L110
	ldr	r3, [fp, #-28]
	add	r3, r3, #40960
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #2820]
	mvn	r3, #4
	b	.L125
.L110:
	mov	r3, #1
	b	.L125
.L108:
	ldr	r3, [fp, #-52]
	cmp	r3, #4
	beq	.L111
	ldr	r3, [fp, #-32]
	orr	r3, r3, #2
	str	r3, [fp, #-32]
.L111:
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2804]
	cmp	r3, #0
	beq	.L112
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2804]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #11008
	add	r3, r3, #4
	ldr	r2, [fp, #-28]
	add	r2, r2, #8192
	ldr	r2, [r2, #2800]
	add	r3, r3, r2
	ldr	r2, [fp, #-12]
	mov	r1, r3
	bl	memcpy
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	sub	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r2, [r3, #2804]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	add	r2, r2, #8192
	str	r3, [r2, #2804]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r2, [r3, #2800]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	ldr	r2, [fp, #-28]
	add	r2, r2, #8192
	str	r3, [r2, #2800]
	ldr	r3, [fp, #-28]
	add	r3, r3, #40960
	ldr	r3, [r3, #2820]
	cmp	r3, #0
	bne	.L113
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2804]
	cmp	r3, #0
	bne	.L113
	mov	r3, #1
	b	.L125
.L113:
	mov	r3, #0
	b	.L125
.L112:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2800]
	rsb	r3, r3, #32768
	str	r3, [fp, #-36]
	ldr	r0, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldr	ip, [r3]
	ldr	r3, [fp, #-28]
	add	r2, r3, #11008
	add	r2, r2, #4
	ldr	r3, [fp, #-28]
	add	r3, r3, #11008
	add	r3, r3, #4
	ldr	r1, [fp, #-28]
	add	r1, r1, #8192
	ldr	r1, [r1, #2800]
	add	r3, r3, r1
	sub	lr, fp, #40
	ldr	r1, [fp, #-32]
	str	r1, [sp, #8]
	sub	r1, fp, #36
	str	r1, [sp, #4]
	str	r3, [sp]
	mov	r3, r2
	mov	r2, lr
	mov	r1, ip
	bl	tinfl_decompress
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r3, #40960
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r3, [r2, #2820]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	sub	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-28]
	add	r2, r2, #8192
	str	r3, [r2, #2804]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2804]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-28]
	add	r3, r3, #11008
	add	r3, r3, #4
	ldr	r2, [fp, #-28]
	add	r2, r2, #8192
	ldr	r2, [r2, #2800]
	add	r3, r3, r2
	ldr	r2, [fp, #-12]
	mov	r1, r3
	bl	memcpy
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	sub	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r2, [r3, #2804]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	add	r2, r2, #8192
	str	r3, [r2, #2804]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r2, [r3, #2800]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	ldr	r2, [fp, #-28]
	add	r2, r2, #8192
	str	r3, [r2, #2800]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L115
	mvn	r3, #2
	b	.L125
.L115:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L116
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L116
	mvn	r3, #4
	b	.L125
.L116:
	ldr	r3, [fp, #-52]
	cmp	r3, #4
	bne	.L117
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L118
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2804]
	cmp	r3, #0
	beq	.L119
	mvn	r3, #4
	b	.L125
.L119:
	mov	r3, #1
	b	.L125
.L118:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L112
	mvn	r3, #4
	b	.L125
.L117:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L122
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L122
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L122
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2804]
	cmp	r3, #0
	bne	.L122
	b	.L112
.L122:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L123
	ldr	r3, [fp, #-28]
	add	r3, r3, #8192
	ldr	r3, [r3, #2804]
	cmp	r3, #0
	bne	.L123
	mov	r3, #1
	b	.L125
.L123:
	mov	r3, #0
.L125:
	ldr	r2, .L127
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L126
	bl	__stack_chk_fail
.L126:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L128:
	.align	2
.L127:
	.word	.LC3
	.size	mz_inflate, .-mz_inflate
	.align	2
	.global	mz_inflateEnd
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_inflateEnd, %function
mz_inflateEnd:
	@ 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	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L130
	mvn	r3, #1
	b	.L131
.L130:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L132
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-8]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #28]
	mov	r1, r2
	blx	r3
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
.L132:
	mov	r3, #0
.L131:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_inflateEnd, .-mz_inflateEnd
	.section	.rodata
	.align	2
.LC4:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_uncompress
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_uncompress, %function
mz_uncompress:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, .L142
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #64
	mov	r2, #56
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	sub	r3, fp, #64
	mov	r0, r3
	bl	mz_inflateInit
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L134
	ldr	r3, [fp, #-68]
	b	.L140
.L134:
	sub	r3, fp, #64
	mov	r1, #4
	mov	r0, r3
	bl	mz_inflate
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #1
	beq	.L136
	sub	r3, fp, #64
	mov	r0, r3
	bl	mz_inflateEnd
	ldr	r3, [fp, #-68]
	cmn	r3, #5
	bne	.L137
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L138
.L137:
	ldr	r3, [fp, #-68]
	b	.L140
.L138:
	mvn	r3, #2
	b	.L140
.L136:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-76]
	str	r2, [r3]
	sub	r3, fp, #64
	mov	r0, r3
	bl	mz_inflateEnd
	mov	r3, r0
.L140:
	ldr	r2, .L142
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L141
	bl	__stack_chk_fail
.L141:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L143:
	.align	2
.L142:
	.word	.LC4
	.size	mz_uncompress, .-mz_uncompress
	.align	2
	.global	mz_error
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_error, %function
mz_error:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L145
.L148:
	ldr	r2, .L149
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L146
	ldr	r2, .L149
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	b	.L147
.L146:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L145:
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	bls	.L148
	mov	r3, #0
.L147:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L150:
	.align	2
.L149:
	.word	s_error_descs.5822
	.size	mz_error, .-mz_error
	.section	.rodata
	.align	2
.LC5:
	.ascii	"\005\005\004\000"
	.align	2
.LC6:
	.ascii	"\002\003\007\000"
	.align	2
.LC7:
	.ascii	"\003\003\013\000"
	.align	2
.LC8:
	.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	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #408
	str	r0, [fp, #-392]
	str	r1, [fp, #-396]
	str	r2, [fp, #-400]
	str	r3, [fp, #-404]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-408]
	ldr	r3, [fp, #8]
	str	r3, [fp, #-412]
	ldr	r3, .L496
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r3, #0
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-396]
	str	r3, [fp, #-360]
	ldr	r3, [fp, #-400]
	ldr	r3, [r3]
	ldr	r2, [fp, #-396]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-408]
	str	r3, [fp, #-356]
	ldr	r3, [fp, #-412]
	ldr	r3, [r3]
	ldr	r2, [fp, #-408]
	add	r3, r2, r3
	str	r3, [fp, #-176]
	ldr	r3, [fp, #12]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L152
	ldr	r2, [fp, #-408]
	ldr	r3, [fp, #-404]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-412]
	ldr	r3, [r3]
	add	r3, r2, r3
	sub	r3, r3, #1
	b	.L153
.L152:
	mvn	r3, #0
.L153:
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-172]
	add	r2, r3, #1
	ldr	r3, [fp, #-172]
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L154
	ldr	r2, [fp, #-408]
	ldr	r3, [fp, #-404]
	cmp	r2, r3
	bcs	.L155
.L154:
	ldr	r3, [fp, #-412]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-412]
	ldr	r2, [r3]
	ldr	r3, [fp, #-400]
	str	r2, [r3]
	mvn	r3, #2
	b	.L156
.L155:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-372]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-368]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #60]
	str	r3, [fp, #-352]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3]
	cmp	r3, #53
	ldrls	pc, [pc, r3, asl #2]
	b	.L157
.L159:
	.word	.L191
	.word	.L190
	.word	.L189
	.word	.L188
	.word	.L157
	.word	.L187
	.word	.L186
	.word	.L185
	.word	.L157
	.word	.L184
	.word	.L269
	.word	.L182
	.word	.L157
	.word	.L157
	.word	.L181
	.word	.L157
	.word	.L180
	.word	.L343
	.word	.L178
	.word	.L157
	.word	.L157
	.word	.L356
	.word	.L157
	.word	.L176
	.word	.L175
	.word	.L174
	.word	.L173
	.word	.L172
	.word	.L157
	.word	.L157
	.word	.L157
	.word	.L157
	.word	.L171
	.word	.L157
	.word	.L436
	.word	.L307
	.word	.L212
	.word	.L429
	.word	.L263
	.word	.L248
	.word	.L264
	.word	.L163
	.word	.L162
	.word	.L157
	.word	.L157
	.word	.L157
	.word	.L157
	.word	.L157
	.word	.L157
	.word	.L157
	.word	.L157
	.word	.L161
	.word	.L160
	.word	.L158
.L191:
	ldr	r3, [fp, #-392]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-392]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-392]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-368]
	ldr	r3, [fp, #-368]
	str	r3, [fp, #-372]
	ldr	r3, [fp, #-372]
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-376]
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-392]
	mov	r2, #1
	str	r2, [r3, #28]
	ldr	r3, [fp, #-392]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-392]
	str	r2, [r3, #16]
	ldr	r3, [fp, #12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L192
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L193
	b	.L197
.L471:
	nop
.L197:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L194
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #1
	str	r2, [r3]
	b	.L157
.L190:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L471
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-392]
	str	r2, [r3, #8]
	b	.L198
.L194:
	ldr	r3, [fp, #-392]
	mov	r2, #0
	str	r2, [r3, #8]
	b	.L198
.L193:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-392]
	str	r2, [r3, #8]
.L198:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L199
	b	.L203
.L472:
	nop
.L203:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L200
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #2
	str	r2, [r3]
	b	.L157
.L189:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L472
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-392]
	str	r2, [r3, #12]
	b	.L204
.L200:
	ldr	r3, [fp, #-392]
	mov	r2, #0
	str	r2, [r3, #12]
	b	.L204
.L199:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-392]
	str	r2, [r3, #12]
.L204:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #8]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #12]
	add	r1, r2, r3
	ldr	r3, .L496+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	.L205
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #12]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L205
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #8]
	and	r3, r3, #15
	cmp	r3, #8
	beq	.L206
.L205:
	mov	r3, #1
	b	.L207
.L206:
	mov	r3, #0
.L207:
	str	r3, [fp, #-372]
	ldr	r3, [fp, #12]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L208
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #8]
	lsr	r3, r3, #4
	add	r3, r3, #8
	mov	r2, #1
	lsl	r3, r2, r3
	cmp	r3, #32768
	bhi	.L209
	ldr	r3, [fp, #-172]
	add	r2, r3, #1
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #8]
	lsr	r3, r3, #4
	add	r3, r3, #8
	lsr	r3, r2, r3
	cmp	r3, #0
	bne	.L210
.L209:
	mov	r3, #1
	b	.L211
.L210:
	mov	r3, #0
.L211:
	mov	r2, r3
	ldr	r3, [fp, #-372]
	orr	r3, r3, r2
	str	r3, [fp, #-372]
.L208:
	ldr	r3, [fp, #-372]
	cmp	r3, #0
	beq	.L192
.L212:
	mvn	r3, #0
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #36
	str	r2, [r3]
	b	.L157
.L192:
	ldr	r3, [fp, #-380]
	cmp	r3, #2
	bhi	.L213
.L220:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L214
	b	.L218
.L473:
	nop
.L218:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L215
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #3
	str	r2, [r3]
	b	.L157
.L188:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L473
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-348]
	b	.L219
.L215:
	mov	r3, #0
	str	r3, [fp, #-348]
	b	.L219
.L214:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-348]
.L219:
	ldr	r2, [fp, #-348]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	cmp	r3, #2
	bls	.L220
.L213:
	ldr	r3, [fp, #-364]
	and	r2, r3, #7
	ldr	r3, [fp, #-392]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-364]
	lsr	r3, r3, #3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	sub	r3, r3, #3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #20]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-392]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L221
	ldr	r3, [fp, #-380]
	and	r3, r3, #7
	ldr	r2, [fp, #-380]
	cmp	r2, r3
	bcs	.L222
.L229:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L223
	b	.L227
.L474:
	nop
.L227:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L224
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #5
	str	r2, [r3]
	b	.L157
.L187:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L474
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-344]
	b	.L228
.L224:
	mov	r3, #0
	str	r3, [fp, #-344]
	b	.L228
.L223:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-344]
.L228:
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	and	r3, r3, #7
	ldr	r2, [fp, #-380]
	cmp	r2, r3
	bcc	.L229
.L222:
	ldr	r3, [fp, #-380]
	and	r3, r3, #7
	ldr	r2, [fp, #-364]
	lsr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	bic	r3, r3, #7
	str	r3, [fp, #-380]
	mov	r3, #0
	str	r3, [fp, #-372]
	b	.L230
.L246:
	ldr	r3, [fp, #-380]
	cmp	r3, #0
	beq	.L231
	ldr	r3, [fp, #-380]
	cmp	r3, #7
	bhi	.L232
.L239:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L233
	b	.L237
.L475:
	nop
.L237:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L234
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #6
	str	r2, [r3]
	b	.L157
.L186:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L475
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-340]
	b	.L238
.L234:
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L238
.L233:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-340]
.L238:
	ldr	r2, [fp, #-340]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	cmp	r3, #7
	bls	.L239
.L232:
	ldr	r3, [fp, #-364]
	and	r1, r3, #255
	ldr	r2, [fp, #-392]
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	add	r3, r3, #10496
	add	r3, r3, #32
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-364]
	lsr	r3, r3, #8
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	sub	r3, r3, #8
	str	r3, [fp, #-380]
	b	.L240
.L231:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L241
	b	.L245
.L476:
	nop
.L245:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L242
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #7
	str	r2, [r3]
	b	.L157
.L185:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L476
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-392]
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	add	r3, r3, #10496
	add	r3, r3, #32
	mov	r2, r1
	strb	r2, [r3]
	b	.L240
.L242:
	ldr	r2, [fp, #-392]
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	add	r3, r3, #10496
	add	r3, r3, #32
	mov	r2, #0
	strb	r2, [r3]
	b	.L240
.L241:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-392]
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	add	r3, r3, #10496
	add	r3, r3, #32
	mov	r2, r1
	strb	r2, [r3]
.L240:
	ldr	r3, [fp, #-372]
	add	r3, r3, #1
	str	r3, [fp, #-372]
.L230:
	ldr	r3, [fp, #-372]
	cmp	r3, #3
	bls	.L246
	ldr	r3, [fp, #-392]
	add	r3, r3, #8192
	ldrb	r3, [r3, #2336]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-392]
	add	r3, r3, #8192
	ldrb	r3, [r3, #2337]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-372]
	ldr	r3, [fp, #-392]
	add	r3, r3, #8192
	ldrb	r3, [r3, #2338]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-392]
	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, #-372]
	cmp	r3, r2
	beq	.L249
.L248:
	mvn	r3, #0
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #39
	str	r2, [r3]
	b	.L157
.L260:
	ldr	r3, [fp, #-380]
	cmp	r3, #7
	bhi	.L250
.L257:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L251
	b	.L255
.L477:
	nop
.L255:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L252
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #51
	str	r2, [r3]
	b	.L157
.L161:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L477
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-336]
	b	.L256
.L252:
	mov	r3, #0
	str	r3, [fp, #-336]
	b	.L256
.L251:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-336]
.L256:
	ldr	r2, [fp, #-336]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	cmp	r3, #7
	bls	.L257
.L250:
	ldr	r3, [fp, #-364]
	and	r3, r3, #255
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-364]
	lsr	r3, r3, #8
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	sub	r3, r3, #8
	str	r3, [fp, #-380]
	b	.L160
.L258:
	mov	r3, #2
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #52
	str	r2, [r3]
	b	.L157
.L160:
	ldr	r2, [fp, #-356]
	ldr	r3, [fp, #-176]
	cmp	r2, r3
	bcs	.L258
	ldr	r3, [fp, #-356]
	add	r2, r3, #1
	str	r2, [fp, #-356]
	ldr	r2, [fp, #-376]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-372]
	sub	r3, r3, #1
	str	r3, [fp, #-372]
.L249:
	ldr	r3, [fp, #-372]
	cmp	r3, #0
	beq	.L261
	ldr	r3, [fp, #-380]
	cmp	r3, #0
	bne	.L260
	b	.L261
.L262:
	mov	r3, #2
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #9
	str	r2, [r3]
	b	.L157
.L184:
	ldr	r2, [fp, #-356]
	ldr	r3, [fp, #-176]
	cmp	r2, r3
	bcs	.L262
	b	.L263
.L265:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L264
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #38
	str	r2, [r3]
	b	.L157
.L264:
	mvn	r3, #0
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #40
	str	r2, [r3]
	b	.L157
.L263:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L265
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-360]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-176]
	ldr	r3, [fp, #-356]
	sub	r3, r1, r3
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	ldr	r2, [fp, #-372]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	str	r3, [fp, #-144]
	ldr	r2, [fp, #-144]
	ldr	r1, [fp, #-360]
	ldr	r0, [fp, #-356]
	bl	memcpy
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-144]
	add	r3, r2, r3
	str	r3, [fp, #-360]
	ldr	r2, [fp, #-356]
	ldr	r3, [fp, #-144]
	add	r3, r2, r3
	str	r3, [fp, #-356]
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-144]
	sub	r3, r2, r3
	str	r3, [fp, #-372]
.L261:
	ldr	r3, [fp, #-372]
	cmp	r3, #0
	bne	.L184
	b	.L267
.L221:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #24]
	cmp	r3, #3
	bne	.L268
.L269:
	mvn	r3, #0
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #10
	str	r2, [r3]
	b	.L157
.L268:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #24]
	cmp	r3, #1
	bne	.L270
	ldr	r3, [fp, #-392]
	add	r3, r3, #64
	str	r3, [fp, #-332]
	ldr	r3, [fp, #-392]
	mov	r2, #288
	str	r2, [r3, #44]
	ldr	r3, [fp, #-392]
	mov	r2, #32
	str	r2, [r3, #48]
	ldr	r3, [fp, #-392]
	add	r3, r3, #3552
	mov	r2, #32
	mov	r1, #5
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L271
.L272:
	ldr	r3, [fp, #-332]
	add	r2, r3, #1
	str	r2, [fp, #-332]
	mov	r2, #8
	strb	r2, [r3]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L271:
	ldr	r3, [fp, #-328]
	cmp	r3, #143
	bls	.L272
	b	.L273
.L274:
	ldr	r3, [fp, #-332]
	add	r2, r3, #1
	str	r2, [fp, #-332]
	mov	r2, #9
	strb	r2, [r3]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L273:
	ldr	r3, [fp, #-328]
	cmp	r3, #255
	bls	.L274
	b	.L275
.L276:
	ldr	r3, [fp, #-332]
	add	r2, r3, #1
	str	r2, [fp, #-332]
	mov	r2, #7
	strb	r2, [r3]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L275:
	ldr	r3, [fp, #-328]
	cmp	r3, #280
	bcc	.L276
	b	.L277
.L278:
	ldr	r3, [fp, #-332]
	add	r2, r3, #1
	str	r2, [fp, #-332]
	mov	r2, #8
	strb	r2, [r3]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L277:
	ldr	r3, [fp, #-328]
	cmp	r3, #288
	bcc	.L278
	b	.L300
.L270:
	mov	r3, #0
	str	r3, [fp, #-372]
	b	.L280
.L289:
	ldr	r2, .L496+8
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-380]
	cmp	r3, r2
	bcs	.L281
.L288:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L282
	b	.L286
.L478:
	nop
.L286:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L283
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #11
	str	r2, [r3]
	b	.L157
.L182:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L478
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-324]
	b	.L287
.L283:
	mov	r3, #0
	str	r3, [fp, #-324]
	b	.L287
.L282:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-324]
.L287:
	ldr	r2, [fp, #-324]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r2, .L496+8
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-380]
	cmp	r3, r2
	bcc	.L288
.L281:
	ldr	r2, .L496+8
	ldr	r3, [fp, #-372]
	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, #-364]
	and	r2, r2, r3
	ldr	r1, [fp, #-392]
	ldr	r3, [fp, #-372]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	ldr	r2, .L496+8
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-364]
	lsr	r3, r3, r2
	str	r3, [fp, #-364]
	ldr	r2, .L496+8
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-380]
	sub	r3, r3, r2
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-392]
	ldr	r3, [fp, #-372]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r1, .L496+12
	ldr	r2, [fp, #-372]
	ldr	r2, [r1, r2, lsl #2]
	add	r2, r3, r2
	ldr	r1, [fp, #-392]
	ldr	r3, [fp, #-372]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	ldr	r3, [fp, #-372]
	add	r3, r3, #1
	str	r3, [fp, #-372]
.L280:
	ldr	r3, [fp, #-372]
	cmp	r3, #2
	bls	.L289
	ldr	r3, [fp, #-392]
	add	r3, r3, #7040
	mov	r2, #288
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-372]
	b	.L290
.L299:
	ldr	r3, [fp, #-380]
	cmp	r3, #2
	bhi	.L291
.L298:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L292
	b	.L296
.L479:
	nop
.L296:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L293
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #14
	str	r2, [r3]
	b	.L157
.L181:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L479
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-320]
	b	.L297
.L293:
	mov	r3, #0
	str	r3, [fp, #-320]
	b	.L297
.L497:
	.align	2
.L496:
	.word	.LC8
	.word	138547333
	.word	.LC5
	.word	s_min_table_sizes.5841
	.word	s_length_dezigzag.5840
	.word	.LC6
	.word	.LC7
.L292:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-320]
.L297:
	ldr	r2, [fp, #-320]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	cmp	r3, #2
	bls	.L298
.L291:
	ldr	r3, [fp, #-364]
	and	r3, r3, #7
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-364]
	lsr	r3, r3, #3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	sub	r3, r3, #3
	str	r3, [fp, #-380]
	ldr	r2, .L496+16
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-168]
	and	r2, r3, #255
	ldr	r3, [fp, #-392]
	add	r3, r3, r1
	add	r3, r3, #7040
	strb	r2, [r3]
	ldr	r3, [fp, #-372]
	add	r3, r3, #1
	str	r3, [fp, #-372]
.L290:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-372]
	cmp	r2, r3
	bcc	.L299
	ldr	r3, [fp, #-392]
	mov	r2, #19
	str	r2, [r3, #52]
	b	.L300
.L357:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #24]
	mov	r2, #3488
	mul	r3, r2, r3
	add	r3, r3, #64
	ldr	r2, [fp, #-392]
	add	r3, r2, r3
	str	r3, [fp, #-164]
	sub	r3, fp, #140
	mov	r2, #64
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-164]
	add	r3, r3, #288
	mov	r2, #2048
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-164]
	add	r3, r3, #2336
	mov	r2, #1152
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-308]
	b	.L301
.L302:
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-308]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	lsl	r3, r2, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-136]
	add	r1, r3, #1
	lsl	r3, r2, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	str	r1, [r3, #-136]
	ldr	r3, [fp, #-308]
	add	r3, r3, #1
	str	r3, [fp, #-308]
.L301:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-392]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-308]
	cmp	r2, r3
	bcc	.L302
	mov	r3, #0
	str	r3, [fp, #-300]
	mov	r3, #0
	str	r3, [fp, #-296]
	mov	r3, #0
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-76]
	mov	r3, #1
	str	r3, [fp, #-308]
	b	.L303
.L304:
	ldr	r3, [fp, #-308]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-136]
	ldr	r2, [fp, #-300]
	add	r3, r2, r3
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-308]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-136]
	ldr	r3, [fp, #-296]
	add	r3, r2, r3
	lsl	r3, r3, #1
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-308]
	add	r3, r3, #1
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-296]
	str	r2, [r3, #-72]
	ldr	r3, [fp, #-308]
	add	r3, r3, #1
	str	r3, [fp, #-308]
.L303:
	ldr	r3, [fp, #-308]
	cmp	r3, #15
	bls	.L304
	ldr	r3, [fp, #-296]
	cmp	r3, #65536
	beq	.L305
	ldr	r3, [fp, #-300]
	cmp	r3, #1
	bls	.L305
.L307:
	mvn	r3, #0
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #35
	str	r2, [r3]
	b	.L157
.L305:
	mvn	r3, #0
	str	r3, [fp, #-316]
	mov	r3, #0
	str	r3, [fp, #-292]
	b	.L308
.L321:
	mov	r3, #0
	str	r3, [fp, #-288]
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-292]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	beq	.L480
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-72]
	add	r1, r2, #1
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #2
	sub	r0, fp, #4
	add	r3, r0, r3
	str	r1, [r3, #-72]
	str	r2, [fp, #-280]
	ldr	r3, [fp, #-160]
	str	r3, [fp, #-284]
	b	.L311
.L312:
	ldr	r3, [fp, #-288]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-280]
	and	r3, r3, #1
	orr	r3, r2, r3
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-284]
	sub	r3, r3, #1
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-280]
	lsr	r3, r3, #1
	str	r3, [fp, #-280]
.L311:
	ldr	r3, [fp, #-284]
	cmp	r3, #0
	bne	.L312
	ldr	r3, [fp, #-160]
	cmp	r3, #10
	bhi	.L313
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #9
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-292]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #4
	sub	r3, r3, #380
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L314
.L315:
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-288]
	add	r3, r3, #144
	lsl	r3, r3, #1
	add	r2, r2, r3
	sub	r3, fp, #4
	sub	r3, r3, #380
	sub	r3, r3, #2
	ldrh	r3, [r3]	@ movhi
	strh	r3, [r2]	@ movhi
	mov	r2, #1
	ldr	r3, [fp, #-160]
	lsl	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-288]
	add	r3, r3, r2
	str	r3, [fp, #-288]
.L314:
	ldr	r3, [fp, #-288]
	cmp	r3, #1024
	bcc	.L315
	b	.L310
.L313:
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-164]
	add	r3, r3, #144
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-312]
	ldr	r3, [fp, #-312]
	cmp	r3, #0
	bne	.L316
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-316]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, [fp, #-164]
	add	r3, r3, #144
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-316]
	str	r3, [fp, #-312]
	ldr	r3, [fp, #-316]
	sub	r3, r3, #2
	str	r3, [fp, #-316]
.L316:
	ldr	r3, [fp, #-288]
	lsr	r3, r3, #9
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-160]
	str	r3, [fp, #-304]
	b	.L317
.L320:
	ldr	r3, [fp, #-288]
	lsr	r3, r3, #1
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-288]
	and	r3, r3, #1
	ldr	r2, [fp, #-312]
	sub	r3, r2, r3
	str	r3, [fp, #-312]
	ldr	r3, [fp, #-312]
	mvn	r3, r3
	ldr	r2, [fp, #-164]
	add	r3, r3, #1168
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r3, #0
	bne	.L318
	ldr	r3, [fp, #-312]
	mvn	r3, r3
	ldr	r2, [fp, #-316]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, [fp, #-164]
	add	r3, r3, #1168
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-316]
	str	r3, [fp, #-312]
	ldr	r3, [fp, #-316]
	sub	r3, r3, #2
	str	r3, [fp, #-316]
	b	.L319
.L318:
	ldr	r3, [fp, #-312]
	mvn	r3, r3
	ldr	r2, [fp, #-164]
	add	r3, r3, #1168
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-312]
.L319:
	ldr	r3, [fp, #-304]
	sub	r3, r3, #1
	str	r3, [fp, #-304]
.L317:
	ldr	r3, [fp, #-304]
	cmp	r3, #11
	bhi	.L320
	ldr	r3, [fp, #-288]
	lsr	r3, r3, #1
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-288]
	and	r3, r3, #1
	ldr	r2, [fp, #-312]
	sub	r3, r2, r3
	str	r3, [fp, #-312]
	ldr	r3, [fp, #-312]
	mvn	r3, r3
	ldr	r2, [fp, #-292]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, [fp, #-164]
	add	r3, r3, #1168
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	b	.L310
.L480:
	nop
.L310:
	ldr	r3, [fp, #-292]
	add	r3, r3, #1
	str	r3, [fp, #-292]
.L308:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-392]
	add	r3, r3, #10
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-292]
	cmp	r2, r3
	bcc	.L321
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #24]
	cmp	r3, #2
	bne	.L322
	mov	r3, #0
	str	r3, [fp, #-372]
	b	.L323
.L354:
	ldr	r3, [fp, #-380]
	cmp	r3, #14
	bhi	.L324
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-360]
	sub	r3, r2, r3
	cmp	r3, #1
	bgt	.L325
.L337:
	ldr	r3, [fp, #-364]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-392]
	add	r3, r3, #3664
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-276]
	ldr	r3, [fp, #-276]
	cmp	r3, #0
	blt	.L326
	ldr	r3, [fp, #-276]
	asr	r3, r3, #9
	str	r3, [fp, #-272]
	ldr	r3, [fp, #-272]
	cmp	r3, #0
	beq	.L327
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-272]
	cmp	r2, r3
	bcc	.L327
	b	.L481
.L326:
	ldr	r3, [fp, #-380]
	cmp	r3, #10
	bls	.L327
	mov	r3, #10
	str	r3, [fp, #-272]
.L330:
	ldr	r3, [fp, #-272]
	add	r2, r3, #1
	str	r2, [fp, #-272]
	ldr	r2, [fp, #-364]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-276]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-392]
	add	r3, r3, #4672
	add	r3, r3, #16
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-276]
	ldr	r3, [fp, #-276]
	cmp	r3, #0
	bge	.L329
	ldr	r3, [fp, #-272]
	add	r3, r3, #1
	ldr	r2, [fp, #-380]
	cmp	r2, r3
	bcs	.L330
.L329:
	ldr	r3, [fp, #-276]
	cmp	r3, #0
	bge	.L481
.L327:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L331
	b	.L335
.L482:
	nop
.L335:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L332
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #16
	str	r2, [r3]
	b	.L157
.L180:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L482
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-268]
	b	.L336
.L332:
	mov	r3, #0
	str	r3, [fp, #-268]
	b	.L336
.L331:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-268]
.L336:
	ldr	r2, [fp, #-268]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	cmp	r3, #14
	bls	.L337
	b	.L324
.L325:
	ldr	r3, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-380]
	lsl	r2, r2, r3
	ldr	r3, [fp, #-360]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	lsl	r3, r1, r3
	orr	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-360]
	add	r3, r3, #2
	str	r3, [fp, #-360]
	ldr	r3, [fp, #-380]
	add	r3, r3, #16
	str	r3, [fp, #-380]
	b	.L324
.L481:
	nop
.L324:
	ldr	r3, [fp, #-364]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-392]
	add	r3, r3, #3664
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-276]
	ldr	r3, [fp, #-276]
	cmp	r3, #0
	blt	.L338
	ldr	r3, [fp, #-276]
	asr	r3, r3, #9
	str	r3, [fp, #-272]
	ldr	r3, [fp, #-276]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-276]
	b	.L339
.L338:
	mov	r3, #10
	str	r3, [fp, #-272]
.L340:
	ldr	r3, [fp, #-272]
	add	r2, r3, #1
	str	r2, [fp, #-272]
	ldr	r2, [fp, #-364]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-276]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-392]
	add	r3, r3, #4672
	add	r3, r3, #16
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-276]
	ldr	r3, [fp, #-276]
	cmp	r3, #0
	blt	.L340
.L339:
	ldr	r3, [fp, #-276]
	str	r3, [fp, #-376]
	ldr	r2, [fp, #-364]
	ldr	r3, [fp, #-272]
	lsr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-272]
	sub	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-376]
	cmp	r3, #15
	bhi	.L341
	ldr	r3, [fp, #-372]
	add	r2, r3, #1
	str	r2, [fp, #-372]
	ldr	r2, [fp, #-376]
	and	r1, r2, #255
	ldr	r2, [fp, #-392]
	add	r3, r2, r3
	add	r3, r3, #10496
	add	r3, r3, #36
	mov	r2, r1
	strb	r2, [r3]
	b	.L323
.L341:
	ldr	r3, [fp, #-376]
	cmp	r3, #16
	bne	.L342
	ldr	r3, [fp, #-372]
	cmp	r3, #0
	bne	.L342
.L343:
	mvn	r3, #0
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #17
	str	r2, [r3]
	b	.L157
.L342:
	ldr	r3, [fp, #-376]
	sub	r3, r3, #16
	ldr	r2, .L496+20
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-368]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-368]
	cmp	r2, r3
	bcs	.L344
.L351:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L345
	b	.L349
.L483:
	nop
.L349:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L346
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #18
	str	r2, [r3]
	b	.L157
.L178:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L483
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-264]
	b	.L350
.L346:
	mov	r3, #0
	str	r3, [fp, #-264]
	b	.L350
.L345:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-264]
.L350:
	ldr	r2, [fp, #-264]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-368]
	cmp	r2, r3
	bcc	.L351
.L344:
	mov	r2, #1
	ldr	r3, [fp, #-368]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-364]
	and	r3, r3, r2
	str	r3, [fp, #-148]
	ldr	r2, [fp, #-364]
	ldr	r3, [fp, #-368]
	lsr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-368]
	sub	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-376]
	sub	r3, r3, #16
	ldr	r2, .L496+24
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-148]
	add	r3, r3, r2
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-392]
	add	r3, r3, #10496
	add	r3, r3, #36
	ldr	r2, [fp, #-372]
	add	r0, r3, r2
	ldr	r3, [fp, #-376]
	cmp	r3, #16
	bne	.L352
	ldr	r3, [fp, #-372]
	sub	r3, r3, #1
	ldr	r2, [fp, #-392]
	add	r3, r2, r3
	add	r3, r3, #10496
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	b	.L353
.L352:
	mov	r3, #0
.L353:
	ldr	r2, [fp, #-148]
	mov	r1, r3
	bl	memset
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-148]
	add	r3, r2, r3
	str	r3, [fp, #-372]
.L323:
	ldr	r3, [fp, #-392]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #48]
	add	r3, r2, r3
	ldr	r2, [fp, #-372]
	cmp	r2, r3
	bcc	.L354
	ldr	r3, [fp, #-392]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #48]
	add	r3, r2, r3
	ldr	r2, [fp, #-372]
	cmp	r2, r3
	beq	.L355
.L356:
	mvn	r3, #0
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #21
	str	r2, [r3]
	b	.L157
.L355:
	ldr	r3, [fp, #-392]
	add	r0, r3, #64
	ldr	r3, [fp, #-392]
	add	r3, r3, #10496
	add	r3, r3, #36
	ldr	r2, [fp, #-392]
	ldr	r2, [r2, #44]
	mov	r1, r3
	bl	memcpy
	ldr	r3, [fp, #-392]
	add	r0, r3, #3552
	ldr	r3, [fp, #-392]
	add	r3, r3, #10496
	add	r3, r3, #36
	ldr	r2, [fp, #-392]
	ldr	r2, [r2, #44]
	add	r1, r3, r2
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #48]
	mov	r2, r3
	bl	memcpy
.L322:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #24]
	sub	r2, r3, #1
	ldr	r3, [fp, #-392]
	str	r2, [r3, #24]
.L300:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bge	.L357
	b	.L391
.L492:
	nop
.L391:
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-360]
	sub	r3, r2, r3
	cmp	r3, #3
	ble	.L358
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-356]
	sub	r3, r2, r3
	cmp	r3, #1
	bgt	.L359
.L358:
	ldr	r3, [fp, #-380]
	cmp	r3, #14
	bhi	.L360
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-360]
	sub	r3, r2, r3
	cmp	r3, #1
	bgt	.L361
.L373:
	ldr	r3, [fp, #-364]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-392]
	add	r3, r3, #176
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	cmp	r3, #0
	blt	.L362
	ldr	r3, [fp, #-256]
	asr	r3, r3, #9
	str	r3, [fp, #-252]
	ldr	r3, [fp, #-252]
	cmp	r3, #0
	beq	.L363
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-252]
	cmp	r2, r3
	bcc	.L363
	b	.L484
.L362:
	ldr	r3, [fp, #-380]
	cmp	r3, #10
	bls	.L363
	mov	r3, #10
	str	r3, [fp, #-252]
.L366:
	ldr	r3, [fp, #-252]
	add	r2, r3, #1
	str	r2, [fp, #-252]
	ldr	r2, [fp, #-364]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-256]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-392]
	add	r3, r3, #1200
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	cmp	r3, #0
	bge	.L365
	ldr	r3, [fp, #-252]
	add	r3, r3, #1
	ldr	r2, [fp, #-380]
	cmp	r2, r3
	bcs	.L366
.L365:
	ldr	r3, [fp, #-256]
	cmp	r3, #0
	bge	.L484
.L363:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L367
	b	.L371
.L485:
	nop
.L371:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L368
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #23
	str	r2, [r3]
	b	.L157
.L176:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L485
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-248]
	b	.L372
.L368:
	mov	r3, #0
	str	r3, [fp, #-248]
	b	.L372
.L367:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-248]
.L372:
	ldr	r2, [fp, #-248]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	cmp	r3, #14
	bls	.L373
	b	.L360
.L361:
	ldr	r3, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-380]
	lsl	r2, r2, r3
	ldr	r3, [fp, #-360]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	lsl	r3, r1, r3
	orr	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-360]
	add	r3, r3, #2
	str	r3, [fp, #-360]
	ldr	r3, [fp, #-380]
	add	r3, r3, #16
	str	r3, [fp, #-380]
	b	.L360
.L484:
	nop
.L360:
	ldr	r3, [fp, #-364]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-392]
	add	r3, r3, #176
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	cmp	r3, #0
	blt	.L374
	ldr	r3, [fp, #-256]
	asr	r3, r3, #9
	str	r3, [fp, #-252]
	ldr	r3, [fp, #-256]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-256]
	b	.L375
.L374:
	mov	r3, #10
	str	r3, [fp, #-252]
.L376:
	ldr	r3, [fp, #-252]
	add	r2, r3, #1
	str	r2, [fp, #-252]
	ldr	r2, [fp, #-364]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-256]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-392]
	add	r3, r3, #1200
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-256]
	cmp	r3, #0
	blt	.L376
.L375:
	ldr	r3, [fp, #-256]
	str	r3, [fp, #-372]
	ldr	r2, [fp, #-364]
	ldr	r3, [fp, #-252]
	lsr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-252]
	sub	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-372]
	cmp	r3, #255
	bls	.L175
	b	.L378
.L379:
	mov	r3, #2
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #24
	str	r2, [r3]
	b	.L157
.L175:
	ldr	r2, [fp, #-356]
	ldr	r3, [fp, #-176]
	cmp	r2, r3
	bcs	.L379
	ldr	r3, [fp, #-356]
	add	r2, r3, #1
	str	r2, [fp, #-356]
	ldr	r2, [fp, #-372]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L391
.L359:
	ldr	r3, [fp, #-380]
	cmp	r3, #14
	bhi	.L381
	ldr	r3, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-360]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-360]
	add	r3, r3, #2
	str	r3, [fp, #-360]
	ldr	r3, [fp, #-380]
	add	r3, r3, #16
	str	r3, [fp, #-380]
.L381:
	ldr	r3, [fp, #-364]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-392]
	add	r3, r3, #176
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-244]
	cmp	r3, #0
	blt	.L382
	ldr	r3, [fp, #-244]
	asr	r3, r3, #9
	str	r3, [fp, #-240]
	b	.L383
.L382:
	mov	r3, #10
	str	r3, [fp, #-240]
.L384:
	ldr	r3, [fp, #-240]
	add	r2, r3, #1
	str	r2, [fp, #-240]
	ldr	r2, [fp, #-364]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-244]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-392]
	add	r3, r3, #1200
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-244]
	cmp	r3, #0
	blt	.L384
.L383:
	ldr	r3, [fp, #-244]
	str	r3, [fp, #-372]
	ldr	r2, [fp, #-364]
	ldr	r3, [fp, #-240]
	lsr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-240]
	sub	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-372]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L486
	ldr	r3, [fp, #-380]
	cmp	r3, #14
	bhi	.L386
	ldr	r3, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-360]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-360]
	add	r3, r3, #2
	str	r3, [fp, #-360]
	ldr	r3, [fp, #-380]
	add	r3, r3, #16
	str	r3, [fp, #-380]
.L386:
	ldr	r3, [fp, #-364]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-392]
	add	r3, r3, #176
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-244]
	cmp	r3, #0
	blt	.L387
	ldr	r3, [fp, #-244]
	asr	r3, r3, #9
	str	r3, [fp, #-240]
	b	.L388
.L387:
	mov	r3, #10
	str	r3, [fp, #-240]
.L389:
	ldr	r3, [fp, #-240]
	add	r2, r3, #1
	str	r2, [fp, #-240]
	ldr	r2, [fp, #-364]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-244]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-392]
	add	r3, r3, #1200
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-244]
	cmp	r3, #0
	blt	.L389
.L388:
	ldr	r2, [fp, #-364]
	ldr	r3, [fp, #-240]
	lsr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-240]
	sub	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-372]
	and	r2, r3, #255
	ldr	r3, [fp, #-356]
	strb	r2, [r3]
	ldr	r3, [fp, #-244]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L390
	ldr	r3, [fp, #-356]
	add	r3, r3, #1
	str	r3, [fp, #-356]
	ldr	r3, [fp, #-244]
	str	r3, [fp, #-372]
	b	.L378
.L390:
	ldr	r3, [fp, #-356]
	add	r3, r3, #1
	ldr	r2, [fp, #-244]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-356]
	add	r3, r3, #2
	str	r3, [fp, #-356]
	b	.L391
.L486:
	nop
.L378:
	ldr	r3, [fp, #-372]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-372]
	ldr	r3, [fp, #-372]
	cmp	r3, #256
	beq	.L487
	ldr	r3, [fp, #-372]
	sub	r3, r3, #256
	sub	r3, r3, #1
	ldr	r2, .L498
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-368]
	ldr	r3, [fp, #-372]
	sub	r3, r3, #256
	sub	r3, r3, #1
	ldr	r2, .L498+4
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-372]
	ldr	r3, [fp, #-368]
	cmp	r3, #0
	beq	.L393
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-368]
	cmp	r2, r3
	bcs	.L394
.L401:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L395
	b	.L399
.L488:
	nop
.L399:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L396
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #25
	str	r2, [r3]
	b	.L157
.L174:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L488
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-236]
	b	.L400
.L396:
	mov	r3, #0
	str	r3, [fp, #-236]
	b	.L400
.L395:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-236]
.L400:
	ldr	r2, [fp, #-236]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-368]
	cmp	r2, r3
	bcc	.L401
.L394:
	mov	r2, #1
	ldr	r3, [fp, #-368]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-364]
	and	r3, r3, r2
	str	r3, [fp, #-156]
	ldr	r2, [fp, #-364]
	ldr	r3, [fp, #-368]
	lsr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-368]
	sub	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	str	r3, [fp, #-372]
.L393:
	ldr	r3, [fp, #-380]
	cmp	r3, #14
	bhi	.L402
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-360]
	sub	r3, r2, r3
	cmp	r3, #1
	bgt	.L403
.L415:
	ldr	r3, [fp, #-364]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-392]
	add	r3, r3, #1920
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-232]
	ldr	r3, [fp, #-232]
	cmp	r3, #0
	blt	.L404
	ldr	r3, [fp, #-232]
	asr	r3, r3, #9
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-228]
	cmp	r3, #0
	beq	.L405
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-228]
	cmp	r2, r3
	bcc	.L405
	b	.L489
.L404:
	ldr	r3, [fp, #-380]
	cmp	r3, #10
	bls	.L405
	mov	r3, #10
	str	r3, [fp, #-228]
.L408:
	ldr	r3, [fp, #-228]
	add	r2, r3, #1
	str	r2, [fp, #-228]
	ldr	r2, [fp, #-364]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-232]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-392]
	add	r3, r3, #2944
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-232]
	ldr	r3, [fp, #-232]
	cmp	r3, #0
	bge	.L407
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	ldr	r2, [fp, #-380]
	cmp	r2, r3
	bcs	.L408
.L407:
	ldr	r3, [fp, #-232]
	cmp	r3, #0
	bge	.L489
.L405:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L409
	b	.L413
.L490:
	nop
.L413:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L410
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #26
	str	r2, [r3]
	b	.L157
.L173:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L490
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-224]
	b	.L414
.L410:
	mov	r3, #0
	str	r3, [fp, #-224]
	b	.L414
.L409:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-224]
.L414:
	ldr	r2, [fp, #-224]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	cmp	r3, #14
	bls	.L415
	b	.L402
.L403:
	ldr	r3, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-380]
	lsl	r2, r2, r3
	ldr	r3, [fp, #-360]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	lsl	r3, r1, r3
	orr	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-360]
	add	r3, r3, #2
	str	r3, [fp, #-360]
	ldr	r3, [fp, #-380]
	add	r3, r3, #16
	str	r3, [fp, #-380]
	b	.L402
.L489:
	nop
.L402:
	ldr	r3, [fp, #-364]
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	ldr	r2, [fp, #-392]
	add	r3, r3, #1920
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-232]
	ldr	r3, [fp, #-232]
	cmp	r3, #0
	blt	.L416
	ldr	r3, [fp, #-232]
	asr	r3, r3, #9
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	str	r3, [fp, #-232]
	b	.L417
.L416:
	mov	r3, #10
	str	r3, [fp, #-228]
.L418:
	ldr	r3, [fp, #-228]
	add	r2, r3, #1
	str	r2, [fp, #-228]
	ldr	r2, [fp, #-364]
	lsr	r3, r2, r3
	and	r2, r3, #1
	ldr	r3, [fp, #-232]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-392]
	add	r3, r3, #2944
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-232]
	ldr	r3, [fp, #-232]
	cmp	r3, #0
	blt	.L418
.L417:
	ldr	r3, [fp, #-232]
	str	r3, [fp, #-376]
	ldr	r2, [fp, #-364]
	ldr	r3, [fp, #-228]
	lsr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-228]
	sub	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, .L498+8
	ldr	r3, [fp, #-376]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-368]
	ldr	r2, .L498+12
	ldr	r3, [fp, #-376]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-368]
	cmp	r3, #0
	beq	.L419
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-368]
	cmp	r2, r3
	bcs	.L420
.L427:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L421
	b	.L425
.L491:
	nop
.L425:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L422
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #27
	str	r2, [r3]
	b	.L157
.L172:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L491
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-220]
	b	.L426
.L422:
	mov	r3, #0
	str	r3, [fp, #-220]
	b	.L426
.L421:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-220]
.L426:
	ldr	r2, [fp, #-220]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-368]
	cmp	r2, r3
	bcc	.L427
.L420:
	mov	r2, #1
	ldr	r3, [fp, #-368]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-364]
	and	r3, r3, r2
	str	r3, [fp, #-152]
	ldr	r2, [fp, #-364]
	ldr	r3, [fp, #-368]
	lsr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r2, [fp, #-380]
	ldr	r3, [fp, #-368]
	sub	r3, r2, r3
	str	r3, [fp, #-380]
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-152]
	add	r3, r2, r3
	str	r3, [fp, #-376]
.L419:
	ldr	r2, [fp, #-356]
	ldr	r3, [fp, #-404]
	sub	r3, r2, r3
	str	r3, [fp, #-352]
	ldr	r2, [fp, #-376]
	ldr	r3, [fp, #-352]
	cmp	r2, r3
	bls	.L428
	ldr	r3, [fp, #12]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L428
.L429:
	mvn	r3, #0
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #37
	str	r2, [r3]
	b	.L157
.L428:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-376]
	sub	r2, r2, r3
	ldr	r3, [fp, #-172]
	and	r3, r3, r2
	ldr	r2, [fp, #-404]
	add	r3, r2, r3
	str	r3, [fp, #-260]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-356]
	cmp	r2, r3
	movcs	r2, r2
	movcc	r2, r3
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcs	.L430
	b	.L431
.L432:
	mov	r3, #2
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #53
	str	r2, [r3]
	b	.L157
.L158:
	ldr	r2, [fp, #-356]
	ldr	r3, [fp, #-176]
	cmp	r2, r3
	bcs	.L432
	ldr	r3, [fp, #-352]
	add	r2, r3, #1
	str	r2, [fp, #-352]
	ldr	r2, [fp, #-376]
	sub	r2, r3, r2
	ldr	r3, [fp, #-172]
	and	r3, r3, r2
	ldr	r2, [fp, #-404]
	add	r2, r2, r3
	ldr	r3, [fp, #-356]
	add	r1, r3, #1
	str	r1, [fp, #-356]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L431:
	ldr	r3, [fp, #-372]
	sub	r2, r3, #1
	str	r2, [fp, #-372]
	cmp	r3, #0
	bne	.L158
	b	.L470
.L430:
	ldr	r3, [fp, #-260]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-356]
	strb	r2, [r3]
	ldr	r3, [fp, #-356]
	add	r3, r3, #1
	ldr	r2, [fp, #-260]
	ldrb	r2, [r2, #1]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-356]
	add	r3, r3, #2
	ldr	r2, [fp, #-260]
	ldrb	r2, [r2, #2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-356]
	add	r3, r3, #3
	str	r3, [fp, #-356]
	ldr	r3, [fp, #-260]
	add	r3, r3, #3
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-372]
	sub	r3, r3, #3
	str	r3, [fp, #-372]
	ldr	r3, [fp, #-372]
	cmp	r3, #2
	bgt	.L430
	ldr	r3, [fp, #-372]
	cmp	r3, #0
	ble	.L492
	ldr	r3, [fp, #-260]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-356]
	strb	r2, [r3]
	ldr	r3, [fp, #-372]
	cmp	r3, #1
	ble	.L435
	ldr	r3, [fp, #-356]
	add	r3, r3, #1
	ldr	r2, [fp, #-260]
	ldrb	r2, [r2, #1]	@ zero_extendqisi2
	strb	r2, [r3]
.L435:
	ldr	r2, [fp, #-356]
	ldr	r3, [fp, #-372]
	add	r3, r2, r3
	str	r3, [fp, #-356]
	b	.L492
.L470:
	b	.L492
.L487:
	nop
.L267:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #20]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L192
	ldr	r3, [fp, #12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L436
	ldr	r3, [fp, #-380]
	and	r3, r3, #7
	ldr	r2, [fp, #-380]
	cmp	r2, r3
	bcs	.L437
.L444:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L438
	b	.L442
.L493:
	nop
.L442:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L439
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #32
	str	r2, [r3]
	b	.L157
.L171:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L493
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-216]
	b	.L443
.L439:
	mov	r3, #0
	str	r3, [fp, #-216]
	b	.L443
.L438:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-216]
.L443:
	ldr	r2, [fp, #-216]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	and	r3, r3, #7
	ldr	r2, [fp, #-380]
	cmp	r2, r3
	bcc	.L444
.L437:
	ldr	r3, [fp, #-380]
	and	r3, r3, #7
	ldr	r2, [fp, #-364]
	lsr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	bic	r3, r3, #7
	str	r3, [fp, #-380]
	mov	r3, #0
	str	r3, [fp, #-372]
	b	.L445
.L461:
	ldr	r3, [fp, #-380]
	cmp	r3, #0
	beq	.L446
	ldr	r3, [fp, #-380]
	cmp	r3, #7
	bhi	.L447
.L454:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L448
	b	.L452
.L494:
	nop
.L452:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L449
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #41
	str	r2, [r3]
	b	.L157
.L163:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L494
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-208]
	b	.L453
.L449:
	mov	r3, #0
	str	r3, [fp, #-208]
	b	.L453
.L448:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-208]
.L453:
	ldr	r2, [fp, #-208]
	ldr	r3, [fp, #-380]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-364]
	orr	r3, r2, r3
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	add	r3, r3, #8
	str	r3, [fp, #-380]
	ldr	r3, [fp, #-380]
	cmp	r3, #7
	bls	.L454
.L447:
	ldr	r3, [fp, #-364]
	and	r3, r3, #255
	str	r3, [fp, #-212]
	ldr	r3, [fp, #-364]
	lsr	r3, r3, #8
	str	r3, [fp, #-364]
	ldr	r3, [fp, #-380]
	sub	r3, r3, #8
	str	r3, [fp, #-380]
	b	.L455
.L446:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcc	.L456
	b	.L460
.L495:
	nop
.L460:
	ldr	r3, [fp, #12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L457
	mov	r3, #1
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #42
	str	r2, [r3]
	b	.L157
.L162:
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-180]
	cmp	r2, r3
	bcs	.L495
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-212]
	b	.L455
.L457:
	mov	r3, #0
	str	r3, [fp, #-212]
	b	.L455
.L456:
	ldr	r3, [fp, #-360]
	add	r2, r3, #1
	str	r2, [fp, #-360]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-212]
.L455:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #16]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-212]
	orr	r2, r2, r3
	ldr	r3, [fp, #-392]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-372]
	add	r3, r3, #1
	str	r3, [fp, #-372]
.L445:
	ldr	r3, [fp, #-372]
	cmp	r3, #3
	bls	.L461
.L436:
	mov	r3, #0
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-392]
	mov	r2, #34
	str	r2, [r3]
	nop
.L157:
	ldr	r3, [fp, #-392]
	ldr	r2, [fp, #-380]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-392]
	ldr	r2, [fp, #-364]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-392]
	ldr	r2, [fp, #-376]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-392]
	ldr	r2, [fp, #-372]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-392]
	ldr	r2, [fp, #-368]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-392]
	ldr	r2, [fp, #-352]
	str	r2, [r3, #60]
	ldr	r2, [fp, #-360]
	ldr	r3, [fp, #-396]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-400]
	str	r2, [r3]
	ldr	r2, [fp, #-356]
	ldr	r3, [fp, #-408]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-412]
	str	r2, [r3]
	ldr	r3, [fp, #12]
	and	r3, r3, #9
	cmp	r3, #0
	beq	.L462
	ldr	r3, [fp, #-384]
	cmp	r3, #0
	blt	.L462
	ldr	r3, [fp, #-408]
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-412]
	ldr	r3, [r3]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #28]
	lsr	r3, r3, #16
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-200]
	ldr	r2, .L498+16
	umull	r1, r2, r3, r2
	lsr	r2, r2, #11
	ldr	r1, .L498+20
	mul	r2, r1, r2
	sub	r3, r3, r2
	str	r3, [fp, #-184]
	b	.L463
.L468:
	mov	r3, #0
	str	r3, [fp, #-196]
	b	.L464
.L465:
	ldr	r3, [fp, #-204]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-192]
	add	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-192]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-204]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-192]
	add	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-192]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-204]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-192]
	add	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-192]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-204]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-192]
	add	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-192]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-204]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-192]
	add	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-192]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-204]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-192]
	add	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-192]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-204]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-192]
	add	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-192]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-204]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-192]
	add	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-192]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-196]
	add	r3, r3, #8
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-204]
	add	r3, r3, #8
	str	r3, [fp, #-204]
.L464:
	ldr	r3, [fp, #-196]
	add	r3, r3, #7
	ldr	r2, [fp, #-184]
	cmp	r2, r3
	bhi	.L465
	b	.L466
.L467:
	ldr	r3, [fp, #-204]
	add	r2, r3, #1
	str	r2, [fp, #-204]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-192]
	add	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-192]
	add	r3, r2, r3
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-196]
	add	r3, r3, #1
	str	r3, [fp, #-196]
.L466:
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-184]
	cmp	r2, r3
	bcc	.L467
	ldr	r1, [fp, #-192]
	ldr	r3, .L498+24
	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, #-192]
	ldr	r1, [fp, #-188]
	ldr	r3, .L498+24
	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, #-188]
	ldr	r2, [fp, #-200]
	ldr	r3, [fp, #-184]
	sub	r3, r2, r3
	str	r3, [fp, #-200]
	ldr	r3, .L498+20
	str	r3, [fp, #-184]
.L463:
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	bne	.L468
	ldr	r3, [fp, #-188]
	lsl	r2, r3, #16
	ldr	r3, [fp, #-192]
	add	r2, r2, r3
	ldr	r3, [fp, #-392]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-384]
	cmp	r3, #0
	bne	.L462
	ldr	r3, [fp, #12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L462
	ldr	r3, [fp, #-392]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	beq	.L462
	mvn	r3, #1
	str	r3, [fp, #-384]
.L462:
	ldr	r3, [fp, #-384]
.L156:
	ldr	r2, .L498+28
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L469
	bl	__stack_chk_fail
.L469:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L499:
	.align	2
.L498:
	.word	s_length_extra.5837
	.word	s_length_base.5836
	.word	s_dist_extra.5839
	.word	s_dist_base.5838
	.word	1584310703
	.word	5552
	.word	-2146992015
	.word	.LC8
	.size	tinfl_decompress, .-tinfl_decompress
	.section	.rodata
	.align	2
.LC9:
	.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, .L513
	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]
.L510:
	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	.L501
	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	.L502
.L501:
	mov	r1, #0
.L502:
	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	.L503
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2812]
	cmp	r3, #1
	bne	.L504
.L503:
	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	.L511
.L504:
	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	.L506
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2828]
	b	.L511
.L506:
	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	.L508
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #128
	str	r3, [r2, #-2816]
.L508:
	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	.L509
	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	.L511
.L509:
	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	.L510
.L511:
	ldr	r2, .L513
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L512
	bl	__stack_chk_fail
.L512:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L514:
	.align	2
.L513:
	.word	.LC9
	.size	tinfl_decompress_mem_to_heap, .-tinfl_decompress_mem_to_heap
	.section	.rodata
	.align	2
.LC10:
	.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, .L520
	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	.L516
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2816]
	b	.L518
.L516:
	mvn	r3, #0
.L518:
	ldr	r2, .L520
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L519
	bl	__stack_chk_fail
.L519:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L521:
	.align	2
.L520:
	.word	.LC10
	.size	tinfl_decompress_mem_to_mem, .-tinfl_decompress_mem_to_mem
	.section	.rodata
	.align	2
.LC11:
	.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, .L532
	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	.L523
	mvn	r3, #0
	b	.L529
.L523:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2804]
.L528:
	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	.L525
	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	.L531
.L525:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2808]
	cmp	r3, #2
	beq	.L527
	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	.L526
.L527:
	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	.L528
.L531:
	nop
.L526:
	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]
.L529:
	ldr	r2, .L532
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L530
	bl	__stack_chk_fail
.L530:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L533:
	.align	2
.L532:
	.word	.LC11
	.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
.LC12:
	.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, .L548
	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	.L535
.L536:
	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]
.L535:
	ldr	r2, [fp, #-3108]
	ldr	r3, [fp, #-3128]
	cmp	r2, r3
	bcc	.L536
	b	.L537
.L539:
	ldr	r3, [fp, #-3120]
	sub	r3, r3, #1
	str	r3, [fp, #-3120]
.L537:
	ldr	r3, [fp, #-3120]
	cmp	r3, #1
	bls	.L538
	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	.L539
.L538:
	mov	r3, #0
	str	r3, [fp, #-3116]
	mov	r3, #0
	str	r3, [fp, #-3112]
	b	.L540
.L545:
	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	.L541
.L542:
	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]
.L541:
	ldr	r3, [fp, #-3108]
	cmp	r3, #255
	bls	.L542
	mov	r3, #0
	str	r3, [fp, #-3108]
	b	.L543
.L544:
	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]
.L543:
	ldr	r2, [fp, #-3108]
	ldr	r3, [fp, #-3128]
	cmp	r2, r3
	bcc	.L544
	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]
.L540:
	ldr	r2, [fp, #-3112]
	ldr	r3, [fp, #-3120]
	cmp	r2, r3
	bcc	.L545
	ldr	r3, [fp, #-3104]
	ldr	r2, .L548
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L547
	bl	__stack_chk_fail
.L547:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L549:
	.align	2
.L548:
	.word	.LC12
	.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	.L571
	ldr	r3, [fp, #-36]
	cmp	r3, #1
	bne	.L553
	ldr	r3, [fp, #-32]
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	b	.L550
.L553:
	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	.L554
.L561:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L555
	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	.L556
.L555:
	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	.L557
.L556:
	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
.L557:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L558
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bge	.L559
	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	.L559
.L558:
	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	.L560
.L559:
	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
.L560:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L554:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L561
	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	.L562
.L563:
	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]
.L562:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L563
	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	.L564
.L567:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L565:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L568
	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	.L567
	b	.L568
.L569:
	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]
.L568:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bgt	.L569
	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]
.L564:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L565
	b	.L550
.L571:
	nop
.L550:
	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	.L585
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L575
.L576:
	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]
.L575:
	ldr	r3, [fp, #-12]
	cmp	r3, #32
	ble	.L576
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	b	.L577
.L578:
	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]
.L577:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L578
	b	.L579
.L584:
	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	.L580
.L583:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L581
	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	.L582
.L581:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L580:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bgt	.L583
.L582:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
.L579:
	mov	r2, #1
	ldr	r3, [fp, #-24]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L584
	b	.L572
.L585:
	nop
.L572:
	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
.LC13:
	.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, .L610
	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	.L587
	mov	r3, #0
	str	r3, [fp, #-2480]
	b	.L588
.L589:
	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]
.L588:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2496]
	cmp	r2, r3
	blt	.L589
	b	.L590
.L587:
	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	.L591
.L593:
	ldr	r3, [fp, #-2480]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-2456]
	add	r3, r2, r3
	ldrh	r3, [r3]
	cmp	r3, #0
	beq	.L592
	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
.L592:
	ldr	r3, [fp, #-2480]
	add	r3, r3, #1
	str	r3, [fp, #-2480]
.L591:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2496]
	cmp	r2, r3
	blt	.L593
	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	.L594
.L595:
	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]
.L594:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2468]
	cmp	r2, r3
	blt	.L595
	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	.L596
.L599:
	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	.L597
.L598:
	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]
.L597:
	ldr	r3, [fp, #-2472]
	cmp	r3, #0
	bgt	.L598
	ldr	r3, [fp, #-2480]
	add	r3, r3, #1
	str	r3, [fp, #-2480]
.L596:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2500]
	cmp	r2, r3
	ble	.L599
.L590:
	mov	r3, #0
	str	r3, [fp, #-1156]
	mov	r3, #0
	str	r3, [fp, #-2476]
	mov	r3, #2
	str	r3, [fp, #-2480]
	b	.L600
.L601:
	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]
.L600:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2500]
	cmp	r2, r3
	ble	.L601
	mov	r3, #0
	str	r3, [fp, #-2480]
	b	.L602
.L607:
	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	.L609
	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	.L605
.L606:
	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]
.L605:
	ldr	r3, [fp, #-2472]
	cmp	r3, #0
	bgt	.L606
	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	.L604
.L609:
	nop
.L604:
	ldr	r3, [fp, #-2480]
	add	r3, r3, #1
	str	r3, [fp, #-2480]
.L602:
	ldr	r2, [fp, #-2480]
	ldr	r3, [fp, #-2496]
	cmp	r2, r3
	blt	.L607
	nop
	ldr	r3, .L610
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L608
	bl	__stack_chk_fail
.L608:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L611:
	.align	2
.L610:
	.word	.LC13
	.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
.LC14:
	.ascii	"the_stack_data/821599.c\000"
	.align	2
.LC15:
	.ascii	"bits <= ((1U << len) - 1U)\000"
	.align	2
.LC16:
	.ascii	"code < TDEFL_MAX_HUFF_SYMBOLS_2\000"
	.align	2
.LC17:
	.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, .L703
	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, .L703+4
	str	r3, [fp, #-744]
	b	.L613
.L616:
	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	.L700
	ldr	r3, [fp, #-744]
	sub	r3, r3, #1
	str	r3, [fp, #-744]
.L613:
	ldr	r3, [fp, #-744]
	ldr	r2, .L703+8
	cmp	r3, r2
	bgt	.L616
	b	.L615
.L700:
	nop
.L615:
	mov	r3, #30
	str	r3, [fp, #-740]
	b	.L617
.L620:
	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	.L701
	ldr	r3, [fp, #-740]
	sub	r3, r3, #1
	str	r3, [fp, #-740]
.L617:
	ldr	r3, [fp, #-740]
	cmp	r3, #1
	bgt	.L620
	b	.L619
.L701:
	nop
.L619:
	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	.L621
.L650:
	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	.L622
	ldr	r3, [fp, #-720]
	cmp	r3, #0
	beq	.L623
	ldr	r3, [fp, #-720]
	cmp	r3, #2
	bhi	.L624
	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	.L625
.L626:
	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]
.L625:
	ldr	r3, [fp, #-720]
	sub	r2, r3, #1
	str	r2, [fp, #-720]
	cmp	r3, #0
	bne	.L626
	b	.L627
.L624:
	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]
.L627:
	mov	r3, #0
	str	r3, [fp, #-720]
.L623:
	ldr	r3, [fp, #-724]
	add	r3, r3, #1
	str	r3, [fp, #-724]
	ldr	r3, [fp, #-724]
	cmp	r3, #138
	bne	.L628
	ldr	r3, [fp, #-724]
	cmp	r3, #0
	beq	.L628
	ldr	r3, [fp, #-724]
	cmp	r3, #2
	bhi	.L629
	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	.L630
.L631:
	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]
.L630:
	ldr	r3, [fp, #-724]
	sub	r2, r3, #1
	str	r2, [fp, #-724]
	cmp	r3, #0
	bne	.L631
	b	.L632
.L629:
	ldr	r3, [fp, #-724]
	cmp	r3, #10
	bhi	.L633
	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	.L632
.L633:
	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]
.L632:
	mov	r3, #0
	str	r3, [fp, #-724]
	b	.L628
.L622:
	ldr	r3, [fp, #-724]
	cmp	r3, #0
	beq	.L634
	ldr	r3, [fp, #-724]
	cmp	r3, #2
	bhi	.L635
	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	.L636
.L637:
	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]
.L636:
	ldr	r3, [fp, #-724]
	sub	r2, r3, #1
	str	r2, [fp, #-724]
	cmp	r3, #0
	bne	.L637
	b	.L638
.L635:
	ldr	r3, [fp, #-724]
	cmp	r3, #10
	bhi	.L639
	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	.L638
.L639:
	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]
.L638:
	mov	r3, #0
	str	r3, [fp, #-724]
.L634:
	ldrb	r2, [fp, #-745]	@ zero_extendqisi2
	ldrb	r3, [fp, #-746]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L640
	ldr	r3, [fp, #-720]
	cmp	r3, #0
	beq	.L641
	ldr	r3, [fp, #-720]
	cmp	r3, #2
	bhi	.L642
	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	.L643
.L644:
	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]
.L643:
	ldr	r3, [fp, #-720]
	sub	r2, r3, #1
	str	r2, [fp, #-720]
	cmp	r3, #0
	bne	.L644
	b	.L645
.L642:
	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]
.L645:
	mov	r3, #0
	str	r3, [fp, #-720]
.L641:
	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	.L628
.L640:
	ldr	r3, [fp, #-720]
	add	r3, r3, #1
	str	r3, [fp, #-720]
	ldr	r3, [fp, #-720]
	cmp	r3, #6
	bne	.L628
	ldr	r3, [fp, #-720]
	cmp	r3, #0
	beq	.L628
	ldr	r3, [fp, #-720]
	cmp	r3, #2
	bhi	.L646
	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	.L647
.L648:
	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]
.L647:
	ldr	r3, [fp, #-720]
	sub	r2, r3, #1
	str	r2, [fp, #-720]
	cmp	r3, #0
	bne	.L648
	b	.L649
.L646:
	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]
.L649:
	mov	r3, #0
	str	r3, [fp, #-720]
.L628:
	ldrb	r3, [fp, #-745]
	strb	r3, [fp, #-746]
	ldr	r3, [fp, #-732]
	add	r3, r3, #1
	str	r3, [fp, #-732]
.L621:
	ldr	r2, [fp, #-732]
	ldr	r3, [fp, #-712]
	cmp	r2, r3
	bcc	.L650
	ldr	r3, [fp, #-720]
	cmp	r3, #0
	beq	.L651
	ldr	r3, [fp, #-720]
	cmp	r3, #0
	beq	.L652
	ldr	r3, [fp, #-720]
	cmp	r3, #2
	bhi	.L653
	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	.L654
.L655:
	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]
.L654:
	ldr	r3, [fp, #-720]
	sub	r2, r3, #1
	str	r2, [fp, #-720]
	cmp	r3, #0
	bne	.L655
	b	.L656
.L653:
	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]
.L656:
	mov	r3, #0
	str	r3, [fp, #-720]
	b	.L652
.L651:
	ldr	r3, [fp, #-724]
	cmp	r3, #0
	beq	.L652
	ldr	r3, [fp, #-724]
	cmp	r3, #2
	bhi	.L657
	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	.L658
.L659:
	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]
.L658:
	ldr	r3, [fp, #-724]
	sub	r2, r3, #1
	str	r2, [fp, #-724]
	cmp	r3, #0
	bne	.L659
	b	.L660
.L657:
	ldr	r3, [fp, #-724]
	cmp	r3, #10
	bhi	.L661
	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	.L660
.L661:
	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]
.L660:
	mov	r3, #0
	str	r3, [fp, #-724]
.L652:
	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	.L662
	ldr	r3, .L703+48
	ldr	r2, .L703+12
	ldr	r1, .L703+60
	ldr	r0, .L703+56
	bl	__assert_fail
.L662:
	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	.L663
.L665:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L664
	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]
.L664:
	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]
.L663:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L665
	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	.L666
	ldr	r3, .L703+48
	ldr	r2, .L703+16
	ldr	r1, .L703+60
	ldr	r0, .L703+56
	bl	__assert_fail
.L666:
	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	.L667
.L669:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L668
	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]
.L668:
	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]
.L667:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L669
	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	.L670
	ldr	r3, .L703+48
	mov	r2, #1984
	ldr	r1, .L703+60
	ldr	r0, .L703+56
	bl	__assert_fail
.L670:
	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	.L671
.L673:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L672
	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]
.L672:
	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]
.L671:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L673
	mov	r3, #18
	str	r3, [fp, #-736]
	b	.L674
.L677:
	ldr	r2, .L703+24
	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	.L702
	ldr	r3, [fp, #-736]
	sub	r3, r3, #1
	str	r3, [fp, #-736]
.L674:
	ldr	r3, [fp, #-736]
	cmp	r3, #0
	bge	.L677
	b	.L676
.L702:
	nop
.L676:
	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	.L678
	ldr	r3, .L703+48
	ldr	r2, .L703+20
	ldr	r1, .L703+60
	ldr	r0, .L703+56
	bl	__assert_fail
.L704:
	.align	2
.L703:
	.word	.LC17
	.word	286
	.word	257
	.word	1981
	.word	1983
	.word	1987
	.word	s_tdefl_packed_code_size_syms_swizzle
	.word	1988
	.word	1992
	.word	.LC16
	.word	1993
	.word	.LC6
	.word	__PRETTY_FUNCTION__.6345
	.word	1994
	.word	.LC15
	.word	.LC14
	.word	.LC17
.L678:
	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	.L679
.L681:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L680
	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]
.L680:
	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]
.L679:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L681
	mov	r3, #0
	str	r3, [fp, #-732]
	b	.L682
.L687:
	ldr	r2, .L703+24
	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	.L683
	ldr	r3, .L703+48
	ldr	r2, .L703+28
	ldr	r1, .L703+60
	ldr	r0, .L703+56
	bl	__assert_fail
.L683:
	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	.L684
.L686:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L685
	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]
.L685:
	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]
.L684:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L686
	ldr	r3, [fp, #-732]
	add	r3, r3, #1
	str	r3, [fp, #-732]
.L682:
	ldr	r3, [fp, #-732]
	ldr	r2, [fp, #-736]
	cmp	r2, r3
	bgt	.L687
	mov	r3, #0
	str	r3, [fp, #-716]
	b	.L688
.L698:
	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	.L689
	ldr	r3, .L703+48
	ldr	r2, .L703+32
	ldr	r1, .L703+60
	ldr	r0, .L703+36
	bl	__assert_fail
.L689:
	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	.L690
	ldr	r3, .L703+48
	ldr	r2, .L703+40
	ldr	r1, .L703+60
	ldr	r0, .L703+56
	bl	__assert_fail
.L690:
	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	.L691
.L693:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L692
	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]
.L692:
	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]
.L691:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L693
	ldr	r3, [fp, #-676]
	cmp	r3, #15
	bls	.L688
	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, .L703+44
	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	.L694
	ldr	r3, .L703+48
	ldr	r2, .L703+52
	ldr	r1, .L703+60
	ldr	r0, .L703+56
	bl	__assert_fail
.L694:
	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	.L695
.L697:
	ldr	r3, [fp, #-752]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L696
	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]
.L696:
	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]
.L695:
	ldr	r3, [fp, #-752]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L697
.L688:
	ldr	r2, [fp, #-716]
	ldr	r3, [fp, #-728]
	cmp	r2, r3
	bcc	.L698
	nop
	ldr	r3, .L703+64
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L699
	bl	__stack_chk_fail
.L699:
	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	.L706
.L707:
	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]
.L706:
	ldr	r3, [fp, #-20]
	cmp	r3, #143
	bls	.L707
	b	.L708
.L709:
	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]
.L708:
	ldr	r3, [fp, #-20]
	cmp	r3, #255
	bls	.L709
	b	.L710
.L711:
	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]
.L710:
	ldr	r3, [fp, #-20]
	cmp	r3, #280
	bcc	.L711
	b	.L712
.L713:
	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]
.L712:
	ldr	r3, [fp, #-20]
	cmp	r3, #288
	bcc	.L713
	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	.L714
	ldr	r3, .L718
	ldr	r2, .L718+4
	ldr	r1, .L718+8
	ldr	r0, .L718+12
	bl	__assert_fail
.L714:
	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	.L715
.L717:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L716
	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]
.L716:
	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]
.L715:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L717
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L719:
	.align	2
.L718:
	.word	__PRETTY_FUNCTION__.6408
	.word	2013
	.word	.LC14
	.word	.LC15
	.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
.LC18:
	.ascii	"d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]"
	.ascii	"\000"
	.align	2
.LC19:
	.ascii	"d->m_huff_code_sizes[1][sym]\000"
	.align	2
.LC20:
	.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	.L721
.L750:
	ldr	r3, [fp, #-80]
	cmp	r3, #1
	bne	.L722
	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]
.L722:
	ldr	r3, [fp, #-80]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L723
	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, .L756
	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	.L724
	ldr	r3, .L756+4
	ldr	r2, .L756+8
	ldr	r1, .L756+12
	ldr	r0, .L756+16
	bl	__assert_fail
.L724:
	ldr	r2, .L756
	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, .L756
	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	.L725
	ldr	r3, .L756+4
	ldr	r2, .L756+20
	ldr	r1, .L756+12
	ldr	r0, .L756+24
	bl	__assert_fail
.L725:
	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	.L726
.L728:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L727
	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]
.L727:
	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]
.L726:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L728
	ldr	r2, .L756+28
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L756+32
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-44]
	and	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r2, .L756+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	.L729
	ldr	r3, .L756+4
	ldr	r2, .L756+36
	ldr	r1, .L756+12
	ldr	r0, .L756+24
	bl	__assert_fail
.L729:
	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	.L730
.L732:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L731
	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]
.L731:
	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]
.L730:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L732
	ldr	r3, [fp, #-40]
	cmp	r3, #512
	bcs	.L733
	ldr	r2, .L756+40
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-72]
	ldr	r2, .L756+44
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-68]
	b	.L734
.L733:
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #8
	ldr	r2, .L756+48
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-40]
	lsr	r3, r3, #8
	ldr	r2, .L756+52
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-68]
.L734:
	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	.L735
	ldr	r3, .L756+4
	ldr	r2, .L756+56
	ldr	r1, .L756+12
	ldr	r0, .L756+60
	bl	__assert_fail
.L735:
	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	.L736
	ldr	r3, .L756+4
	ldr	r2, .L756+64
	ldr	r1, .L756+12
	ldr	r0, .L756+24
	bl	__assert_fail
.L736:
	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	.L737
.L739:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L738
	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]
.L738:
	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]
.L737:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L739
	ldr	r2, .L756+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	.L740
	ldr	r3, .L756+4
	ldr	r2, .L756+68
	ldr	r1, .L756+12
	ldr	r0, .L756+24
	bl	__assert_fail
.L740:
	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	.L741
.L743:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L742
	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]
.L742:
	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]
.L741:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L743
	b	.L744
.L723:
	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	.L745
	ldr	r3, .L756+4
	ldr	r2, .L756+72
	ldr	r1, .L756+12
	ldr	r0, .L756+76
	bl	__assert_fail
.L745:
	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	.L746
	ldr	r3, .L756+4
	ldr	r2, .L756+80
	ldr	r1, .L756+12
	ldr	r0, .L756+24
	bl	__assert_fail
.L746:
	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	.L747
.L749:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L748
	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]
.L748:
	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]
.L747:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L749
.L744:
	ldr	r3, [fp, #-80]
	lsr	r3, r3, #1
	str	r3, [fp, #-80]
.L721:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	bcc	.L750
	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	.L751
	ldr	r3, .L756+4
	ldr	r2, .L756+84
	ldr	r1, .L756+12
	ldr	r0, .L756+24
	bl	__assert_fail
.L751:
	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	.L752
.L754:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L753
	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]
.L753:
	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]
.L752:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L754
	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}
.L757:
	.align	2
.L756:
	.word	s_tdefl_len_sym
	.word	__PRETTY_FUNCTION__.6422
	.word	2123
	.word	.LC14
	.word	.LC18
	.word	2124
	.word	.LC15
	.word	s_tdefl_len_extra
	.word	mz_bitmasks
	.word	2125
	.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	2135
	.word	.LC19
	.word	2136
	.word	2137
	.word	2142
	.word	.LC20
	.word	2143
	.word	2147
	.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	.L759
	ldr	r0, [fp, #-8]
	bl	tdefl_start_static_block
	b	.L760
.L759:
	ldr	r0, [fp, #-8]
	bl	tdefl_start_dynamic_block
.L760:
	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
.LC21:
	.ascii	"!d->m_output_flush_remaining\000"
	.align	2
.LC22:
	.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	.L763
	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	.L763
	mov	r3, #1
	b	.L764
.L763:
	mov	r3, #0
.L764:
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L765
	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, .L842
	cmp	r3, r2
	bls	.L765
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #116]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #140]
	add	r3, r2, r3
	b	.L766
.L765:
	ldr	r2, [fp, #-168]
	ldr	r3, .L842+64
	add	r3, r2, r3
.L766:
	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	.L767
	ldr	r3, .L842+4
	ldr	r2, .L842+8
	ldr	r1, .L842+12
	ldr	r0, .L842+16
	bl	__assert_fail
.L767:
	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	.L768
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #100]
	cmp	r3, #0
	bne	.L768
	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	.L769
	ldr	r3, .L842+4
	ldr	r2, .L842+20
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L769:
	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	.L770
.L772:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L771
	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]
.L771:
	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]
.L770:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L772
	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	.L773
	ldr	r3, .L842+4
	ldr	r2, .L842+20
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L773:
	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	.L774
.L776:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L775
	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]
.L775:
	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]
.L774:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L776
.L768:
	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	.L777
	ldr	r3, .L842+4
	ldr	r2, .L842+28
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L777:
	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	.L778
.L780:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L779
	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]
.L779:
	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]
.L778:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L780
	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	.L781
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #8]
	and	r3, r3, #262144
	cmp	r3, #0
	bne	.L782
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #60]
	cmp	r3, #47
	bhi	.L783
.L782:
	mov	r3, #1
	b	.L784
.L783:
	mov	r3, #0
.L784:
	mov	r1, r3
	ldr	r0, [fp, #-168]
	bl	tdefl_compress_block
	str	r0, [fp, #-160]
.L781:
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L785
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L786
	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	.L786
.L785:
	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	.L786
	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	.L787
	ldr	r3, .L842+4
	ldr	r2, .L842+32
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L787:
	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	.L788
.L790:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L789
	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]
.L789:
	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]
.L788:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L790
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L791
	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	.L792
	ldr	r3, .L842+4
	ldr	r2, .L842+36
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L792:
	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	.L793
.L795:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L794
	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]
.L794:
	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]
.L793:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L795
.L791:
	mov	r3, #2
	str	r3, [fp, #-156]
	b	.L796
.L801:
	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	.L797
	ldr	r3, .L842+4
	ldr	r2, .L842+40
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L797:
	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	.L798
.L800:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L799
	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]
.L799:
	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]
.L798:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L800
	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]
.L796:
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bne	.L801
	mov	r3, #0
	str	r3, [fp, #-156]
	b	.L802
.L807:
	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	.L803
	ldr	r3, .L842+4
	ldr	r2, .L842+44
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L803:
	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	.L804
.L806:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L805
	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]
.L805:
	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]
.L804:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L806
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-156]
.L802:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-156]
	cmp	r2, r3
	bcc	.L807
	b	.L808
.L786:
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	bne	.L808
	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
.L808:
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L809
	ldr	r3, [fp, #-172]
	cmp	r3, #4
	bne	.L810
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L811
	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	.L812
	ldr	r3, .L842+4
	ldr	r2, .L842+48
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L812:
	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	.L813
.L815:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L814
	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]
.L814:
	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]
.L813:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L815
.L811:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #8]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L809
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-148]
	mov	r3, #0
	str	r3, [fp, #-152]
	b	.L816
.L821:
	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	.L817
	ldr	r3, .L842+4
	ldr	r2, .L842+52
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L817:
	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	.L818
.L820:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L819
	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]
.L819:
	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]
.L818:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L820
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #8
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
.L816:
	ldr	r3, [fp, #-152]
	cmp	r3, #3
	bls	.L821
	b	.L809
.L810:
	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	.L822
	ldr	r3, .L842+4
	mov	r2, #2224
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L822:
	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	.L823
.L825:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L824
	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]
.L824:
	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]
.L823:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L825
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	beq	.L826
	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	.L827
	ldr	r3, .L842+4
	mov	r2, #2224
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L827:
	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	.L828
.L830:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L829
	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]
.L829:
	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]
.L828:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L830
.L826:
	mov	r3, #2
	str	r3, [fp, #-144]
	b	.L831
.L836:
	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	.L832
	ldr	r3, .L842+4
	mov	r2, #2224
	ldr	r1, .L842+12
	ldr	r0, .L842+24
	bl	__assert_fail
.L832:
	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	.L833
.L835:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcs	.L834
	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]
.L834:
	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]
.L833:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #68]
	cmp	r3, #7
	bhi	.L835
	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]
.L831:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L836
.L809:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #52]
	cmp	r2, r3
	bcc	.L837
	ldr	r3, .L842+4
	ldr	r2, .L842+56
	ldr	r1, .L842+12
	ldr	r0, .L842+60
	bl	__assert_fail
.L843:
	.align	2
.L842:
	.word	85195
	.word	__PRETTY_FUNCTION__.6472
	.word	2173
	.word	.LC14
	.word	.LC21
	.word	2182
	.word	.LC15
	.word	2185
	.word	2197
	.word	2198
	.word	2201
	.word	2205
	.word	2219
	.word	2220
	.word	2228
	.word	.LC22
	.word	234098
.L837:
	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	.L838
	ldr	r3, [fp, #-168]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L839
	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, .L842+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	.L838
	ldr	r3, [fp, #-168]
	mvn	r2, #0
	str	r2, [r3, #108]
	mvn	r3, #0
	b	.L840
.L839:
	ldr	r2, [fp, #-168]
	ldr	r3, .L842+64
	add	r3, r2, r3
	ldr	r2, [fp, #-132]
	cmp	r2, r3
	bne	.L841
	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, .L842+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	.L838
	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	.L838
.L841:
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #140]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-168]
	str	r2, [r3, #140]
.L838:
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #92]
.L840:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	tdefl_flush_block, .-tdefl_flush_block
	.section	.rodata
	.align	2
.LC23:
	.ascii	"max_match_len <= TDEFL_MAX_MATCH_LEN\000"
	.align	2
.LC24:
	.ascii	"(match_len >= TDEFL_MIN_MATCH_LEN) && (match_dist >"
	.ascii	"= 1) && (match_dist <= TDEFL_LZ_DICT_SIZE)\000"
	.align	2
.LC25:
	.ascii	"d->m_lookahead_size >= len_to_move\000"
	.align	2
.LC26:
	.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, .L942
	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	.L845
.L920:
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #36]
	add	r3, r2, r3
	cmp	r3, #1
	bls	.L851
	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	.L847
.L849:
	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	.L848
	ldr	r3, [fp, #-184]
	add	r3, r3, #32768
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldrb	r2, [fp, #-210]
	strb	r2, [r3, #144]
.L848:
	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]
.L847:
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-152]
	cmp	r2, r3
	bne	.L849
	b	.L850
.L853:
	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	.L852
	ldr	r3, [fp, #-168]
	add	r3, r3, #32768
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldrb	r2, [fp, #-211]
	strb	r2, [r3, #144]
.L852:
	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	.L851
	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
.L851:
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	beq	.L850
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r2, .L942+4
	cmp	r3, r2
	bls	.L853
.L850:
	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	.L854
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r2, .L942+4
	cmp	r3, r2
	bls	.L928
.L854:
	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	.L856
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #80]
	b	.L857
.L856:
	mov	r3, #2
.L857:
	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	.L858
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L859
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	and	r3, r3, #524288
	cmp	r3, #0
	bne	.L859
	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	.L860
.L863:
	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	.L929
	ldr	r3, [fp, #-200]
	add	r3, r3, #1
	str	r3, [fp, #-200]
.L860:
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	bhi	.L863
	b	.L862
.L929:
	nop
.L862:
	ldr	r3, [fp, #-200]
	cmp	r3, #2
	bhi	.L864
	mov	r3, #0
	str	r3, [fp, #-200]
	b	.L859
.L864:
	mov	r3, #1
	str	r3, [fp, #-204]
	b	.L859
.L858:
	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, .L942+8
	cmp	r3, r2
	bls	.L865
	ldr	r3, .L942+12
	ldr	r2, .L942+16
	ldr	r1, .L942+60
	ldr	r0, .L942+20
	bl	__assert_fail
.L865:
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-112]
	cmp	r2, r3
	bls	.L930
.L866:
	ldr	r3, [fp, #-104]
	sub	r3, r3, #1
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	beq	.L931
	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	.L932
	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	.L932
	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	.L871
	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	.L933
.L871:
	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	.L934
	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	.L934
	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	.L875
	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	.L933
.L875:
	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	.L935
	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	.L935
	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	.L866
	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	.L933
	b	.L866
.L933:
	nop
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L936
	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	.L880
.L883:
	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	.L937
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L880:
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	bhi	.L883
	b	.L882
.L937:
	nop
.L882:
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	bcs	.L866
	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	.L938
	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	.L866
.L930:
	nop
	b	.L859
.L931:
	nop
	b	.L859
.L932:
	nop
	b	.L859
.L934:
	nop
	b	.L859
.L935:
	nop
	b	.L859
.L936:
	nop
	b	.L859
.L938:
	nop
.L859:
	ldr	r3, [fp, #-200]
	cmp	r3, #3
	bne	.L886
	ldr	r3, [fp, #-204]
	cmp	r3, #8192
	bcs	.L887
.L886:
	ldr	r3, [fp, #-204]
	ldr	r2, [fp, #-148]
	cmp	r2, r3
	beq	.L887
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	and	r3, r3, #131072
	cmp	r3, #0
	beq	.L888
	ldr	r3, [fp, #-200]
	cmp	r3, #5
	bhi	.L888
.L887:
	mov	r3, #0
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-204]
.L888:
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #80]
	cmp	r3, #0
	beq	.L889
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	bcs	.L890
	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	.L891
	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]
.L891:
	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	.L892
	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	.L893
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L893
	ldr	r3, [fp, #-64]
	cmp	r3, #32768
	bls	.L925
.L893:
	ldr	r3, .L942+24
	ldr	r2, .L942+28
	ldr	r1, .L942+60
	ldr	r0, .L942+32
	bl	__assert_fail
.L925:
	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	.L895
	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]
.L895:
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	ldr	r2, .L942+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, .L942+40
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	cmp	r3, #512
	bcs	.L896
	ldr	r3, [fp, #-60]
	b	.L897
.L896:
	ldr	r3, [fp, #-56]
.L897:
	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	.L939
	ldr	r3, [fp, #-68]
	sub	r3, r3, #3
	ldr	r2, .L942+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
.L939:
	nop
	ldr	r3, [fp, #-216]
	mov	r2, #0
	str	r2, [r3, #80]
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-188]
	b	.L899
.L892:
	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	.L899
.L890:
	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	.L900
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L900
	ldr	r3, [fp, #-44]
	cmp	r3, #32768
	bls	.L926
.L900:
	ldr	r3, .L942+24
	ldr	r2, .L942+28
	ldr	r1, .L942+60
	ldr	r0, .L942+32
	bl	__assert_fail
.L926:
	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	.L902
	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]
.L902:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	ldr	r2, .L942+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, .L942+40
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	cmp	r3, #512
	bcs	.L903
	ldr	r3, [fp, #-40]
	b	.L904
.L943:
	.align	2
.L942:
	.word	.LC26
	.word	257
	.word	258
	.word	__PRETTY_FUNCTION__.6571
	.word	2305
	.word	.LC23
	.word	__PRETTY_FUNCTION__.6590
	.word	2479
	.word	.LC24
	.word	s_tdefl_small_dist_sym
	.word	s_tdefl_large_dist_sym
	.word	s_tdefl_len_sym
	.word	__PRETTY_FUNCTION__.6622
	.word	2597
	.word	.LC25
	.word	.LC14
	.word	103018
	.word	.LC26
.L903:
	ldr	r3, [fp, #-36]
.L904:
	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	.L940
	ldr	r3, [fp, #-48]
	sub	r3, r3, #3
	ldr	r2, .L942+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
.L940:
	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	.L899
.L889:
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	bne	.L906
	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	.L907
	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]
.L907:
	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	.L899
.L906:
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L908
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	and	r3, r3, #65536
	cmp	r3, #0
	bne	.L908
	ldr	r3, [fp, #-200]
	cmp	r3, #127
	bls	.L909
.L908:
	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	.L910
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L910
	ldr	r3, [fp, #-20]
	cmp	r3, #32768
	bls	.L927
.L910:
	ldr	r3, .L942+24
	ldr	r2, .L942+28
	ldr	r1, .L942+60
	ldr	r0, .L942+32
	bl	__assert_fail
.L927:
	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	.L912
	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]
.L912:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	ldr	r2, .L942+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, .L942+40
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r3, #512
	bcs	.L913
	ldr	r3, [fp, #-16]
	b	.L914
.L913:
	ldr	r3, [fp, #-12]
.L914:
	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	.L941
	ldr	r3, [fp, #-24]
	sub	r3, r3, #3
	ldr	r2, .L942+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
.L941:
	nop
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-188]
	b	.L899
.L909:
	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]
.L899:
	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	.L916
	ldr	r3, .L942+48
	ldr	r2, .L942+52
	ldr	r1, .L942+60
	ldr	r0, .L942+56
	bl	__assert_fail
.L916:
	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, .L942+64
	add	r3, r1, r3
	cmp	r2, r3
	bhi	.L917
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #60]
	cmp	r3, #31744
	bls	.L845
	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	.L917
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	and	r3, r3, #524288
	cmp	r3, #0
	beq	.L845
.L917:
	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	.L845
	ldr	r3, [fp, #-144]
	mvn	r3, r3
	lsr	r3, r3, #31
	and	r3, r3, #255
	b	.L919
.L845:
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	bne	.L920
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L855
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L920
	b	.L855
.L928:
	nop
.L855:
	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
.L919:
	ldr	r2, .L942+68
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L921
	bl	__stack_chk_fail
.L921:
	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	.L945
	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]
.L945:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #124]
	cmp	r3, #0
	beq	.L946
	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, .L950
	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]
.L946:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #96]
	cmp	r3, #0
	beq	.L947
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #92]
	cmp	r3, #0
	bne	.L947
	mov	r3, #1
	b	.L949
.L947:
	mov	r3, #0
.L949:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L951:
	.align	2
.L950:
	.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	.L953
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L954
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3]
.L954:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L955
	ldr	r3, [fp, #4]
	mov	r2, #0
	str	r2, [r3]
.L955:
	mvn	r3, #1
	b	.L956
.L953:
	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	.L957
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	b	.L958
.L957:
	mov	r3, #0
.L958:
	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	.L959
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L960
.L959:
	mov	r3, #1
	b	.L961
.L960:
	mov	r3, #0
.L961:
	and	r3, r3, #1
	and	r3, r3, #255
	eor	r3, r3, r2
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L962
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	cmp	r3, #0
	bne	.L962
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #104]
	cmp	r3, #0
	beq	.L963
	ldr	r3, [fp, #8]
	cmp	r3, #4
	bne	.L962
.L963:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L964
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L964
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L962
.L964:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L965
	ldr	r3, [fp, #4]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L965
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L965
.L962:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L966
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3]
.L966:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L967
	ldr	r3, [fp, #4]
	mov	r2, #0
	str	r2, [r3]
.L967:
	ldr	r3, [fp, #-8]
	mvn	r2, #1
	str	r2, [r3, #108]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	b	.L956
.L965:
	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	.L968
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #96]
	cmp	r3, #0
	beq	.L969
.L968:
	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	.L956
.L969:
	ldr	r0, [fp, #-8]
	bl	tdefl_compress_normal
	mov	r3, r0
	cmp	r3, #0
	bne	.L970
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	b	.L956
.L970:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	and	r3, r3, #12288
	cmp	r3, #0
	beq	.L971
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L971
	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]
.L971:
	ldr	r3, [fp, #8]
	cmp	r3, #0
	beq	.L972
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L972
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #136]
	cmp	r3, #0
	bne	.L972
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #92]
	cmp	r3, #0
	bne	.L972
	ldr	r3, [fp, #8]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	tdefl_flush_block
	mov	r3, r0
	cmp	r3, #0
	bge	.L973
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	b	.L956
.L973:
	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	.L972
	ldr	r2, [fp, #-8]
	ldr	r3, .L974
	add	r3, r2, r3
	mov	r2, #65536
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r2, [fp, #-8]
	ldr	r3, .L974+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]
.L972:
	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]
.L956:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L975:
	.align	2
.L974:
	.word	168562
	.word	103026
	.size	tdefl_compress, .-tdefl_compress
	.section	.rodata
	.align	2
.LC27:
	.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	.L977
	ldr	r3, .L979
	ldr	r2, .L979+4
	ldr	r1, .L979+8
	ldr	r0, .L979+12
	bl	__assert_fail
.L977:
	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}
.L980:
	.align	2
.L979:
	.word	__PRETTY_FUNCTION__.6644
	.word	2694
	.word	.LC14
	.word	.LC27
	.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, .L984
	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, .L984
	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	.L982
	ldr	r2, [fp, #-8]
	ldr	r3, .L984+4
	add	r3, r2, r3
	mov	r2, #65536
	mov	r1, #0
	mov	r0, r3
	bl	memset
.L982:
	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, .L984+8
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r3, [r2, #48]
	ldr	r2, [fp, #-8]
	ldr	r3, .L984+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}
.L985:
	.align	2
.L984:
	.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	.L991
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L992
.L991:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L993
.L992:
	mov	r3, #0
	b	.L994
.L993:
	ldr	r0, .L998
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L995
	mov	r3, #0
	b	.L994
.L995:
	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	.L996
	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	.L996
	mov	r3, #1
	b	.L997
.L996:
	mov	r3, #0
.L997:
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r3, [fp, #-8]
.L994:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L999:
	.align	2
.L998:
	.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	.L1001
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1002
	mov	r3, #0
	b	.L1003
.L1002:
	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	.L1002
	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	.L1004
	mov	r3, #0
	b	.L1003
.L1004:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
.L1001:
	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
.L1003:
	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
.LC28:
	.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, .L1011
	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	.L1006
	mov	r3, #0
	b	.L1009
.L1006:
	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, .L1011+4
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	tdefl_compress_mem_to_output
	mov	r3, r0
	cmp	r3, #0
	bne	.L1008
	mov	r3, #0
	b	.L1009
.L1008:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
.L1009:
	ldr	r2, .L1011
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1010
	bl	__stack_chk_fail
.L1010:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1012:
	.align	2
.L1011:
	.word	.LC28
	.word	tdefl_output_buffer_putter
	.size	tdefl_compress_mem_to_heap, .-tdefl_compress_mem_to_heap
	.section	.rodata
	.align	2
.LC29:
	.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, .L1019
	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	.L1014
	mov	r3, #0
	b	.L1017
.L1014:
	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, .L1019+4
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	tdefl_compress_mem_to_output
	mov	r3, r0
	cmp	r3, #0
	bne	.L1016
	mov	r3, #0
	b	.L1017
.L1016:
	ldr	r3, [fp, #-24]
.L1017:
	ldr	r2, .L1019
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1018
	bl	__stack_chk_fail
.L1018:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1020:
	.align	2
.L1019:
	.word	.LC29
	.word	tdefl_output_buffer_putter
	.size	tdefl_compress_mem_to_mem, .-tdefl_compress_mem_to_mem
	.section	.rodata
	.align	2
	.type	s_tdefl_num_probes, %object
	.size	s_tdefl_num_probes, 44
s_tdefl_num_probes:
	.word	0
	.word	1
	.word	6
	.word	32
	.word	16
	.word	32
	.word	128
	.word	256
	.word	512
	.word	768
	.word	1500
	.text
	.align	2
	.global	tdefl_create_comp_flags_from_zip_params
	.syntax unified
	.arm
	.fpu softvfp
	.type	tdefl_create_comp_flags_from_zip_params, %function
tdefl_create_comp_flags_from_zip_params:
	@ 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]
	cmp	r3, #0
	blt	.L1022
	ldr	r3, [fp, #-16]
	cmp	r3, #10
	movlt	r3, r3
	movge	r3, #10
	b	.L1023
.L1022:
	mov	r3, #6
.L1023:
	ldr	r2, .L1033
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-16]
	cmp	r2, #3
	bgt	.L1024
	mov	r2, #16384
	b	.L1025
.L1024:
	mov	r2, #0
.L1025:
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L1026
	ldr	r3, [fp, #-8]
	orr	r3, r3, #4096
	str	r3, [fp, #-8]
.L1026:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1027
	ldr	r3, [fp, #-8]
	orr	r3, r3, #524288
	str	r3, [fp, #-8]
	b	.L1028
.L1027:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L1029
	ldr	r3, [fp, #-8]
	orr	r3, r3, #131072
	str	r3, [fp, #-8]
	b	.L1028
.L1029:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	bne	.L1030
	ldr	r3, [fp, #-8]
	bic	r3, r3, #4080
	bic	r3, r3, #15
	str	r3, [fp, #-8]
	b	.L1028
.L1030:
	ldr	r3, [fp, #-24]
	cmp	r3, #4
	bne	.L1031
	ldr	r3, [fp, #-8]
	orr	r3, r3, #262144
	str	r3, [fp, #-8]
	b	.L1028
.L1031:
	ldr	r3, [fp, #-24]
	cmp	r3, #3
	bne	.L1028
	ldr	r3, [fp, #-8]
	orr	r3, r3, #65536
	str	r3, [fp, #-8]
.L1028:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1034:
	.align	2
.L1033:
	.word	s_tdefl_num_probes
	.size	tdefl_create_comp_flags_from_zip_params, .-tdefl_create_comp_flags_from_zip_params
	.section	.rodata
	.align	2
.LC30:
	.ascii	"\000\000\000\000\000\000\000\000IEND\256B`\202\000"
	.align	2
.LC31:
	.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, .L1053
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L1053+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	.L1036
	mov	r3, #0
	b	.L1051
.L1036:
	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	.L1038
	ldr	r0, [fp, #-76]
	bl	free
	mov	r3, #0
	b	.L1051
.L1038:
	mov	r3, #41
	str	r3, [fp, #-92]
	b	.L1039
.L1040:
	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]
.L1039:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L1040
	ldr	r3, [fp, #8]
	cmp	r3, #10
	movcc	r3, r3
	movcs	r3, #10
	ldr	r2, .L1053+8
	ldr	r3, [r2, r3, lsl #2]
	orr	r3, r3, #4096
	sub	r2, fp, #68
	ldr	r1, .L1053+12
	ldr	r0, [fp, #-76]
	bl	tdefl_init
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L1041
.L1044:
	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	.L1042
	ldr	r3, [fp, #-104]
	sub	r2, r3, #1
	ldr	r3, [fp, #-84]
	sub	r3, r2, r3
	b	.L1043
.L1042:
	ldr	r3, [fp, #-84]
.L1043:
	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]
.L1041:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	blt	.L1044
	mov	r3, #4
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-76]
	bl	tdefl_compress_buffer
	mov	r3, r0
	cmp	r3, #1
	beq	.L1045
	ldr	r0, [fp, #-76]
	bl	free
	ldr	r3, [fp, #-60]
	mov	r0, r3
	bl	free
	mov	r3, #0
	b	.L1051
.L1045:
	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, .L1053+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	.L1046
.L1047:
	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]
.L1046:
	ldr	r3, [fp, #-88]
	cmp	r3, #3
	ble	.L1047
	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, .L1053+20
	bl	tdefl_output_buffer_putter
	mov	r3, r0
	cmp	r3, #0
	bne	.L1048
	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	.L1051
.L1048:
	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	.L1049
.L1050:
	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]
.L1049:
	ldr	r3, [fp, #-88]
	cmp	r3, #3
	ble	.L1050
	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]
.L1051:
	ldr	r2, .L1053
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1052
	bl	__stack_chk_fail
.L1052:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1054:
	.align	2
.L1053:
	.word	.LC31
	.word	319296
	.word	s_tdefl_png_num_probes.6714
	.word	tdefl_output_buffer_putter
	.word	chans.6728
	.word	.LC30
	.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
	.section	.rodata
	.align	2
.LC32:
	.ascii	"pArray->m_element_size\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_array_ensure_capacity, %function
mz_zip_array_ensure_capacity:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1058
	ldr	r3, .L1067
	ldr	r2, .L1067+4
	ldr	r1, .L1067+8
	ldr	r0, .L1067+12
	bl	__assert_fail
.L1058:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bhi	.L1059
	mov	r3, #1
	b	.L1060
.L1059:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L1061
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1062
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	b	.L1063
.L1062:
	mov	r3, #1
.L1063:
	str	r3, [fp, #-20]
	b	.L1064
.L1065:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #1
	str	r3, [fp, #-20]
.L1064:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bcc	.L1065
.L1061:
	ldr	r3, [fp, #-24]
	ldr	r4, [r3, #36]
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #40]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	blx	r4
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1066
	mov	r3, #0
	b	.L1060
.L1066:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #8]
	mov	r3, #1
.L1060:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1068:
	.align	2
.L1067:
	.word	__PRETTY_FUNCTION__.7261
	.word	2998
	.word	.LC14
	.word	.LC32
	.size	mz_zip_array_ensure_capacity, .-mz_zip_array_ensure_capacity
	.section	.rodata
	.align	2
.LC33:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_dos_to_time_t, %function
mz_zip_dos_to_time_t:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L1072
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #52
	mov	r2, #44
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mvn	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-60]
	asr	r3, r3, #9
	and	r3, r3, #127
	add	r3, r3, #80
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-60]
	asr	r3, r3, #5
	and	r3, r3, #15
	sub	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-60]
	and	r3, r3, #31
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	asr	r3, r3, #11
	and	r3, r3, #31
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-56]
	asr	r3, r3, #5
	and	r3, r3, #63
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #1
	and	r3, r3, #62
	str	r3, [fp, #-52]
	sub	r3, fp, #52
	mov	r0, r3
	bl	mktime
	mov	r3, r0
	ldr	r2, .L1072
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1071
	bl	__stack_chk_fail
.L1071:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1073:
	.align	2
.L1072:
	.word	.LC33
	.size	mz_zip_dos_to_time_t, .-mz_zip_dos_to_time_t
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_time_to_dos_time, %function
mz_zip_time_to_dos_time:
	@ args = 0, 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]
	sub	r3, fp, #16
	mov	r0, r3
	bl	localtime
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #11
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #5
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	asr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-20]
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #80
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #9
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #5
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-24]
	strh	r2, [r3]	@ movhi
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_time_to_dos_time, .-mz_zip_time_to_dos_time
	.section	.rodata
	.align	2
.LC34:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_get_file_modified_time, %function
mz_zip_get_file_modified_time:
	@ args = 0, 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, #-104]
	str	r1, [fp, #-108]
	str	r2, [fp, #-112]
	ldr	r3, .L1080
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	beq	.L1076
	mov	r3, #0
	b	.L1078
.L1076:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-112]
	ldr	r1, [fp, #-108]
	mov	r0, r3
	bl	mz_zip_time_to_dos_time
	mov	r3, #1
.L1078:
	ldr	r2, .L1080
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1079
	bl	__stack_chk_fail
.L1079:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1081:
	.align	2
.L1080:
	.word	.LC34
	.size	mz_zip_get_file_modified_time, .-mz_zip_get_file_modified_time
	.section	.rodata
	.align	2
.LC35:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_set_file_times, %function
mz_zip_set_file_times:
	@ 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, .L1085
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	utime
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	ldr	r2, .L1085
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1084
	bl	__stack_chk_fail
.L1084:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1086:
	.align	2
.L1085:
	.word	.LC35
	.size	mz_zip_set_file_times, .-mz_zip_set_file_times
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_init_internal, %function
mz_zip_reader_init_internal:
	@ 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, #-8]
	cmp	r3, #0
	beq	.L1088
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L1088
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1089
.L1088:
	mov	r3, #0
	b	.L1090
.L1089:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L1091
	ldr	r3, [fp, #-8]
	ldr	r2, .L1095
	str	r2, [r3, #28]
.L1091:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1092
	ldr	r3, [fp, #-8]
	ldr	r2, .L1095+4
	str	r2, [r3, #32]
.L1092:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L1093
	ldr	r3, [fp, #-8]
	ldr	r2, .L1095+8
	str	r2, [r3, #36]
.L1093:
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #20]
	ldr	r1, [fp, #-8]
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r1, [fp, #-8]
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-8]
	ldr	r0, [r2, #40]
	mov	r2, #64
	mov	r1, #1
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L1094
	mov	r3, #0
	b	.L1090
.L1094:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	mov	r2, #64
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	mov	r2, #4
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	mov	r2, #4
	str	r2, [r3, #44]
	mov	r3, #1
.L1090:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1096:
	.align	2
.L1095:
	.word	def_alloc_func
	.word	def_free_func
	.word	def_realloc_func
	.size	mz_zip_reader_init_internal, .-mz_zip_reader_init_internal
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_sort_central_dir_offsets_by_filename, %function
mz_zip_reader_sort_central_dir_offsets_by_filename:
	@ args = 0, pretend = 0, frame = 216
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #220
	str	r0, [fp, #-216]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-188]
	add	r3, r3, #16
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-188]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-188]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-172]
	sub	r3, r3, #2
	asr	r3, r3, #1
	str	r3, [fp, #-204]
	b	.L1098
.L1127:
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-196]
.L1126:
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #1
	add	r3, r3, #1
	str	r3, [fp, #-156]
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-172]
	cmp	r2, r3
	bge	.L1162
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	ldr	r2, [fp, #-172]
	cmp	r2, r3
	ble	.L1101
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-176]
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-180]
	str	r1, [fp, #-148]
	ldr	r1, [fp, #-184]
	str	r1, [fp, #-144]
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-148]
	ldr	r2, [r3]
	ldr	r3, [fp, #-144]
	ldr	r1, [r3]
	ldr	r3, [fp, #-140]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-148]
	ldr	r2, [r3]
	ldr	r3, [fp, #-144]
	ldr	r1, [r3]
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-132]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-132]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-128]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-128]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-120]
	mov	r3, #0
	strb	r3, [fp, #-212]
	mov	r3, #0
	strb	r3, [fp, #-211]
	ldr	r3, [fp, #-132]
	add	r3, r3, #46
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-128]
	add	r3, r3, #46
	str	r3, [fp, #-128]
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	str	r3, [fp, #-116]
	b	.L1102
.L1109:
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1103
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1103
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	and	r3, r3, #255
	b	.L1104
.L1103:
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1104:
	strb	r3, [fp, #-212]
	ldr	r3, [fp, #-128]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1105
	ldr	r3, [fp, #-128]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1105
	ldr	r3, [fp, #-128]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	and	r3, r3, #255
	b	.L1106
.L1105:
	ldr	r3, [fp, #-128]
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1106:
	strb	r3, [fp, #-211]
	ldrb	r2, [fp, #-212]	@ zero_extendqisi2
	ldrb	r3, [fp, #-211]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L1163
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
.L1102:
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	cmp	r2, r3
	bhi	.L1109
	b	.L1108
.L1163:
	nop
.L1108:
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-132]
	cmp	r2, r3
	bne	.L1110
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	movcc	r3, #1
	movcs	r3, #0
	and	r3, r3, #255
	b	.L1158
.L1110:
	ldrb	r2, [fp, #-212]	@ zero_extendqisi2
	ldrb	r3, [fp, #-211]	@ zero_extendqisi2
	cmp	r2, r3
	movcc	r3, #1
	movcs	r3, #0
	and	r3, r3, #255
.L1158:
	cmp	r3, #0
	beq	.L1101
	mov	r3, #1
	b	.L1113
.L1101:
	mov	r3, #0
.L1113:
	ldr	r2, [fp, #-156]
	add	r3, r2, r3
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-176]
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-180]
	str	r1, [fp, #-112]
	ldr	r1, [fp, #-184]
	str	r1, [fp, #-108]
	str	r2, [fp, #-104]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-112]
	ldr	r2, [r3]
	ldr	r3, [fp, #-108]
	ldr	r1, [r3]
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-112]
	ldr	r2, [r3]
	ldr	r3, [fp, #-108]
	ldr	r1, [r3]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-96]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-96]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-92]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-92]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-84]
	mov	r3, #0
	strb	r3, [fp, #-210]
	mov	r3, #0
	strb	r3, [fp, #-209]
	ldr	r3, [fp, #-96]
	add	r3, r3, #46
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #46
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	str	r3, [fp, #-80]
	b	.L1114
.L1121:
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1115
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1115
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	and	r3, r3, #255
	b	.L1116
.L1115:
	ldr	r3, [fp, #-96]
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1116:
	strb	r3, [fp, #-210]
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1117
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1117
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	and	r3, r3, #255
	b	.L1118
.L1117:
	ldr	r3, [fp, #-92]
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1118:
	strb	r3, [fp, #-209]
	ldrb	r2, [fp, #-210]	@ zero_extendqisi2
	ldrb	r3, [fp, #-209]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L1164
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L1114:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	bhi	.L1121
	b	.L1120
.L1164:
	nop
.L1120:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	bne	.L1122
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	movcc	r3, #1
	movcs	r3, #0
	and	r3, r3, #255
	b	.L1159
.L1122:
	ldrb	r2, [fp, #-210]	@ zero_extendqisi2
	ldrb	r3, [fp, #-209]	@ zero_extendqisi2
	cmp	r2, r3
	movcc	r3, #1
	movcs	r3, #0
	and	r3, r3, #255
.L1159:
	cmp	r3, #0
	beq	.L1165
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r2, r2, r3
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-176]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r2, [fp, #-152]
	str	r2, [r3]
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-196]
	b	.L1126
.L1162:
	nop
	b	.L1100
.L1165:
	nop
.L1100:
	ldr	r3, [fp, #-204]
	sub	r3, r3, #1
	str	r3, [fp, #-204]
.L1098:
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	bge	.L1127
	ldr	r3, [fp, #-172]
	sub	r3, r3, #1
	str	r3, [fp, #-200]
	b	.L1128
.L1157:
	mov	r3, #0
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-200]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-200]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r2, [fp, #-176]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-176]
	ldr	r2, [fp, #-168]
	str	r2, [r3]
.L1156:
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #1
	add	r3, r3, #1
	str	r3, [fp, #-164]
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	bge	.L1166
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	ldr	r2, [fp, #-200]
	cmp	r2, r3
	ble	.L1131
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-176]
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-180]
	str	r1, [fp, #-76]
	ldr	r1, [fp, #-184]
	str	r1, [fp, #-72]
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-76]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r1, [r3]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-76]
	ldr	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r1, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-56]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-48]
	mov	r3, #0
	strb	r3, [fp, #-208]
	mov	r3, #0
	strb	r3, [fp, #-207]
	ldr	r3, [fp, #-60]
	add	r3, r3, #46
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-56]
	add	r3, r3, #46
	str	r3, [fp, #-56]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-44]
	b	.L1132
.L1139:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1133
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1133
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	and	r3, r3, #255
	b	.L1134
.L1133:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1134:
	strb	r3, [fp, #-208]
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1135
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1135
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	and	r3, r3, #255
	b	.L1136
.L1135:
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1136:
	strb	r3, [fp, #-207]
	ldrb	r2, [fp, #-208]	@ zero_extendqisi2
	ldrb	r3, [fp, #-207]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L1167
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L1132:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bhi	.L1139
	b	.L1138
.L1167:
	nop
.L1138:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bne	.L1140
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	movcc	r3, #1
	movcs	r3, #0
	and	r3, r3, #255
	b	.L1160
.L1140:
	ldrb	r2, [fp, #-208]	@ zero_extendqisi2
	ldrb	r3, [fp, #-207]	@ zero_extendqisi2
	cmp	r2, r3
	movcc	r3, #1
	movcs	r3, #0
	and	r3, r3, #255
.L1160:
	cmp	r3, #0
	beq	.L1131
	mov	r3, #1
	b	.L1143
.L1131:
	mov	r3, #0
.L1143:
	ldr	r2, [fp, #-164]
	add	r3, r2, r3
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-176]
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-180]
	str	r1, [fp, #-40]
	ldr	r1, [fp, #-184]
	str	r1, [fp, #-36]
	str	r2, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #0
	strb	r3, [fp, #-206]
	mov	r3, #0
	strb	r3, [fp, #-205]
	ldr	r3, [fp, #-24]
	add	r3, r3, #46
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #46
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	b	.L1144
.L1151:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1145
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1145
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	and	r3, r3, #255
	b	.L1146
.L1145:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1146:
	strb	r3, [fp, #-206]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1147
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1147
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	and	r3, r3, #255
	b	.L1148
.L1147:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1148:
	strb	r3, [fp, #-205]
	ldrb	r2, [fp, #-206]	@ zero_extendqisi2
	ldrb	r3, [fp, #-205]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L1168
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1144:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bhi	.L1151
	b	.L1150
.L1168:
	nop
.L1150:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L1152
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	movcc	r3, #1
	movcs	r3, #0
	and	r3, r3, #255
	b	.L1161
.L1152:
	ldrb	r2, [fp, #-206]	@ zero_extendqisi2
	ldrb	r3, [fp, #-205]	@ zero_extendqisi2
	cmp	r2, r3
	movcc	r3, #1
	movcs	r3, #0
	and	r3, r3, #255
.L1161:
	cmp	r3, #0
	beq	.L1169
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r2, r2, r3
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-176]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r2, [fp, #-160]
	str	r2, [r3]
	ldr	r3, [fp, #-164]
	str	r3, [fp, #-192]
	b	.L1156
.L1166:
	nop
	b	.L1130
.L1169:
	nop
.L1130:
	ldr	r3, [fp, #-200]
	sub	r3, r3, #1
	str	r3, [fp, #-200]
.L1128:
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	bgt	.L1157
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	mz_zip_reader_sort_central_dir_offsets_by_filename, .-mz_zip_reader_sort_central_dir_offsets_by_filename
	.section	.rodata
	.align	2
.LC36:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_read_central_dir, %function
mz_zip_reader_read_central_dir:
	@ args = 0, pretend = 0, frame = 4272
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #4224
	sub	sp, sp, #56
	sub	r3, fp, #4096
	sub	r3, r3, #28
	str	r0, [r3, #-132]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	str	r1, [r3, #-136]
	ldr	r3, .L1222+20
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #4
	str	r3, [r2, #-112]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-136]
	and	r3, r3, #2048
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r2, r3, #255
	sub	r3, fp, #4096
	sub	r3, r3, #28
	str	r2, [r3, #-108]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #21
	bhi	.L1171
	mov	r3, #0
	b	.L1218
.L1171:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	cmp	r0, #4096
	sbcs	r3, r1, #0
	bge	.L1173
	mov	r0, #4096
	mov	r1, #0
.L1173:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	subs	r4, r0, #4096
	sbc	r5, r1, #0
	stmdb	r3, {r4-r5}
.L1186:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	subs	ip, r0, r2
	sub	lr, fp, #4224
	sub	lr, lr, #44
	str	ip, [lr]
	sbc	r3, r1, r3
	sub	r2, fp, #4224
	sub	r2, r2, #40
	str	r3, [r2]
	sub	r3, fp, #4224
	sub	r3, r3, #44
	ldmia	r3, {r3-r4}
	cmp	r4, #0
	cmpeq	r3, #4096
	bhi	.L1174
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldmia	r3, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldr	r3, [r3, #-8]
	sub	r3, r2, r3
	mov	r2, r3
	b	.L1175
.L1174:
	mov	r2, #4096
.L1175:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	str	r2, [r3, #-104]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r4, [r3, #44]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	ip, [r3, #52]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r0-r1}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-104]
	str	r3, [sp, #4]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	str	r3, [sp]
	mov	r2, r0
	mov	r3, r1
	mov	r0, ip
	blx	r4
	mov	r2, r0
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-104]
	cmp	r2, r3
	beq	.L1176
	mov	r3, #0
	b	.L1218
.L1176:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-104]
	sub	r3, r3, #4
	str	r3, [r2, #-124]
	b	.L1177
.L1180:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r2, [r3, #-124]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r2, [r3, #-124]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, r2
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r1, r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r2, [r3, #-124]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, r2
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r1, r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r2, [r3, #-124]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, r2
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r2, r1, r3
	ldr	r3, .L1222
	cmp	r2, r3
	beq	.L1221
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-124]
	sub	r3, r3, #1
	str	r3, [r2, #-124]
.L1177:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-124]
	cmp	r3, #0
	bge	.L1180
	b	.L1179
.L1221:
	nop
.L1179:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-124]
	cmp	r3, #0
	blt	.L1181
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-124]
	mov	r2, r3
	asr	r3, r2, #31
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #16
	mov	ip, r1
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #16
	ldmdb	r1, {r0-r1}
	adds	lr, r0, r2
	sub	r4, fp, #4288
	sub	r4, r4, #4
	str	lr, [r4]
	adc	r3, r1, r3
	sub	r2, fp, #4288
	str	r3, [r2]
	sub	r3, fp, #4288
	sub	r3, r3, #4
	ldmia	r3, {r3-r4}
	stmdb	ip, {r3-r4}
	nop
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r1, [r3, #44]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	ip, [r3, #52]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	mov	r0, #22
	str	r0, [sp, #4]
	sub	r0, fp, #4096
	sub	r0, r0, #28
	ldr	r0, [r0, #-112]
	str	r0, [sp]
	mov	r0, ip
	blx	r1
	mov	r3, r0
	cmp	r3, #22
	beq	.L1187
	b	.L1220
.L1181:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L1183
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r2-r3}
	subs	ip, r0, r2
	sub	lr, fp, #4224
	sub	lr, lr, #52
	str	ip, [lr]
	sbc	r3, r1, r3
	sub	r2, fp, #4224
	sub	r2, r2, #48
	str	r3, [r2]
	ldr	r2, .L1222+4
	mov	r3, #0
	sub	r1, fp, #4224
	sub	r1, r1, #52
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L1184
.L1183:
	mov	r3, #0
	b	.L1218
.L1184:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmdb	r3, {r0-r1}
	ldr	r2, .L1222+8
	mov	r3, #0
	cmp	r0, r2
	sbcs	r3, r1, r3
	bge	.L1185
	ldr	r0, .L1222+8
	mov	r1, #0
.L1185:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	ldr	r2, .L1222+12
	mvn	r3, #0
	adds	lr, r0, r2
	sub	r4, fp, #4288
	sub	r4, r4, #12
	str	lr, [r4]
	adc	r3, r1, r3
	sub	r2, fp, #4288
	sub	r2, r2, #8
	str	r3, [r2]
	sub	r3, fp, #4288
	sub	r3, r3, #12
	ldmia	r3, {r3-r4}
	stmdb	ip, {r3-r4}
	b	.L1186
.L1220:
	mov	r3, #0
	b	.L1218
.L1187:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	ldr	r2, .L1222
	cmp	r3, r2
	bne	.L1188
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #10
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	str	r2, [r3, #16]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r2, [r3, #16]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #8
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r1, r3
	cmp	r2, r3
	beq	.L1189
.L1188:
	mov	r3, #0
	b	.L1218
.L1189:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #4
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	orr	r3, r1, r3
	str	r3, [r2, #-100]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #6
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	orr	r3, r1, r3
	str	r3, [r2, #-96]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r2, [r2, #-100]
	ldr	r3, [r3, #-96]
	orr	r3, r2, r3
	cmp	r3, #0
	beq	.L1190
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-100]
	cmp	r3, #1
	bne	.L1191
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-96]
	cmp	r3, #1
	beq	.L1190
.L1191:
	mov	r3, #0
	b	.L1218
.L1190:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #12
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #12
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #12
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	sub	r1, fp, #4096
	sub	r1, r1, #28
	orr	r3, r2, r3
	str	r3, [r1, #-92]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r2, [r3, #16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-92]
	cmp	r3, r2
	bcs	.L1192
	mov	r3, #0
	b	.L1218
.L1192:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #16
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #16
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-112]
	add	r3, r3, #16
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r3, #0
	stm	r1, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-92]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	ip, r0, r2
	sub	lr, fp, #4224
	sub	lr, lr, #60
	str	ip, [lr]
	adc	r3, r1, r3
	sub	r2, fp, #4224
	sub	r2, r2, #56
	str	r3, [r2]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #4224
	sub	r1, r1, #60
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L1193
	mov	r3, #0
	b	.L1218
.L1193:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r1, [r3, #-132]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1194
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #56]
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	str	r3, [r1, #-72]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	str	r2, [r3, #-68]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-92]
	str	r3, [r2, #-64]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-60]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-68]
	ldr	r3, [r3, #8]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-64]
	cmp	r2, r3
	bls	.L1195
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r2, fp, #4096
	sub	r2, r2, #28
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r0, fp, #4096
	sub	r0, r0, #28
	ldr	r3, [r3, #-60]
	ldr	r2, [r2, #-64]
	ldr	r1, [r1, #-68]
	ldr	r0, [r0, #-72]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1195
	mov	r3, #0
	b	.L1196
.L1195:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-68]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-64]
	str	r2, [r3, #4]
	mov	r3, #1
.L1196:
	cmp	r3, #0
	beq	.L1197
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #56]
	add	r2, r3, #16
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #16]
	sub	r1, fp, #4096
	sub	r1, r1, #28
	mov	r0, r1
	sub	r1, fp, #4096
	sub	r1, r1, #28
	ldr	r1, [r1, #-132]
	str	r1, [r0, #-56]
	sub	r1, fp, #4096
	sub	r1, r1, #28
	str	r2, [r1, #-52]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	str	r3, [r2, #-48]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-44]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-52]
	ldr	r3, [r3, #8]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-48]
	cmp	r2, r3
	bls	.L1198
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r2, fp, #4096
	sub	r2, r2, #28
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r0, fp, #4096
	sub	r0, r0, #28
	ldr	r3, [r3, #-44]
	ldr	r2, [r2, #-48]
	ldr	r1, [r1, #-52]
	ldr	r0, [r0, #-56]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1198
	mov	r3, #0
	b	.L1199
.L1198:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-52]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-48]
	str	r2, [r3, #4]
	mov	r3, #1
.L1199:
	cmp	r3, #0
	bne	.L1200
.L1197:
	mov	r3, #0
	b	.L1218
.L1200:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-108]
	cmp	r3, #0
	beq	.L1201
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #56]
	add	r2, r3, #32
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #16]
	sub	r1, fp, #4096
	sub	r1, r1, #28
	mov	r0, r1
	sub	r1, fp, #4096
	sub	r1, r1, #28
	ldr	r1, [r1, #-132]
	str	r1, [r0, #-40]
	sub	r1, fp, #4096
	sub	r1, r1, #28
	str	r2, [r1, #-36]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	str	r3, [r2, #-32]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-28]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-36]
	ldr	r3, [r3, #8]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-32]
	cmp	r2, r3
	bls	.L1202
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r2, fp, #4096
	sub	r2, r2, #28
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r0, fp, #4096
	sub	r0, r0, #28
	ldr	r3, [r3, #-28]
	ldr	r2, [r2, #-32]
	ldr	r1, [r1, #-36]
	ldr	r0, [r0, #-40]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1202
	mov	r3, #0
	b	.L1203
.L1202:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-36]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-32]
	str	r2, [r3, #4]
	mov	r3, #1
.L1203:
	cmp	r3, #0
	bne	.L1201
	mov	r3, #0
	b	.L1218
.L1201:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r1, [r3, #44]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r0, [r3, #52]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #56]
	ldr	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-92]
	str	r3, [sp, #4]
	str	r2, [sp]
	ldmia	ip, {r2-r3}
	blx	r1
	mov	r2, r0
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-92]
	cmp	r3, r2
	beq	.L1204
	mov	r3, #0
	b	.L1218
.L1204:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #56]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r3, [r3]
	str	r3, [r2, #-128]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-92]
	str	r3, [r2, #-116]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-120]
	b	.L1205
.L1216:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-116]
	cmp	r3, #45
	bls	.L1206
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	ldr	r2, .L1222+16
	cmp	r3, r2
	beq	.L1207
.L1206:
	mov	r3, #0
	b	.L1218
.L1223:
	.align	2
.L1222:
	.word	101010256
	.word	65556
	.word	4093
	.word	-4093
	.word	33639248
	.word	.LC36
.L1207:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #56]
	ldr	r3, [r3]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-128]
	sub	r1, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #16]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-120]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-108]
	cmp	r3, #0
	beq	.L1208
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #32]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-120]
	lsl	r3, r3, #2
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-120]
	str	r2, [r3]
.L1208:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #21
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	sub	r1, fp, #4096
	sub	r1, r1, #28
	orr	r3, r2, r3
	str	r3, [r1, #-88]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #24
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #25
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #26
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #27
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	sub	r1, fp, #4096
	sub	r1, r1, #28
	orr	r3, r2, r3
	str	r3, [r1, #-84]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #11
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #13
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	cmp	r3, #0
	bne	.L1209
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r2, [r2, #-84]
	ldr	r3, [r3, #-88]
	cmp	r2, r3
	bne	.L1210
.L1209:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-84]
	cmp	r3, #0
	beq	.L1211
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-88]
	cmp	r3, #0
	beq	.L1210
.L1211:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-84]
	cmn	r3, #1
	beq	.L1210
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-88]
	cmn	r3, #1
	bne	.L1212
.L1210:
	mov	r3, #0
	b	.L1218
.L1212:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #34
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #35
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	sub	r2, fp, #4096
	sub	r2, r2, #28
	orr	r3, r1, r3
	str	r3, [r2, #-80]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r2, [r2, #-80]
	ldr	r3, [r3, #-100]
	cmp	r2, r3
	beq	.L1213
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-80]
	cmp	r3, #1
	beq	.L1213
	mov	r3, #0
	b	.L1218
.L1213:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #42
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #43
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #44
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #45
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-88]
	mov	r2, r3
	mov	r3, #0
	adds	r6, r0, r2
	adc	r7, r1, r3
	adds	r8, r6, #30
	adc	r9, r7, #0
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldmia	r3, {r2-r3}
	cmp	r9, r3
	cmpeq	r8, r2
	bls	.L1214
	mov	r3, #0
	b	.L1218
.L1214:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #30
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #31
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r1, r3
	add	r2, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-128]
	add	r3, r3, #33
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r1, r3
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #28
	add	r3, r3, #46
	str	r3, [r2, #-76]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r2, [r2, #-76]
	ldr	r3, [r3, #-116]
	cmp	r2, r3
	bls	.L1215
	mov	r3, #0
	b	.L1218
.L1215:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r2, [r2, #-116]
	ldr	r3, [r3, #-76]
	sub	r3, r2, r3
	str	r3, [r1, #-116]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r2, [r2, #-128]
	ldr	r3, [r3, #-76]
	add	r3, r2, r3
	str	r3, [r1, #-128]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-120]
	add	r3, r3, #1
	str	r3, [r2, #-120]
.L1205:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-132]
	ldr	r3, [r3, #16]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-120]
	cmp	r2, r3
	bcc	.L1216
.L1194:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-108]
	cmp	r3, #0
	beq	.L1217
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r0, [r3, #-132]
	bl	mz_zip_reader_sort_central_dir_offsets_by_filename
.L1217:
	mov	r3, #1
.L1218:
	ldr	r2, .L1222+20
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1219
	bl	__stack_chk_fail
.L1219:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	mz_zip_reader_read_central_dir, .-mz_zip_reader_read_central_dir
	.align	2
	.global	mz_zip_reader_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_init, %function
mz_zip_reader_init:
	@ args = 4, 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	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1225
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	bne	.L1226
.L1225:
	mov	r3, #0
	b	.L1227
.L1226:
	ldr	r1, [fp, #4]
	ldr	r0, [fp, #-8]
	bl	mz_zip_reader_init_internal
	mov	r3, r0
	cmp	r3, #0
	bne	.L1228
	mov	r3, #0
	b	.L1227
.L1228:
	ldr	r1, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r1, [fp, #4]
	ldr	r0, [fp, #-8]
	bl	mz_zip_reader_read_central_dir
	mov	r3, r0
	cmp	r3, #0
	bne	.L1229
	ldr	r0, [fp, #-8]
	bl	mz_zip_reader_end
	mov	r3, #0
	b	.L1227
.L1229:
	mov	r3, #1
.L1227:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_init, .-mz_zip_reader_init
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_mem_read_func, %function
mz_zip_mem_read_func:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bcs	.L1231
	ldr	r3, [fp, #-20]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	subs	r4, r0, r2
	sbc	r5, r1, r3
	ldr	r3, [fp, #8]
	mov	r2, r3
	mov	r3, #0
	cmp	r5, r3
	cmpeq	r4, r2
	bcs	.L1232
	ldr	r3, [fp, #-20]
	ldmia	r3, {r2-r3}
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	b	.L1234
.L1232:
	ldr	r3, [fp, #8]
	b	.L1234
.L1231:
	mov	r3, #0
.L1234:
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #4]
	bl	memcpy
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	mz_zip_mem_read_func, .-mz_zip_mem_read_func
	.align	2
	.global	mz_zip_reader_init_mem
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_init_mem, %function
mz_zip_reader_init_mem:
	@ 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	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	mz_zip_reader_init_internal
	mov	r3, r0
	cmp	r3, #0
	bne	.L1237
	mov	r3, #0
	b	.L1238
.L1237:
	ldr	r3, [fp, #-16]
	mov	r2, r3
	mov	r3, #0
	ldr	r1, [fp, #-8]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-8]
	ldr	r2, .L1240
	str	r2, [r3, #44]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	mz_zip_reader_read_central_dir
	mov	r3, r0
	cmp	r3, #0
	bne	.L1239
	ldr	r0, [fp, #-8]
	bl	mz_zip_reader_end
	mov	r3, #0
	b	.L1238
.L1239:
	mov	r3, #1
.L1238:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1241:
	.align	2
.L1240:
	.word	mz_zip_mem_read_func
	.size	mz_zip_reader_init_mem, .-mz_zip_reader_init_mem
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_file_read_func, %function
mz_zip_file_read_func:
	@ args = 8, 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	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	ftello
	mov	r3, r0
	mov	r2, r3
	asr	r3, r2, #31
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	cmp	r2, #0
	sbcs	r3, r3, #0
	blt	.L1243
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	beq	.L1244
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #48]
	ldr	r1, [fp, #-36]
	mov	r2, #0
	mov	r0, r3
	bl	fseeko
	mov	r3, r0
	cmp	r3, #0
	beq	.L1244
.L1243:
	mov	r3, #0
	b	.L1245
.L1244:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #48]
	ldr	r2, [fp, #8]
	mov	r1, #1
	ldr	r0, [fp, #4]
	bl	fread
	mov	r3, r0
.L1245:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_file_read_func, .-mz_zip_file_read_func
	.section	.rodata
	.align	2
.LC37:
	.ascii	"rb\000"
	.text
	.align	2
	.global	mz_zip_reader_init_file
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_init_file, %function
mz_zip_reader_init_file:
	@ 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	r1, .L1252
	ldr	r0, [fp, #-28]
	bl	fopen
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1247
	mov	r3, #0
	b	.L1248
.L1247:
	mov	r2, #2
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	fseeko
	mov	r3, r0
	cmp	r3, #0
	beq	.L1249
	ldr	r0, [fp, #-16]
	bl	fclose
	mov	r3, #0
	b	.L1248
.L1249:
	ldr	r0, [fp, #-16]
	bl	ftello
	mov	r3, r0
	mov	r2, r3
	asr	r3, r2, #31
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	mz_zip_reader_init_internal
	mov	r3, r0
	cmp	r3, #0
	bne	.L1250
	ldr	r0, [fp, #-16]
	bl	fclose
	mov	r3, #0
	b	.L1248
.L1250:
	ldr	r3, [fp, #-24]
	ldr	r2, .L1252+4
	str	r2, [r3, #44]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #48]
	ldr	r1, [fp, #-24]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	mz_zip_reader_read_central_dir
	mov	r3, r0
	cmp	r3, #0
	bne	.L1251
	ldr	r0, [fp, #-24]
	bl	mz_zip_reader_end
	mov	r3, #0
	b	.L1248
.L1251:
	mov	r3, #1
.L1248:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1253:
	.align	2
.L1252:
	.word	.LC37
	.word	mz_zip_file_read_func
	.size	mz_zip_reader_init_file, .-mz_zip_reader_init_file
	.align	2
	.global	mz_zip_reader_get_num_files
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_get_num_files, %function
mz_zip_reader_get_num_files:
	@ 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]
	cmp	r3, #0
	beq	.L1255
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	b	.L1257
.L1255:
	mov	r3, #0
.L1257:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	mz_zip_reader_get_num_files, .-mz_zip_reader_get_num_files
	.align	2
	.global	mz_zip_reader_is_file_encrypted
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_is_file_encrypted, %function
mz_zip_reader_is_file_encrypted:
	@ 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, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1259
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1259
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcs	.L1259
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	beq	.L1260
.L1259:
	mov	r3, #0
	b	.L1261
.L1260:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
.L1261:
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1262
	mov	r3, #0
	b	.L1263
.L1262:
	ldr	r3, [fp, #-20]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
.L1263:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	mz_zip_reader_is_file_encrypted, .-mz_zip_reader_is_file_encrypted
	.align	2
	.global	mz_zip_reader_is_file_a_directory
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_is_file_a_directory, %function
mz_zip_reader_is_file_a_directory:
	@ 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, #-32]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1265
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1265
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcs	.L1265
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	beq	.L1266
.L1265:
	mov	r3, #0
	b	.L1267
.L1266:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
.L1267:
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1268
	mov	r3, #0
	b	.L1269
.L1268:
	ldr	r3, [fp, #-24]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1270
	ldr	r3, [fp, #-20]
	add	r3, r3, #45
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L1270
	mov	r3, #1
	b	.L1269
.L1270:
	ldr	r3, [fp, #-24]
	add	r3, r3, #38
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #39
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #40
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #41
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L1271
	mov	r3, #1
	b	.L1269
.L1271:
	mov	r3, #0
.L1269:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	mz_zip_reader_is_file_a_directory, .-mz_zip_reader_is_file_a_directory
	.align	2
	.global	mz_zip_reader_file_stat
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_file_stat, %function
mz_zip_reader_file_stat:
	@ 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, #-24]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1273
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1273
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcs	.L1273
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	beq	.L1274
.L1273:
	mov	r3, #0
	b	.L1275
.L1274:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
.L1275:
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1276
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1277
.L1276:
	mov	r3, #0
	b	.L1278
.L1277:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-20]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3, #8]	@ movhi
	ldr	r3, [fp, #-20]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-20]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3, #10]	@ movhi
	ldr	r3, [fp, #-20]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-20]
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3, #12]	@ movhi
	ldr	r3, [fp, #-20]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-20]
	add	r3, r3, #11
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3, #14]	@ movhi
	ldr	r3, [fp, #-20]
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #13
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	mov	r0, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #14
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	mov	r1, r3
	bl	mz_zip_dos_to_time_t
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #17
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #18
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #19
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r2, r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #21
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	mov	r2, r3
	mov	r3, #0
	ldr	r1, [fp, #-32]
	str	r2, [r1, #24]
	str	r3, [r1, #28]
	ldr	r3, [fp, #-20]
	add	r3, r3, #24
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #25
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #26
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #27
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	mov	r2, r3
	mov	r3, #0
	ldr	r1, [fp, #-32]
	str	r2, [r1, #32]
	str	r3, [r1, #36]
	ldr	r3, [fp, #-20]
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-20]
	add	r3, r3, #37
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-32]
	strh	r2, [r3, #40]	@ movhi
	ldr	r3, [fp, #-20]
	add	r3, r3, #38
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #39
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #40
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #41
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r2, r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-20]
	add	r3, r3, #42
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #43
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #44
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #45
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	mov	r2, r3
	mov	r3, #0
	ldr	r1, [fp, #-32]
	str	r2, [r1, #48]
	str	r3, [r1, #52]
	ldr	r3, [fp, #-20]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, .L1279
	cmp	r3, r2
	movcc	r3, r3
	movcs	r3, r2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	add	r0, r3, #60
	ldr	r3, [fp, #-20]
	add	r3, r3, #46
	ldr	r2, [fp, #-16]
	mov	r1, r3
	bl	memcpy
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	add	r3, r3, #60
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #33
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #255
	movcc	r3, r3
	movcs	r3, #255
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-32]
	add	r0, r3, #320
	ldr	r3, [fp, #-20]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #30
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, #31
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r1, r3
	add	r3, r2, r3
	add	r3, r3, #46
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	mov	r1, r3
	bl	memcpy
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	add	r3, r3, #320
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #1
.L1278:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1280:
	.align	2
.L1279:
	.word	259
	.size	mz_zip_reader_file_stat, .-mz_zip_reader_file_stat
	.align	2
	.global	mz_zip_reader_get_filename
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_get_filename, %function
mz_zip_reader_get_filename:
	@ 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]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1282
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1282
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bcs	.L1282
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	beq	.L1283
.L1282:
	mov	r3, #0
	b	.L1284
.L1283:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #56]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
.L1284:
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1285
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L1286
	ldr	r3, [fp, #-32]
	mov	r2, #0
	strb	r2, [r3]
.L1286:
	mov	r3, #0
	b	.L1287
.L1285:
	ldr	r3, [fp, #-16]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L1288
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #46
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	memcpy
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L1288:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
.L1287:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_get_filename, .-mz_zip_reader_get_filename
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_locate_file_binary_search, %function
mz_zip_reader_locate_file_binary_search:
	@ 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]
	str	r1, [fp, #-92]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	add	r3, r3, #16
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-56]
	ldr	r0, [fp, #-92]
	bl	strlen
	str	r0, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-76]
	b	.L1290
.L1305:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-64]
	str	r2, [fp, #-36]
	ldr	r2, [fp, #-68]
	str	r2, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #0
	strb	r3, [fp, #-82]
	mov	r3, #0
	strb	r3, [fp, #-81]
	ldr	r3, [fp, #-16]
	add	r3, r3, #46
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	b	.L1291
.L1298:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1292
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1292
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	and	r3, r3, #255
	b	.L1293
.L1292:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1293:
	strb	r3, [fp, #-82]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1294
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1294
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	and	r3, r3, #255
	b	.L1295
.L1294:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1295:
	strb	r3, [fp, #-81]
	ldrb	r2, [fp, #-82]	@ zero_extendqisi2
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L1307
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L1291:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bhi	.L1298
	b	.L1297
.L1307:
	nop
.L1297:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L1299
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	b	.L1306
.L1299:
	ldrb	r2, [fp, #-82]	@ zero_extendqisi2
	ldrb	r3, [fp, #-81]	@ zero_extendqisi2
	sub	r3, r2, r3
.L1306:
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L1302
	ldr	r3, [fp, #-44]
	b	.L1303
.L1302:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bge	.L1304
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-80]
	b	.L1290
.L1304:
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	str	r3, [fp, #-76]
.L1290:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	ble	.L1305
	mvn	r3, #0
.L1303:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_locate_file_binary_search, .-mz_zip_reader_locate_file_binary_search
	.align	2
	.global	mz_zip_reader_locate_file
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_locate_file, %function
mz_zip_reader_locate_file:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L1309
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1309
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L1309
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	beq	.L1310
.L1309:
	mvn	r3, #0
	b	.L1311
.L1310:
	ldr	r3, [fp, #-100]
	and	r3, r3, #768
	cmp	r3, #0
	bne	.L1312
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L1312
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1312
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-88]
	bl	mz_zip_reader_locate_file_binary_search
	mov	r3, r0
	b	.L1311
.L1312:
	ldr	r0, [fp, #-92]
	bl	strlen
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #65536
	bcc	.L1313
	mvn	r3, #0
	b	.L1311
.L1313:
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	beq	.L1314
	ldr	r0, [fp, #-96]
	bl	strlen
	mov	r3, r0
	b	.L1315
.L1314:
	mov	r3, #0
.L1315:
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #65536
	bcc	.L1316
	mvn	r3, #0
	b	.L1311
.L1316:
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L1317
.L1343:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #56]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-60]
	add	r3, r3, #46
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bcc	.L1344
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L1320
	ldr	r3, [fp, #-60]
	add	r3, r3, #30
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, #31
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, #33
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	bne	.L1345
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L1322
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-44]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L1323
.L1322:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1324
.L1330:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1325
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1325
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r2, r3, #32
	b	.L1326
.L1325:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
.L1326:
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1327
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1327
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	b	.L1328
.L1327:
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1328:
	cmp	r2, r3
	beq	.L1329
	mov	r3, #0
	b	.L1323
.L1329:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1324:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bhi	.L1330
	mov	r3, #1
.L1323:
	cmp	r3, #0
	beq	.L1345
.L1320:
	ldr	r3, [fp, #-100]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L1331
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L1331
	ldr	r3, [fp, #-80]
	sub	r3, r3, #1
	str	r3, [fp, #-72]
.L1333:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L1332
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L1332
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L1332
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bge	.L1333
.L1332:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-80]
	sub	r3, r2, r3
	str	r3, [fp, #-80]
.L1331:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bne	.L1319
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L1334
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L1335
.L1334:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1336
.L1342:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1337
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1337
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r2, r3, #32
	b	.L1338
.L1337:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
.L1338:
	ldr	r1, [fp, #-20]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L1339
	ldr	r1, [fp, #-20]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L1339
	ldr	r1, [fp, #-20]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #32
	b	.L1340
.L1339:
	ldr	r1, [fp, #-20]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
.L1340:
	cmp	r2, r3
	beq	.L1341
	mov	r3, #0
	b	.L1335
.L1341:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1336:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bhi	.L1342
	mov	r3, #1
.L1335:
	cmp	r3, #0
	beq	.L1319
	ldr	r3, [fp, #-84]
	b	.L1311
.L1344:
	nop
	b	.L1319
.L1345:
	nop
.L1319:
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L1317:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	bcc	.L1343
	mvn	r3, #0
.L1311:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_locate_file, .-mz_zip_reader_locate_file
	.section	.rodata
	.align	2
.LC38:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_zip_reader_extract_to_mem_no_alloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_extract_to_mem_no_alloc, %function
mz_zip_reader_extract_to_mem_no_alloc:
	@ args = 12, pretend = 0, frame = 11752
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #11712
	sub	sp, sp, #56
	sub	ip, fp, #8192
	sub	ip, ip, #28
	str	r0, [ip, #-3500]
	sub	r0, fp, #8192
	sub	r0, r0, #28
	str	r1, [r0, #-3504]
	sub	r1, fp, #8192
	sub	r1, r1, #28
	str	r2, [r1, #-3508]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	str	r3, [r2, #-3512]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	ldr	r3, [fp, #8]
	str	r3, [r2, #-3516]
	ldr	r3, .L1385
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3484]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #24
	str	r3, [r2, #-3476]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3512]
	cmp	r3, #0
	beq	.L1347
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3508]
	cmp	r3, #0
	bne	.L1347
	mov	r3, #0
	b	.L1383
.L1347:
	sub	r2, fp, #11520
	sub	r2, r2, #28
	sub	r2, r2, #56
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r1, [r1, #-3504]
	ldr	r0, [r3, #-3500]
	bl	mz_zip_reader_file_stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L1349
	mov	r3, #0
	b	.L1383
.L1349:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L1350
	mov	r3, #1
	b	.L1383
.L1350:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r1, [r2, #-3504]
	ldr	r0, [r3, #-3500]
	bl	mz_zip_reader_is_file_a_directory
	mov	r3, r0
	cmp	r3, #0
	beq	.L1351
	mov	r3, #1
	b	.L1383
.L1351:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3376
	sub	r3, r3, #8
	ldrh	r3, [r3, #12]
	and	r3, r3, #33
	cmp	r3, #0
	beq	.L1352
	mov	r3, #0
	b	.L1383
.L1352:
	ldr	r3, [fp, #4]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1353
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3376
	sub	r3, r3, #8
	ldrh	r3, [r3, #14]
	cmp	r3, #0
	beq	.L1353
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3376
	sub	r3, r3, #8
	ldrh	r3, [r3, #14]
	cmp	r3, #8
	beq	.L1353
	mov	r3, #0
	b	.L1383
.L1353:
	ldr	r3, [fp, #4]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L1354
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r1, r3, #3360
	ldmia	r1, {r0-r1}
	b	.L1355
.L1354:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r0, [r3, #-3352]
	ldr	r1, [r3, #-3348]
.L1355:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	stm	r3, {r0-r1}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3512]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1356
	mov	r3, #0
	b	.L1383
.L1356:
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r2, [r3, #-3336]
	ldr	r3, [r3, #-3332]
	stm	r1, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r4, [r3, #44]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r1, [r3, #52]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	mov	r3, #30
	str	r3, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, r1
	blx	r4
	mov	r3, r0
	cmp	r3, #30
	beq	.L1357
	mov	r3, #0
	b	.L1383
.L1357:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r2, r2, r3
	ldr	r3, .L1385+4
	cmp	r2, r3
	beq	.L1358
	mov	r3, #0
	b	.L1383
.L1358:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	add	r3, r3, #26
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	add	r3, r3, #26
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	add	r3, r3, #28
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r1, r3
	add	r3, r2, r3
	add	r3, r3, #30
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r6, r2, r0
	adc	r7, r3, r1
	stm	ip, {r6-r7}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r1, r3, #3360
	ldmia	r1, {r0-r1}
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldmia	r3, {r2-r3}
	adds	r8, r0, r2
	adc	r9, r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldmia	r3, {r2-r3}
	cmp	r9, r3
	cmpeq	r8, r2
	bls	.L1359
	mov	r3, #0
	b	.L1383
.L1359:
	ldr	r3, [fp, #4]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1360
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3376
	sub	r3, r3, #8
	ldrh	r3, [r3, #14]
	cmp	r3, #0
	bne	.L1361
.L1360:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r1, [r3, #44]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r0, [r3, #52]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldr	r2, [r3]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	str	r2, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3508]
	str	r3, [sp]
	ldmia	ip, {r2-r3}
	blx	r1
	mov	r3, r0
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	beq	.L1362
	mov	r3, #0
	b	.L1383
.L1362:
	ldr	r3, [fp, #4]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1363
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r2, [r3, #-3352]
	ldr	r3, [r3, #-3348]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r1, [r3, #-3508]
	mov	r0, #0
	bl	mz_crc32
	mov	r2, r0
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3364]
	cmp	r2, r3
	bne	.L1364
.L1363:
	mov	r3, #1
	b	.L1383
.L1364:
	mov	r3, #0
	b	.L1383
.L1361:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2804]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L1366
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #52]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #16
	ldr	r3, [r3]
	sub	r1, fp, #8192
	sub	r1, r1, #28
	add	r3, r2, r3
	str	r3, [r1, #-3480]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	stmdb	r1, {r2-r3}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	stmdb	r1, {r2-r3}
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stmdb	r1, {r2-r3}
	b	.L1379
.L1366:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3516]
	cmp	r3, #0
	beq	.L1368
	ldr	r3, [fp, #12]
	cmp	r3, #0
	bne	.L1369
	mov	r3, #0
	b	.L1383
.L1369:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3516]
	str	r3, [r2, #-3480]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	ldr	r3, [fp, #12]
	mov	r2, r3
	mov	r3, #0
	stmdb	r1, {r2-r3}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stmdb	r1, {r2-r3}
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	stmdb	r1, {r2-r3}
	b	.L1379
.L1368:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r1, r3, #3360
	ldmia	r1, {r0-r1}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	cmp	r3, #0
	cmpeq	r2, #65536
	bls	.L1370
	mov	r2, #65536
	mov	r3, #0
.L1370:
	stmdb	ip, {r2-r3}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	mvn	r0, #-2147483648
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1371
	mov	r3, #0
	b	.L1383
.L1371:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r4, [r3, #28]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r0, [r3, #40]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldr	r2, [r3, #-8]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r5, r3
	mov	r1, #1
	blx	r4
	str	r0, [r5, #-3480]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3480]
	cmp	r3, #0
	bne	.L1372
	mov	r3, #0
	b	.L1383
.L1372:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stmdb	r1, {r2-r3}
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	stmdb	r1, {r2-r3}
.L1379:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r2, [r3, #-3352]
	ldr	r3, [r3, #-3348]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	ldr	r3, [r3]
	sub	r3, r2, r3
	sub	r2, fp, #8192
	sub	r2, r2, #28
	str	r3, [r2, #-3488]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L1373
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	bne	.L1373
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r0-r1}
	ldmdb	r2, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1374
	mov	r2, r0
	mov	r3, r1
.L1374:
	stmdb	ip, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r4, [r3, #44]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r0, [r3, #52]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldr	r2, [r3, #-8]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	str	r2, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3480]
	str	r3, [sp]
	ldmia	r1, {r2-r3}
	blx	r4
	mov	r3, r0
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	beq	.L1375
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-3484]
	b	.L1376
.L1375:
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	ip, r3
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r2, {r0-r1}
	ldmdb	r3, {r2-r3}
	adds	lr, r0, r2
	sub	r4, fp, #11712
	sub	r4, r4, #36
	str	lr, [r4]
	adc	r3, r1, r3
	sub	r2, fp, #11712
	sub	r2, r2, #32
	str	r3, [r2]
	sub	r3, fp, #11712
	sub	r3, r3, #36
	ldmia	r3, {r3-r4}
	stm	ip, {r3-r4}
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r2, {r0-r1}
	ldmdb	r3, {r2-r3}
	subs	lr, r0, r2
	sub	r4, fp, #11712
	sub	r4, r4, #44
	str	lr, [r4]
	sbc	r3, r1, r3
	sub	r2, fp, #11712
	sub	r2, r2, #40
	str	r3, [r2]
	sub	r3, fp, #11712
	sub	r3, r3, #44
	ldmia	r3, {r3-r4}
	stmdb	ip, {r3-r4}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
.L1373:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldr	r3, [r3, #-8]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	str	r3, [r2, #-3492]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldr	r3, [r3]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	ldr	r2, [r2, #-3480]
	add	lr, r2, r3
	sub	r3, fp, #11648
	sub	r3, r3, #28
	ldr	r3, [r3]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	ldr	r2, [r2, #-3508]
	add	ip, r2, r3
	sub	r3, fp, #11648
	sub	r3, r3, #28
	ldmdb	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L1377
	mov	r1, #6
	b	.L1378
.L1377:
	mov	r1, #4
.L1378:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r5, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r4, r3
	sub	r2, fp, #11648
	sub	r2, r2, #28
	sub	r2, r2, #36
	sub	r0, fp, #10944
	sub	r0, r0, #28
	sub	r0, r0, #52
	str	r1, [sp, #8]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #32
	str	r3, [sp, #4]
	str	ip, [sp]
	ldr	r3, [r4, #-3508]
	mov	r1, lr
	bl	tinfl_decompress
	str	r0, [r5, #-3484]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3492]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	subs	lr, r2, r0
	sub	r4, fp, #11712
	sub	r4, r4, #52
	str	lr, [r4]
	sbc	r3, r3, r1
	sub	r2, fp, #11712
	sub	r2, r2, #48
	str	r3, [r2]
	sub	r3, fp, #11712
	sub	r3, r3, #52
	ldmia	r3, {r3-r4}
	stmdb	ip, {r3-r4}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3492]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	adds	lr, r2, r0
	sub	r4, fp, #11712
	sub	r4, r4, #60
	str	lr, [r4]
	adc	r3, r3, r1
	sub	r2, fp, #11712
	sub	r2, r2, #56
	str	r3, [r2]
	sub	r3, fp, #11712
	sub	r3, r3, #60
	ldmia	r3, {r3-r4}
	stm	ip, {r3-r4}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3488]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #11648
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	adds	lr, r2, r0
	sub	r4, fp, #11776
	sub	r4, r4, #4
	str	lr, [r4]
	adc	r3, r3, r1
	sub	r2, fp, #11776
	str	r3, [r2]
	sub	r3, fp, #11776
	sub	r3, r3, #4
	ldmia	r3, {r3-r4}
	stm	ip, {r3-r4}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	stmdb	r1, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3480]
	str	r3, [r2, #-3480]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3484]
	cmp	r3, #1
	beq	.L1379
.L1376:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3484]
	cmp	r3, #0
	bne	.L1380
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r2, [r3, #-3352]
	ldr	r3, [r3, #-3348]
	sub	r1, fp, #11648
	sub	r1, r1, #28
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L1381
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r2, [r3, #-3352]
	ldr	r3, [r3, #-3348]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r1, [r3, #-3508]
	mov	r0, #0
	bl	mz_crc32
	mov	r2, r0
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3364]
	cmp	r2, r3
	beq	.L1380
.L1381:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-3484]
.L1380:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	bne	.L1382
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3516]
	cmp	r3, #0
	bne	.L1382
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #32]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	ldr	r2, [r2, #-3500]
	ldr	r2, [r2, #40]
	sub	r1, fp, #8192
	sub	r1, r1, #28
	ldr	r1, [r1, #-3480]
	mov	r0, r2
	blx	r3
.L1382:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3484]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L1383:
	ldr	r2, .L1385
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1384
	bl	__stack_chk_fail
.L1384:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L1386:
	.align	2
.L1385:
	.word	.LC38
	.word	67324752
	.size	mz_zip_reader_extract_to_mem_no_alloc, .-mz_zip_reader_extract_to_mem_no_alloc
	.align	2
	.global	mz_zip_reader_extract_file_to_mem_no_alloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_extract_file_to_mem_no_alloc, %function
mz_zip_reader_extract_file_to_mem_no_alloc:
	@ args = 12, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #4]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	mz_zip_reader_locate_file
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1388
	mov	r3, #0
	b	.L1389
.L1388:
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #12]
	str	r3, [sp, #8]
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	mz_zip_reader_extract_to_mem_no_alloc
	mov	r3, r0
.L1389:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_extract_file_to_mem_no_alloc, .-mz_zip_reader_extract_file_to_mem_no_alloc
	.align	2
	.global	mz_zip_reader_extract_to_mem
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_extract_to_mem, %function
mz_zip_reader_extract_to_mem:
	@ 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, #0
	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	mz_zip_reader_extract_to_mem_no_alloc
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_extract_to_mem, .-mz_zip_reader_extract_to_mem
	.align	2
	.global	mz_zip_reader_extract_file_to_mem
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_extract_file_to_mem, %function
mz_zip_reader_extract_file_to_mem:
	@ 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, #0
	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	mz_zip_reader_extract_file_to_mem_no_alloc
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_extract_file_to_mem, .-mz_zip_reader_extract_file_to_mem
	.align	2
	.global	mz_zip_reader_extract_to_heap
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_extract_to_heap, %function
mz_zip_reader_extract_to_heap:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L1395
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1395
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bcs	.L1395
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	beq	.L1396
.L1395:
	mov	r3, #0
	b	.L1397
.L1396:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #56]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r3, r2, r3
.L1397:
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L1398
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3]
.L1398:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L1399
	mov	r3, #0
	b	.L1400
.L1399:
	ldr	r3, [fp, #-44]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #21
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	mov	r2, r3
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-44]
	add	r3, r3, #24
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #25
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #26
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #27
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	mov	r2, r3
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-60]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L1401
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	b	.L1402
.L1401:
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
.L1402:
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	mvn	r0, #-2147483648
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1403
	mov	r3, #0
	b	.L1400
.L1403:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-48]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-12]
	mov	r1, #1
	blx	r3
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L1404
	mov	r3, #0
	b	.L1400
.L1404:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-60]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	mz_zip_reader_extract_to_mem
	mov	r3, r0
	cmp	r3, #0
	bne	.L1405
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-40]
	mov	r0, r2
	blx	r3
	mov	r3, #0
	b	.L1400
.L1405:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L1406
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-56]
	str	r2, [r3]
.L1406:
	ldr	r3, [fp, #-40]
.L1400:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_extract_to_heap, .-mz_zip_reader_extract_to_heap
	.align	2
	.global	mz_zip_reader_extract_file_to_heap
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_extract_file_to_heap, %function
mz_zip_reader_extract_file_to_heap:
	@ args = 0, 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, #-28]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	mz_zip_reader_locate_file
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1408
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1409
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3]
.L1409:
	mov	r3, #0
	b	.L1410
.L1408:
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	mz_zip_reader_extract_to_heap
	mov	r3, r0
.L1410:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_extract_file_to_heap, .-mz_zip_reader_extract_file_to_heap
	.section	.rodata
	.align	2
.LC39:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_zip_reader_extract_to_callback
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_extract_to_callback, %function
mz_zip_reader_extract_to_callback:
	@ args = 4, pretend = 0, frame = 11784
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #11776
	sub	sp, sp, #24
	sub	ip, fp, #8192
	sub	ip, ip, #28
	str	r0, [ip, #-3500]
	sub	r0, fp, #8192
	sub	r0, r0, #28
	str	r1, [r0, #-3504]
	sub	r1, fp, #8192
	sub	r1, r1, #28
	str	r2, [r1, #-3508]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	str	r3, [r2, #-3512]
	ldr	r3, .L1456+4
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3488]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3484]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stmdb	r1, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3480]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-3476]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #24
	str	r3, [r2, #-3472]
	sub	r2, fp, #11520
	sub	r2, r2, #28
	sub	r2, r2, #56
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r1, [r1, #-3504]
	ldr	r0, [r3, #-3500]
	bl	mz_zip_reader_file_stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L1412
	mov	r3, #0
	b	.L1454
.L1412:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L1414
	mov	r3, #1
	b	.L1454
.L1414:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r1, [r2, #-3504]
	ldr	r0, [r3, #-3500]
	bl	mz_zip_reader_is_file_a_directory
	mov	r3, r0
	cmp	r3, #0
	beq	.L1415
	mov	r3, #1
	b	.L1454
.L1415:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3376
	sub	r3, r3, #8
	ldrh	r3, [r3, #12]
	and	r3, r3, #33
	cmp	r3, #0
	beq	.L1416
	mov	r3, #0
	b	.L1454
.L1416:
	ldr	r3, [fp, #4]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1417
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3376
	sub	r3, r3, #8
	ldrh	r3, [r3, #14]
	cmp	r3, #0
	beq	.L1417
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3376
	sub	r3, r3, #8
	ldrh	r3, [r3, #14]
	cmp	r3, #8
	beq	.L1417
	mov	r3, #0
	b	.L1454
.L1417:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r2, [r3, #-3336]
	ldr	r3, [r3, #-3332]
	stm	r1, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r4, [r3, #44]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r1, [r3, #52]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	mov	r3, #30
	str	r3, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3472]
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	mov	r0, r1
	blx	r4
	mov	r3, r0
	cmp	r3, #30
	beq	.L1418
	mov	r3, #0
	b	.L1454
.L1418:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3472]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3472]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3472]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3472]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r2, r2, r3
	ldr	r3, .L1456
	cmp	r2, r3
	beq	.L1419
	mov	r3, #0
	b	.L1454
.L1419:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3472]
	add	r3, r3, #26
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3472]
	add	r3, r3, #26
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3472]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3472]
	add	r3, r3, #28
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r1, r3
	add	r3, r2, r3
	add	r3, r3, #30
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	adds	r6, r2, r0
	adc	r7, r3, r1
	stm	ip, {r6-r7}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r1, r3, #3360
	ldmia	r1, {r0-r1}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmia	r3, {r2-r3}
	adds	r8, r0, r2
	adc	r9, r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldmia	r3, {r2-r3}
	cmp	r9, r3
	cmpeq	r8, r2
	bls	.L1420
	mov	r3, #0
	b	.L1454
.L1420:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L1421
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #56]
	ldr	r0, [r3, #52]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldr	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r1, r3
	add	r3, r0, r2
	str	r3, [r1, #-3480]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	stmdb	r1, {r2-r3}
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	stmdb	r1, {r2-r3}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	b	.L1422
.L1421:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r1, r3, #3360
	ldmia	r1, {r0-r1}
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	ip, r3
	mov	r2, r0
	mov	r3, r1
	cmp	r3, #0
	cmpeq	r2, #65536
	bls	.L1423
	mov	r2, #65536
	mov	r3, #0
.L1423:
	stmdb	ip, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r5, [r3, #28]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r0, [r3, #40]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	ldr	r2, [r3, #-8]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r4, r3
	mov	r1, #1
	blx	r5
	str	r0, [r4, #-3480]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3480]
	cmp	r3, #0
	bne	.L1424
	mov	r3, #0
	b	.L1454
.L1424:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stmdb	r1, {r2-r3}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L1422:
	ldr	r3, [fp, #4]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1425
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3376
	sub	r3, r3, #8
	ldrh	r3, [r3, #14]
	cmp	r3, #0
	bne	.L1426
.L1425:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L1432
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1428
	mov	r3, #0
	b	.L1454
.L1428:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	mov	ip, r2
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r1, r3
	str	ip, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3480]
	str	r3, [sp]
	ldr	r1, [r1, #-3508]
	ldmdb	r2, {r2-r3}
	ldr	r0, [r0, #-3512]
	blx	r1
	mov	r3, r0
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	beq	.L1429
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-3488]
	b	.L1430
.L1429:
	ldr	r3, [fp, #4]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1430
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r1, [r1, #-3480]
	ldr	r0, [r3, #-3484]
	bl	mz_crc32
	str	r0, [r4, #-3484]
.L1430:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	sub	r1, fp, #11584
	sub	r1, r1, #28
	sub	r1, r1, #32
	mov	ip, r1
	sub	r1, fp, #11584
	sub	r1, r1, #28
	sub	r1, r1, #32
	ldmia	r1, {r0-r1}
	adds	lr, r0, r2
	sub	r4, fp, #11712
	sub	r4, r4, #28
	str	lr, [r4]
	adc	r3, r1, r3
	sub	r2, fp, #11712
	sub	r2, r2, #24
	str	r3, [r2]
	sub	r3, fp, #11712
	sub	r3, r3, #28
	ldmia	r3, {r3-r4}
	stm	ip, {r3-r4}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	sub	r3, r3, #3360
	ldmia	r3, {r2-r3}
	sub	r1, fp, #11584
	sub	r1, r1, #28
	sub	r1, r1, #32
	mov	ip, r1
	sub	r1, fp, #11584
	sub	r1, r1, #28
	sub	r1, r1, #32
	ldmdb	r1, {r0-r1}
	adds	lr, r0, r2
	sub	r4, fp, #11712
	sub	r4, r4, #36
	str	lr, [r4]
	adc	r3, r1, r3
	sub	r2, fp, #11712
	sub	r2, r2, #32
	str	r3, [r2]
	sub	r3, fp, #11712
	sub	r3, r3, #36
	ldmia	r3, {r3-r4}
	stmdb	ip, {r3-r4}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	b	.L1438
.L1437:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	sub	r2, fp, #11648
	sub	r2, r2, #28
	ldmdb	r2, {r0-r1}
	ldmia	r3, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1433
	mov	r2, r0
	mov	r3, r1
.L1433:
	stmdb	ip, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r1, [r3, #44]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r0, [r3, #52]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldr	r2, [r3, #-8]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	str	r2, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3480]
	str	r3, [sp]
	ldmia	ip, {r2-r3}
	blx	r1
	mov	r3, r0
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	beq	.L1434
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-3488]
	b	.L1431
.L1434:
	ldr	r3, [fp, #4]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1435
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldr	r3, [r3, #-8]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	mov	r4, r2
	sub	r2, fp, #8192
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #8192
	sub	r2, r2, #28
	mov	r0, r2
	mov	r2, r3
	ldr	r1, [r1, #-3480]
	ldr	r0, [r0, #-3484]
	bl	mz_crc32
	str	r0, [r4, #-3484]
.L1435:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldr	r2, [r3, #-8]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r0, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r1, r3
	str	r2, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3480]
	str	r3, [sp]
	ldr	r1, [r1, #-3508]
	ldmdb	ip, {r2-r3}
	ldr	r0, [r0, #-3512]
	blx	r1
	mov	r3, r0
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	beq	.L1436
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-3488]
	b	.L1431
.L1436:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r2, {r0-r1}
	ldmdb	r3, {r2-r3}
	adds	lr, r0, r2
	sub	r4, fp, #11712
	sub	r4, r4, #44
	str	lr, [r4]
	adc	r3, r1, r3
	sub	r2, fp, #11712
	sub	r2, r2, #40
	str	r3, [r2]
	sub	r3, fp, #11712
	sub	r3, r3, #44
	ldmia	r3, {r3-r4}
	stm	ip, {r3-r4}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r2, {r0-r1}
	ldmdb	r3, {r2-r3}
	adds	lr, r0, r2
	sub	r4, fp, #11712
	sub	r4, r4, #52
	str	lr, [r4]
	adc	r3, r1, r3
	sub	r2, fp, #11712
	sub	r2, r2, #48
	str	r3, [r2]
	sub	r3, fp, #11712
	sub	r3, r3, #52
	ldmia	r3, {r3-r4}
	stmdb	ip, {r3-r4}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r2, {r0-r1}
	ldmdb	r3, {r2-r3}
	subs	lr, r0, r2
	sub	r4, fp, #11712
	sub	r4, r4, #60
	str	lr, [r4]
	sbc	r3, r1, r3
	sub	r2, fp, #11712
	sub	r2, r2, #56
	str	r3, [r2]
	sub	r3, fp, #11712
	sub	r3, r3, #60
	ldmia	r3, {r3-r4}
	stm	ip, {r3-r4}
.L1432:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L1437
	b	.L1438
.L1431:
	b	.L1438
.L1426:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2804]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r4, [r3, #28]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r0, [r3, #40]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r5, r3
	mov	r2, #32768
	mov	r1, #1
	blx	r4
	str	r0, [r5, #-3476]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	cmp	r3, #0
	bne	.L1439
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-3488]
	b	.L1438
.L1439:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldr	r3, [r3, #-8]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	sub	r2, fp, #8192
	sub	r2, r2, #28
	mov	r1, r2
	sub	r2, fp, #8192
	sub	r2, r2, #28
	ldr	r2, [r2, #-3476]
	add	r3, r2, r3
	str	r3, [r1, #-3468]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldr	r3, [r3, #-8]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	rsb	r3, r3, #32768
	sub	r2, fp, #8192
	sub	r2, r2, #28
	str	r3, [r2, #-3492]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L1441
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	bne	.L1441
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r2, r3
	sub	r3, fp, #11648
	sub	r3, r3, #28
	ldmdb	r3, {r0-r1}
	ldmia	r2, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1442
	mov	r2, r0
	mov	r3, r1
.L1442:
	stmdb	ip, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r4, [r3, #44]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r0, [r3, #52]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldr	r2, [r3, #-8]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r1, r3
	str	r2, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3480]
	str	r3, [sp]
	ldmia	r1, {r2-r3}
	blx	r4
	mov	r3, r0
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	beq	.L1443
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-3488]
	b	.L1438
.L1443:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r2, {r0-r1}
	ldmdb	r3, {r2-r3}
	adds	lr, r0, r2
	sub	r4, fp, #11776
	sub	r4, r4, #4
	str	lr, [r4]
	adc	r3, r1, r3
	sub	r2, fp, #11776
	str	r3, [r2]
	sub	r3, fp, #11776
	sub	r3, r3, #4
	ldmia	r3, {r3-r4}
	stm	ip, {r3-r4}
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r2, {r0-r1}
	ldmdb	r3, {r2-r3}
	subs	lr, r0, r2
	sub	r4, fp, #11776
	sub	r4, r4, #12
	str	lr, [r4]
	sbc	r3, r1, r3
	sub	r2, fp, #11776
	sub	r2, r2, #8
	str	r3, [r2]
	sub	r3, fp, #11776
	sub	r3, r3, #12
	ldmia	r3, {r3-r4}
	stm	ip, {r3-r4}
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
.L1441:
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldr	r3, [r3, #-8]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	str	r3, [r2, #-3496]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	ldr	r3, [r3]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	ldr	r2, [r2, #-3480]
	add	ip, r2, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L1445
	mov	r2, #2
	b	.L1446
.L1457:
	.align	2
.L1456:
	.word	67324752
	.word	.LC39
.L1445:
	mov	r2, #0
.L1446:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	lr, r3
	sub	r1, fp, #11648
	sub	r1, r1, #28
	sub	r1, r1, #40
	sub	r0, fp, #10944
	sub	r0, r0, #28
	sub	r0, r0, #52
	str	r2, [sp, #8]
	sub	r3, fp, #11648
	sub	r3, r3, #28
	sub	r3, r3, #36
	str	r3, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3468]
	str	r3, [sp]
	ldr	r3, [lr, #-3476]
	mov	r2, r1
	mov	r1, ip
	bl	tinfl_decompress
	str	r0, [r4, #-3488]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3496]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #48
	ldmdb	r3, {r2-r3}
	subs	lr, r2, r0
	sub	r4, fp, #11776
	sub	r4, r4, #20
	str	lr, [r4]
	sbc	r3, r3, r1
	sub	r2, fp, #11776
	sub	r2, r2, #16
	str	r3, [r2]
	sub	r3, fp, #11776
	sub	r3, r3, #20
	ldmia	r3, {r3-r4}
	stmdb	ip, {r3-r4}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3496]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11648
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #11648
	sub	r3, r3, #28
	ldmia	r3, {r2-r3}
	adds	lr, r2, r0
	sub	r4, fp, #11776
	sub	r4, r4, #28
	str	lr, [r4]
	adc	r3, r3, r1
	sub	r2, fp, #11776
	sub	r2, r2, #24
	str	r3, [r2]
	sub	r3, fp, #11776
	sub	r3, r3, #28
	ldmia	r3, {r3-r4}
	stm	ip, {r3-r4}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3492]
	cmp	r3, #0
	beq	.L1447
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r2, [r3, #-3492]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	r0, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	ip, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r1, r3
	str	r2, [sp, #4]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3468]
	str	r3, [sp]
	ldr	r1, [r1, #-3508]
	ldmdb	r0, {r2-r3}
	ldr	r0, [ip, #-3512]
	blx	r1
	mov	r2, r0
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3492]
	cmp	r2, r3
	beq	.L1448
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-3488]
	b	.L1438
.L1448:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r2, [r3, #-3492]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r1, [r1, #-3468]
	ldr	r0, [r3, #-3484]
	bl	mz_crc32
	str	r0, [r4, #-3484]
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3492]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	mov	ip, r3
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	adds	lr, r2, r0
	sub	r4, fp, #11776
	sub	r4, r4, #36
	str	lr, [r4]
	adc	r3, r3, r1
	sub	r2, fp, #11776
	sub	r2, r2, #32
	str	r3, [r2]
	sub	r3, fp, #11776
	sub	r3, r3, #36
	ldmia	r3, {r3-r4}
	stmdb	ip, {r3-r4}
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r0, [r3, #-3352]
	ldr	r1, [r3, #-3348]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1447
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-3488]
	b	.L1438
.L1447:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3488]
	cmp	r3, #1
	beq	.L1439
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3488]
	cmp	r3, #2
	beq	.L1439
.L1438:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3488]
	cmp	r3, #0
	bne	.L1450
	ldr	r3, [fp, #4]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1450
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r0, [r3, #-3352]
	ldr	r1, [r3, #-3348]
	sub	r3, fp, #11584
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	cmp	r3, r1
	cmpeq	r2, r0
	bne	.L1451
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3364]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	ldr	r2, [r2, #-3484]
	cmp	r2, r3
	beq	.L1450
.L1451:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	mov	r2, r3
	mvn	r3, #0
	str	r3, [r2, #-3488]
.L1450:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	bne	.L1452
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #32]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	ldr	r2, [r2, #-3500]
	ldr	r2, [r2, #40]
	sub	r1, fp, #8192
	sub	r1, r1, #28
	ldr	r1, [r1, #-3480]
	mov	r0, r2
	blx	r3
.L1452:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3476]
	cmp	r3, #0
	beq	.L1453
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3500]
	ldr	r3, [r3, #32]
	sub	r2, fp, #8192
	sub	r2, r2, #28
	ldr	r2, [r2, #-3500]
	ldr	r2, [r2, #40]
	sub	r1, fp, #8192
	sub	r1, r1, #28
	ldr	r1, [r1, #-3476]
	mov	r0, r2
	blx	r3
.L1453:
	sub	r3, fp, #8192
	sub	r3, r3, #28
	ldr	r3, [r3, #-3488]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L1454:
	ldr	r2, .L1456+4
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1455
	bl	__stack_chk_fail
.L1455:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	mz_zip_reader_extract_to_callback, .-mz_zip_reader_extract_to_callback
	.align	2
	.global	mz_zip_reader_extract_file_to_callback
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_extract_file_to_callback, %function
mz_zip_reader_extract_file_to_callback:
	@ args = 4, 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #4]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	mz_zip_reader_locate_file
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1459
	mov	r3, #0
	b	.L1460
.L1459:
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	mz_zip_reader_extract_to_callback
	mov	r3, r0
.L1460:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_extract_file_to_callback, .-mz_zip_reader_extract_file_to_callback
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_file_write_callback, %function
mz_zip_file_write_callback:
	@ 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	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #8]
	mov	r1, #1
	ldr	r0, [fp, #4]
	bl	fwrite
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_file_write_callback, .-mz_zip_file_write_callback
	.section	.rodata
	.align	2
.LC40:
	.ascii	"wb\000"
	.align	2
.LC41:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_zip_reader_extract_to_file
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_extract_to_file, %function
mz_zip_reader_extract_to_file:
	@ args = 0, pretend = 0, frame = 608
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #616
	str	r0, [fp, #-600]
	str	r1, [fp, #-604]
	str	r2, [fp, #-608]
	str	r3, [fp, #-612]
	ldr	r3, .L1471
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #588
	mov	r2, r3
	ldr	r1, [fp, #-604]
	ldr	r0, [fp, #-600]
	bl	mz_zip_reader_file_stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L1464
	mov	r3, #0
	b	.L1469
.L1464:
	ldr	r1, .L1471+4
	ldr	r0, [fp, #-608]
	bl	fopen
	str	r0, [fp, #-596]
	ldr	r3, [fp, #-596]
	cmp	r3, #0
	bne	.L1466
	mov	r3, #0
	b	.L1469
.L1466:
	ldr	r3, [fp, #-612]
	str	r3, [sp]
	ldr	r3, [fp, #-596]
	ldr	r2, .L1471+8
	ldr	r1, [fp, #-604]
	ldr	r0, [fp, #-600]
	bl	mz_zip_reader_extract_to_callback
	str	r0, [fp, #-592]
	ldr	r0, [fp, #-596]
	bl	fclose
	mov	r3, r0
	cmn	r3, #1
	bne	.L1467
	mov	r3, #0
	b	.L1469
.L1467:
	ldr	r3, [fp, #-592]
	cmp	r3, #0
	beq	.L1468
	ldr	r3, [fp, #-572]
	ldr	r2, [fp, #-572]
	mov	r1, r3
	ldr	r0, [fp, #-608]
	bl	mz_zip_set_file_times
.L1468:
	ldr	r3, [fp, #-592]
.L1469:
	ldr	r2, .L1471
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1470
	bl	__stack_chk_fail
.L1470:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1472:
	.align	2
.L1471:
	.word	.LC41
	.word	.LC40
	.word	mz_zip_file_write_callback
	.size	mz_zip_reader_extract_to_file, .-mz_zip_reader_extract_to_file
	.align	2
	.global	mz_zip_reader_end
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_end, %function
mz_zip_reader_end:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L1474
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1474
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L1474
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L1474
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	beq	.L1475
.L1474:
	mov	r3, #0
	b	.L1476
.L1475:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1477
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3, #56]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-12]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2]
	mov	r1, r2
	blx	r3
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	nop
	ldr	r3, [fp, #-32]
	add	r3, r3, #16
	ldr	r2, [fp, #-40]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-20]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2]
	mov	r1, r2
	blx	r3
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	memset
	nop
	ldr	r3, [fp, #-32]
	add	r3, r3, #32
	ldr	r2, [fp, #-40]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-28]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2]
	mov	r1, r2
	blx	r3
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	memset
	nop
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L1478
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	fclose
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #48]
.L1478:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-40]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-32]
	mov	r0, r2
	blx	r3
.L1477:
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3, #20]
	mov	r3, #1
.L1476:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_end, .-mz_zip_reader_end
	.align	2
	.global	mz_zip_reader_extract_file_to_file
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_reader_extract_file_to_file, %function
mz_zip_reader_extract_file_to_file:
	@ args = 0, 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, #-28]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	mz_zip_reader_locate_file
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1480
	mov	r3, #0
	b	.L1481
.L1480:
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	mz_zip_reader_extract_to_file
	mov	r3, r0
.L1481:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_reader_extract_file_to_file, .-mz_zip_reader_extract_file_to_file
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_write_le16, %function
mz_write_le16:
	@ 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]
	mov	r3, r1
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r3, [fp, #-10]	@ movhi
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	and	r2, r2, #255
	strb	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	mz_write_le16, .-mz_write_le16
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_write_le32, %function
mz_write_le32:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	lsr	r2, r3, #16
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	lsr	r2, r3, #24
	ldr	r3, [fp, #-8]
	add	r3, r3, #3
	and	r2, r2, #255
	strb	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	mz_write_le32, .-mz_write_le32
	.align	2
	.global	mz_zip_writer_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_init, %function
mz_zip_writer_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	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1485
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L1485
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L1485
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1486
.L1485:
	mov	r3, #0
	b	.L1487
.L1486:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1488
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	sub	r3, r3, #1
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L1488
	mov	r3, #0
	b	.L1487
.L1488:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L1489
	ldr	r3, [fp, #-8]
	ldr	r2, .L1493
	str	r2, [r3, #28]
.L1489:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1490
	ldr	r3, [fp, #-8]
	ldr	r2, .L1493+4
	str	r2, [r3, #32]
.L1490:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L1491
	ldr	r3, [fp, #-8]
	ldr	r2, .L1493+8
	str	r2, [r3, #36]
.L1491:
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #20]
	ldr	r1, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r1, [fp, #-8]
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-8]
	ldr	r0, [r2, #40]
	mov	r2, #64
	mov	r1, #1
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L1492
	mov	r3, #0
	b	.L1487
.L1492:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	mov	r2, #64
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	mov	r2, #4
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	mov	r2, #4
	str	r2, [r3, #44]
	mov	r3, #1
.L1487:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1494:
	.align	2
.L1493:
	.word	def_alloc_func
	.word	def_free_func
	.word	def_realloc_func
	.size	mz_zip_writer_init, .-mz_zip_writer_init
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_heap_write_func, %function
mz_zip_heap_write_func:
	@ args = 8, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #40
	str	r0, [fp, #-48]
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #56]
	mov	r6, r3
	mov	r7, #0
	ldr	r3, [fp, #8]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	adds	r4, r0, r2
	adc	r5, r1, r3
	mov	r2, r6
	mov	r3, r7
	cmp	r3, r5
	cmpeq	r2, r4
	bcs	.L1496
	mov	r2, r4
	mov	r3, r5
.L1496:
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #8]
	cmp	r3, #0
	beq	.L1497
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mvn	r0, #-2147483648
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1498
.L1497:
	mov	r3, #0
	b	.L1499
.L1498:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #60]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L1500
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #60]
	cmp	r3, #64
	movcs	r3, r3
	movcc	r3, #64
	str	r3, [fp, #-44]
	b	.L1501
.L1502:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #1
	str	r3, [fp, #-44]
.L1501:
	ldr	r3, [fp, #-44]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bhi	.L1502
	ldr	r3, [fp, #-40]
	ldr	r4, [r3, #36]
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #40]
	ldr	r3, [fp, #-36]
	ldr	r1, [r3, #52]
	ldr	r3, [fp, #-44]
	mov	r2, #1
	blx	r4
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1503
	mov	r3, #0
	b	.L1499
.L1503:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #60]
.L1500:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	ldr	r2, [fp, #8]
	ldr	r1, [fp, #4]
	mov	r0, r3
	bl	memcpy
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #56]
	ldr	r3, [fp, #8]
.L1499:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
	.size	mz_zip_heap_write_func, .-mz_zip_heap_write_func
	.align	2
	.global	mz_zip_writer_init_heap
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_init_heap, %function
mz_zip_writer_init_heap:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r2, .L1509
	str	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	mov	r3, #0
	ldr	r0, [fp, #-16]
	bl	mz_zip_writer_init
	mov	r3, r0
	cmp	r3, #0
	bne	.L1505
	mov	r3, #0
	b	.L1506
.L1505:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	movcs	r3, r2
	movcc	r3, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1507
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-16]
	ldr	r4, [r2, #56]
	ldr	r2, [fp, #-24]
	mov	r1, #1
	blx	r3
	mov	r3, r0
	str	r3, [r4, #52]
	ldr	r3, [r4, #52]
	cmp	r3, #0
	bne	.L1508
	ldr	r0, [fp, #-16]
	bl	mz_zip_writer_end
	mov	r3, #0
	b	.L1506
.L1508:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #60]
.L1507:
	mov	r3, #1
.L1506:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1510:
	.align	2
.L1509:
	.word	mz_zip_heap_write_func
	.size	mz_zip_writer_init_heap, .-mz_zip_writer_init_heap
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_file_write_func, %function
mz_zip_file_write_func:
	@ args = 8, 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	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	ftello
	mov	r3, r0
	mov	r2, r3
	asr	r3, r2, #31
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	cmp	r2, #0
	sbcs	r3, r3, #0
	blt	.L1512
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	beq	.L1513
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #48]
	ldr	r1, [fp, #-36]
	mov	r2, #0
	mov	r0, r3
	bl	fseeko
	mov	r3, r0
	cmp	r3, #0
	beq	.L1513
.L1512:
	mov	r3, #0
	b	.L1514
.L1513:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #48]
	ldr	r2, [fp, #8]
	mov	r1, #1
	ldr	r0, [fp, #4]
	bl	fwrite
	mov	r3, r0
.L1514:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_file_write_func, .-mz_zip_file_write_func
	.section	.rodata
	.align	2
.LC42:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_zip_writer_init_file
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_init_file, %function
mz_zip_writer_init_file:
	@ args = 0, pretend = 0, frame = 4136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, fp, lr}
	add	fp, sp, #24
	sub	sp, sp, #4096
	sub	sp, sp, #52
	sub	ip, fp, #4096
	sub	ip, ip, #28
	str	r0, [ip, #-28]
	sub	r0, fp, #4096
	sub	r0, r0, #28
	str	r1, [r0, #-32]
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #32
	stmdb	r1, {r2-r3}
	ldr	r3, .L1525
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-28]
	ldr	r2, .L1525+4
	str	r2, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-28]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-28]
	str	r2, [r3, #52]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #32
	sub	r2, fp, #4096
	sub	r2, r2, #28
	mov	r1, r2
	ldmdb	r3, {r2-r3}
	ldr	r0, [r1, #-28]
	bl	mz_zip_writer_init
	mov	r3, r0
	cmp	r3, #0
	bne	.L1516
	mov	r3, #0
	b	.L1517
.L1516:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	mov	r8, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r1, .L1525+8
	ldr	r0, [r3, #-32]
	bl	fopen
	str	r0, [r8, #-24]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-24]
	cmp	r3, #0
	bne	.L1518
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r0, [r3, #-28]
	bl	mz_zip_writer_end
	mov	r3, #0
	b	.L1517
.L1518:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-28]
	ldr	r3, [r3, #56]
	sub	r2, fp, #4096
	sub	r2, r2, #28
	ldr	r2, [r2, #-24]
	str	r2, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L1519
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #4
	mov	r2, #4096
	mov	r1, #0
	mov	r0, r3
	bl	memset
.L1523:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #4096
	bhi	.L1520
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldr	r3, [r3, #-8]
	b	.L1521
.L1520:
	mov	r3, #4096
.L1521:
	sub	r2, fp, #4096
	sub	r2, r2, #28
	str	r3, [r2, #-20]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-28]
	ldr	r1, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-28]
	ldr	r0, [r3, #52]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-20]
	str	r3, [sp, #4]
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #4
	str	r3, [sp]
	ldmia	r2, {r2-r3}
	blx	r1
	mov	r2, r0
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-20]
	cmp	r3, r2
	beq	.L1522
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r0, [r3, #-28]
	bl	mz_zip_writer_end
	mov	r3, #0
	b	.L1517
.L1522:
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-20]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #16
	mov	ip, r1
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #16
	ldmia	r1, {r0-r1}
	adds	r6, r0, r2
	adc	r7, r1, r3
	stm	ip, {r6-r7}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	ldr	r3, [r3, #-20]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #32
	mov	ip, r1
	sub	r1, fp, #4096
	sub	r1, r1, #28
	sub	r1, r1, #32
	ldmdb	r1, {r0-r1}
	subs	r4, r0, r2
	sbc	r5, r1, r3
	stmdb	ip, {r4-r5}
	sub	r3, fp, #4096
	sub	r3, r3, #28
	sub	r3, r3, #32
	ldmdb	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L1523
.L1519:
	mov	r3, #1
.L1517:
	ldr	r2, .L1525
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1524
	bl	__stack_chk_fail
.L1524:
	mov	r0, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, fp, pc}
.L1526:
	.align	2
.L1525:
	.word	.LC42
	.word	mz_zip_file_write_func
	.word	.LC40
	.size	mz_zip_writer_init_file, .-mz_zip_writer_init_file
	.section	.rodata
	.align	2
.LC43:
	.ascii	"r+b\000"
	.text
	.align	2
	.global	mz_zip_writer_init_from_reader
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_init_from_reader, %function
mz_zip_writer_init_from_reader:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #16
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1528
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1528
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	beq	.L1529
.L1528:
	mov	r3, #0
	b	.L1530
.L1529:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	ldr	r2, .L1539
	cmp	r3, r2
	beq	.L1531
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	adds	r4, r2, #76
	adc	r5, r3, #0
	mvn	r2, #0
	mov	r3, #0
	cmp	r5, r3
	cmpeq	r4, r2
	bls	.L1532
.L1531:
	mov	r3, #0
	b	.L1530
.L1532:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L1533
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L1534
	mov	r3, #0
	b	.L1530
.L1534:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1535
	mov	r3, #0
	b	.L1530
.L1535:
	ldr	r3, [fp, #-24]
	ldr	r2, .L1539+4
	str	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #48]
	mov	r2, r3
	ldr	r1, .L1539+8
	ldr	r0, [fp, #-28]
	bl	freopen
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L1536
	ldr	r0, [fp, #-24]
	bl	mz_zip_reader_end
	mov	r3, #0
	b	.L1530
.L1533:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L1537
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L1538
	mov	r3, #0
	b	.L1530
.L1538:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-24]
	ldr	r2, .L1539+12
	str	r2, [r3, #48]
	b	.L1536
.L1537:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L1536
	mov	r3, #0
	b	.L1530
.L1536:
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-24]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-24]
	mov	r2, #2
	str	r2, [r3, #20]
	ldr	r1, [fp, #-24]
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	mov	r3, #1
.L1530:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L1540:
	.align	2
.L1539:
	.word	65535
	.word	mz_zip_file_write_func
	.word	.LC43
	.word	mz_zip_heap_write_func
	.size	mz_zip_writer_init_from_reader, .-mz_zip_writer_init_from_reader
	.align	2
	.global	mz_zip_writer_add_mem
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_add_mem, %function
mz_zip_writer_add_mem:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [sp, #24]
	mov	r2, #0
	mov	r3, #0
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #4]
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	mz_zip_writer_add_mem_ex
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mz_zip_writer_add_mem, .-mz_zip_writer_add_mem
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_add_put_buf_callback, %function
mz_zip_writer_add_put_buf_callback:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	ip, [r3, #52]
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-36]
	str	r0, [sp, #4]
	ldr	r0, [fp, #-32]
	str	r0, [sp]
	mov	r0, ip
	blx	r1
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-36]
	cmp	r3, r2
	beq	.L1544
	mov	r3, #0
	b	.L1545
.L1544:
	ldr	r3, [fp, #-24]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-36]
	mov	r2, r3
	asr	r3, r2, #31
	adds	r6, r0, r2
	adc	r7, r1, r3
	ldr	r3, [fp, #-24]
	str	r6, [r3, #8]
	str	r7, [r3, #12]
	ldr	r3, [fp, #-24]
	add	r1, r3, #16
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-36]
	mov	r2, r3
	asr	r3, r2, #31
	adds	r4, r0, r2
	adc	r5, r1, r3
	ldr	r3, [fp, #-24]
	str	r4, [r3, #16]
	str	r5, [r3, #20]
	mov	r3, #1
.L1545:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
	.size	mz_zip_writer_add_put_buf_callback, .-mz_zip_writer_add_put_buf_callback
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_create_local_dir_header, %function
mz_zip_writer_create_local_dir_header:
	@ args = 36, 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]
	mov	r1, r2
	mov	r2, r3
	mov	r3, r1	@ movhi
	strh	r3, [fp, #-14]	@ movhi
	mov	r3, r2	@ movhi
	strh	r3, [fp, #-16]	@ movhi
	mov	r2, #30
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	memset
	ldr	r1, .L1550
	ldr	r0, [fp, #-12]
	bl	mz_write_le32
	ldr	r3, [fp, #-12]
	add	r2, r3, #4
	ldrh	r3, [fp, #24]
	cmp	r3, #0
	beq	.L1547
	mov	r3, #20
	b	.L1548
.L1547:
	mov	r3, #0
.L1548:
	mov	r1, r3
	mov	r0, r2
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #6
	ldrh	r2, [fp, #28]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	ldrh	r2, [fp, #24]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #10
	ldrh	r2, [fp, #32]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #12
	ldrh	r2, [fp, #36]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #14
	ldr	r1, [fp, #20]
	mov	r0, r3
	bl	mz_write_le32
	ldr	r3, [fp, #-12]
	add	r3, r3, #18
	ldr	r2, [fp, #12]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le32
	ldr	r3, [fp, #-12]
	add	r3, r3, #22
	ldr	r2, [fp, #4]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le32
	ldr	r3, [fp, #-12]
	add	r3, r3, #26
	ldrh	r2, [fp, #-14]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #28
	ldrh	r2, [fp, #-16]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	mov	r3, #1
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1551:
	.align	2
.L1550:
	.word	67324752
	.size	mz_zip_writer_create_local_dir_header, .-mz_zip_writer_create_local_dir_header
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_create_central_dir_header, %function
mz_zip_writer_create_central_dir_header:
	@ args = 60, 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]
	mov	r1, r2
	mov	r2, r3
	mov	r3, r1	@ movhi
	strh	r3, [fp, #-14]	@ movhi
	mov	r3, r2	@ movhi
	strh	r3, [fp, #-16]	@ movhi
	mov	r2, #46
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	memset
	ldr	r1, .L1556
	ldr	r0, [fp, #-12]
	bl	mz_write_le32
	ldr	r3, [fp, #-12]
	add	r2, r3, #6
	ldrh	r3, [fp, #32]
	cmp	r3, #0
	beq	.L1553
	mov	r3, #20
	b	.L1554
.L1553:
	mov	r3, #0
.L1554:
	mov	r1, r3
	mov	r0, r2
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	ldrh	r2, [fp, #36]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #10
	ldrh	r2, [fp, #32]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #12
	ldrh	r2, [fp, #40]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #14
	ldrh	r2, [fp, #44]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #16
	ldr	r1, [fp, #28]
	mov	r0, r3
	bl	mz_write_le32
	ldr	r3, [fp, #-12]
	add	r3, r3, #20
	ldr	r2, [fp, #20]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le32
	ldr	r3, [fp, #-12]
	add	r3, r3, #24
	ldr	r2, [fp, #12]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le32
	ldr	r3, [fp, #-12]
	add	r3, r3, #28
	ldrh	r2, [fp, #-14]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #30
	ldrh	r2, [fp, #-16]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #32
	ldrh	r2, [fp, #4]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	ldr	r3, [fp, #-12]
	add	r3, r3, #38
	ldr	r1, [fp, #60]
	mov	r0, r3
	bl	mz_write_le32
	ldr	r3, [fp, #-12]
	add	r3, r3, #42
	ldr	r2, [fp, #52]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le32
	mov	r3, #1
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1557:
	.align	2
.L1556:
	.word	33639248
	.size	mz_zip_writer_create_central_dir_header, .-mz_zip_writer_create_central_dir_header
	.section	.rodata
	.align	2
.LC44:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_add_to_central_dir, %function
mz_zip_writer_add_to_central_dir:
	@ args = 68, pretend = 0, frame = 296
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #360
	str	r0, [fp, #-296]
	str	r1, [fp, #-300]
	str	r3, [fp, #-308]
	sub	r3, fp, #28
	sub	r3, r3, #272
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #8]
	str	r3, [fp, #-312]
	ldr	r3, .L1590
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	ldr	r3, [fp, #-296]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-284]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-284]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-280]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bhi	.L1559
	ldr	r3, [fp, #-284]
	ldr	r3, [r3, #4]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #28
	sub	ip, r3, #272
	sub	ip, ip, #2
	ldrh	r3, [ip]
	mov	r2, r3
	mov	r3, #0
	adds	r8, r0, r2
	adc	r9, r1, r3
	ldrh	r3, [fp, #4]
	mov	r2, r3
	mov	r3, #0
	adds	r6, r8, r2
	adc	r7, r9, r3
	ldrh	r3, [fp, #12]
	mov	r2, r3
	mov	r3, #0
	adds	r4, r6, r2
	adc	r5, r7, r3
	adds	r3, r4, #46
	str	r3, [fp, #-324]
	adc	r3, r5, #0
	str	r3, [fp, #-320]
	mvn	r2, #0
	mov	r3, #0
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L1560
.L1559:
	mov	r3, #0
	b	.L1587
.L1560:
	ldrh	ip, [fp, #4]
	sub	r3, fp, #28
	sub	r3, r3, #272
	sub	r3, r3, #2
	ldrh	r0, [r3]
	sub	r1, fp, #80
	ldr	r3, [fp, #68]
	str	r3, [sp, #56]
	add	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #48]
	str	r3, [sp, #52]
	ldrh	r3, [fp, #52]
	str	r3, [sp, #40]
	ldrh	r3, [fp, #48]
	str	r3, [sp, #36]
	ldrh	r3, [fp, #44]
	str	r3, [sp, #32]
	ldrh	r3, [fp, #40]
	str	r3, [sp, #28]
	ldr	r3, [fp, #36]
	str	r3, [sp, #24]
	add	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	ldrh	r3, [fp, #12]
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r0
	ldr	r0, [fp, #-296]
	bl	mz_zip_writer_create_central_dir_header
	mov	r3, r0
	cmp	r3, #0
	bne	.L1562
	mov	r3, #0
	b	.L1587
.L1562:
	ldr	r3, [fp, #-284]
	ldr	r2, [fp, #-296]
	str	r2, [fp, #-276]
	str	r3, [fp, #-272]
	sub	r3, fp, #80
	str	r3, [fp, #-268]
	mov	r3, #46
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-272]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-260]
	ldr	r2, [fp, #-264]
	ldr	r3, [fp, #-260]
	add	r3, r2, r3
	ldr	r2, [fp, #-276]
	str	r2, [fp, #-256]
	ldr	r2, [fp, #-272]
	str	r2, [fp, #-252]
	str	r3, [fp, #-248]
	mov	r3, #1
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-252]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-248]
	cmp	r2, r3
	bls	.L1563
	ldr	r3, [fp, #-244]
	ldr	r2, [fp, #-248]
	ldr	r1, [fp, #-252]
	ldr	r0, [fp, #-256]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1563
	mov	r3, #0
	b	.L1564
.L1563:
	ldr	r3, [fp, #-252]
	ldr	r2, [fp, #-248]
	str	r2, [r3, #4]
	mov	r3, #1
.L1564:
	cmp	r3, #0
	bne	.L1565
	mov	r3, #0
	b	.L1566
.L1565:
	ldr	r3, [fp, #-272]
	ldr	r2, [r3]
	ldr	r3, [fp, #-272]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-260]
	mul	r3, r1, r3
	add	r0, r2, r3
	ldr	r3, [fp, #-272]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-264]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-268]
	bl	memcpy
	mov	r3, #1
.L1566:
	cmp	r3, #0
	beq	.L1567
	ldr	r2, [fp, #-284]
	sub	r3, fp, #28
	sub	r3, r3, #272
	sub	r3, r3, #2
	ldrh	r3, [r3]
	ldr	r1, [fp, #-296]
	str	r1, [fp, #-240]
	str	r2, [fp, #-236]
	ldr	r2, [fp, #-300]
	str	r2, [fp, #-232]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-236]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-224]
	ldr	r2, [fp, #-228]
	ldr	r3, [fp, #-224]
	add	r3, r2, r3
	ldr	r2, [fp, #-240]
	str	r2, [fp, #-220]
	ldr	r2, [fp, #-236]
	str	r2, [fp, #-216]
	str	r3, [fp, #-212]
	mov	r3, #1
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-212]
	cmp	r2, r3
	bls	.L1568
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-212]
	ldr	r1, [fp, #-216]
	ldr	r0, [fp, #-220]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1568
	mov	r3, #0
	b	.L1569
.L1568:
	ldr	r3, [fp, #-216]
	ldr	r2, [fp, #-212]
	str	r2, [r3, #4]
	mov	r3, #1
.L1569:
	cmp	r3, #0
	bne	.L1570
	mov	r3, #0
	b	.L1571
.L1570:
	ldr	r3, [fp, #-236]
	ldr	r2, [r3]
	ldr	r3, [fp, #-236]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-224]
	mul	r3, r1, r3
	add	r0, r2, r3
	ldr	r3, [fp, #-236]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-228]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-232]
	bl	memcpy
	mov	r3, #1
.L1571:
	cmp	r3, #0
	beq	.L1567
	ldr	r2, [fp, #-284]
	ldrh	r3, [fp, #4]
	ldr	r1, [fp, #-296]
	str	r1, [fp, #-204]
	str	r2, [fp, #-200]
	ldr	r2, [fp, #-308]
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-188]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-188]
	add	r3, r2, r3
	ldr	r2, [fp, #-204]
	str	r2, [fp, #-184]
	ldr	r2, [fp, #-200]
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	mov	r3, #1
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-180]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bls	.L1572
	ldr	r3, [fp, #-172]
	ldr	r2, [fp, #-176]
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-184]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1572
	mov	r3, #0
	b	.L1573
.L1572:
	ldr	r3, [fp, #-180]
	ldr	r2, [fp, #-176]
	str	r2, [r3, #4]
	mov	r3, #1
.L1573:
	cmp	r3, #0
	bne	.L1574
	mov	r3, #0
	b	.L1575
.L1574:
	ldr	r3, [fp, #-200]
	ldr	r2, [r3]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-188]
	mul	r3, r1, r3
	add	r0, r2, r3
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-192]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-196]
	bl	memcpy
	mov	r3, #1
.L1575:
	cmp	r3, #0
	beq	.L1567
	ldr	r2, [fp, #-284]
	ldrh	r3, [fp, #12]
	ldr	r1, [fp, #-296]
	str	r1, [fp, #-168]
	str	r2, [fp, #-164]
	ldr	r2, [fp, #-312]
	str	r2, [fp, #-160]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-152]
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-152]
	add	r3, r2, r3
	ldr	r2, [fp, #-168]
	str	r2, [fp, #-148]
	ldr	r2, [fp, #-164]
	str	r2, [fp, #-144]
	str	r3, [fp, #-140]
	mov	r3, #1
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-140]
	cmp	r2, r3
	bls	.L1576
	ldr	r3, [fp, #-136]
	ldr	r2, [fp, #-140]
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-148]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1576
	mov	r3, #0
	b	.L1577
.L1576:
	ldr	r3, [fp, #-144]
	ldr	r2, [fp, #-140]
	str	r2, [r3, #4]
	mov	r3, #1
.L1577:
	cmp	r3, #0
	bne	.L1578
	mov	r3, #0
	b	.L1579
.L1578:
	ldr	r3, [fp, #-164]
	ldr	r2, [r3]
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-152]
	mul	r3, r1, r3
	add	r0, r2, r3
	ldr	r3, [fp, #-164]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-156]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-160]
	bl	memcpy
	mov	r3, #1
.L1579:
	cmp	r3, #0
	beq	.L1567
	ldr	r3, [fp, #-284]
	add	r3, r3, #16
	ldr	r2, [fp, #-296]
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #288
	str	r3, [fp, #-124]
	mov	r3, #1
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-116]
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-116]
	add	r3, r2, r3
	ldr	r2, [fp, #-132]
	str	r2, [fp, #-112]
	ldr	r2, [fp, #-128]
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	mov	r3, #1
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bls	.L1580
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #-104]
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-112]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1580
	mov	r3, #0
	b	.L1581
.L1580:
	ldr	r3, [fp, #-108]
	ldr	r2, [fp, #-104]
	str	r2, [r3, #4]
	mov	r3, #1
.L1581:
	cmp	r3, #0
	bne	.L1582
	mov	r3, #0
	b	.L1583
.L1582:
	ldr	r3, [fp, #-128]
	ldr	r2, [r3]
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-116]
	mul	r3, r1, r3
	add	r0, r2, r3
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-120]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-124]
	bl	memcpy
	mov	r3, #1
.L1583:
	cmp	r3, #0
	bne	.L1584
.L1567:
	ldr	r3, [fp, #-284]
	ldr	r2, [fp, #-296]
	str	r2, [fp, #-96]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-280]
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-88]
	cmp	r2, r3
	bls	.L1585
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-88]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-96]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	beq	.L1589
.L1585:
	ldr	r3, [fp, #-92]
	ldr	r2, [fp, #-88]
	str	r2, [r3, #4]
	b	.L1586
.L1589:
	nop
.L1586:
	mov	r3, #0
	b	.L1587
.L1584:
	mov	r3, #1
.L1587:
	ldr	r2, .L1590
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1588
	bl	__stack_chk_fail
.L1588:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L1591:
	.align	2
.L1590:
	.word	.LC44
	.size	mz_zip_writer_add_to_central_dir, .-mz_zip_writer_add_to_central_dir
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_validate_archive_name, %function
mz_zip_writer_validate_archive_name:
	@ 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]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L1595
	mov	r3, #0
	b	.L1594
.L1598:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L1596
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1597
.L1596:
	mov	r3, #0
	b	.L1594
.L1597:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1595:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1598
	mov	r3, #1
.L1594:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	mz_zip_writer_validate_archive_name, .-mz_zip_writer_validate_archive_name
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_compute_padding_needed_for_file_alignment, %function
mz_zip_writer_compute_padding_needed_for_file_alignment:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L1600
	mov	r3, #0
	b	.L1601
.L1600:
	ldr	r3, [fp, #-16]
	ldmia	r3, {r2-r3}
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	sub	r3, r3, #1
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	sub	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	sub	r3, r3, #1
	and	r3, r3, r2
.L1601:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	mz_zip_writer_compute_padding_needed_for_file_alignment, .-mz_zip_writer_compute_padding_needed_for_file_alignment
	.section	.rodata
	.align	2
.LC45:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_write_zeros, %function
mz_zip_writer_write_zeros:
	@ args = 4, pretend = 0, frame = 4120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #4096
	sub	sp, sp, #32
	sub	r1, fp, #4096
	sub	r1, r1, #12
	str	r0, [r1, #-12]
	sub	r1, fp, #4096
	sub	r1, r1, #12
	sub	r1, r1, #16
	stmdb	r1, {r2-r3}
	ldr	r3, .L1609
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #4]
	cmp	r3, #4096
	movcc	r2, r3
	movcs	r2, #4096
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, #0
	mov	r0, r3
	bl	memset
	b	.L1603
.L1606:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	ldr	r3, [fp, #4]
	cmp	r3, #4096
	movcc	r3, r3
	movcs	r3, #4096
	str	r3, [r2, #-8]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	ldr	r1, [r3, #48]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	ldr	r0, [r3, #52]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #16
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	str	r3, [sp, #4]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	str	r3, [sp]
	ldmdb	r2, {r2-r3}
	blx	r1
	mov	r2, r0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	cmp	r3, r2
	beq	.L1604
	mov	r3, #0
	b	.L1607
.L1604:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #4096
	sub	r1, r1, #12
	sub	r1, r1, #16
	mov	ip, r1
	sub	r1, fp, #4096
	sub	r1, r1, #12
	sub	r1, r1, #16
	ldmdb	r1, {r0-r1}
	adds	r4, r0, r2
	adc	r5, r1, r3
	stmdb	ip, {r4-r5}
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [fp, #4]
	ldr	r3, [r3, #-8]
	sub	r3, r2, r3
	str	r3, [fp, #4]
.L1603:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	bne	.L1606
	mov	r3, #1
.L1607:
	ldr	r2, .L1609
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1608
	bl	__stack_chk_fail
.L1608:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L1610:
	.align	2
.L1609:
	.word	.LC45
	.size	mz_zip_writer_write_zeros, .-mz_zip_writer_write_zeros
	.section	.rodata
	.align	2
.LC46:
	.ascii	"(local_dir_header_ofs & (pZip->m_file_offset_alignm"
	.ascii	"ent - 1)) == 0\000"
	.align	2
.LC47:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_zip_writer_add_mem_ex
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_add_mem_ex, %function
mz_zip_writer_add_mem_ex:
	@ args = 28, pretend = 0, frame = 256
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #328
	str	r0, [fp, #-216]
	str	r1, [fp, #-220]
	str	r2, [fp, #-224]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-232]
	ldr	r3, .L1654
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	mov	r3, #0
	strh	r3, [fp, #-202]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-206]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-204]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-216]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-216]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	mov	r3, #0
	str	r3, [fp, #-192]
	ldr	r3, [fp, #12]
	cmp	r3, #0
	bge	.L1612
	mov	r3, #6
	str	r3, [fp, #12]
.L1612:
	ldr	r3, [fp, #12]
	and	r3, r3, #15
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	beq	.L1613
	ldr	r3, [fp, #12]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L1614
.L1613:
	mov	r3, #1
	b	.L1615
.L1614:
	mov	r3, #0
.L1615:
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-216]
	cmp	r3, #0
	beq	.L1616
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1616
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #20]
	cmp	r3, #2
	bne	.L1616
	ldr	r3, [fp, #-228]
	cmp	r3, #0
	beq	.L1617
	ldr	r3, [fp, #-224]
	cmp	r3, #0
	beq	.L1616
.L1617:
	ldr	r3, [fp, #-220]
	cmp	r3, #0
	beq	.L1616
	ldrh	r3, [fp, #8]
	cmp	r3, #0
	beq	.L1618
	ldr	r3, [fp, #-232]
	cmp	r3, #0
	beq	.L1616
.L1618:
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #16]
	ldr	r3, .L1654+4
	cmp	r2, r3
	beq	.L1616
	ldr	r3, [fp, #-200]
	cmp	r3, #10
	bls	.L1619
.L1616:
	mov	r3, #0
	b	.L1652
.L1619:
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #12]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1621
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L1621
	mov	r3, #0
	b	.L1652
.L1621:
	add	r1, fp, #20
	ldmia	r1, {r0-r1}
	mvn	r2, #0
	mov	r3, #0
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L1622
	mov	r3, #0
	b	.L1652
.L1622:
	ldr	r0, [fp, #-220]
	bl	mz_zip_writer_validate_archive_name
	mov	r3, r0
	cmp	r3, #0
	bne	.L1623
	mov	r3, #0
	b	.L1652
.L1623:
	sub	r3, fp, #92
	mov	r0, r3
	bl	time
	ldr	r0, [fp, #-92]
	sub	r2, fp, #204
	sub	r3, fp, #206
	mov	r1, r3
	bl	mz_zip_time_to_dos_time
	ldr	r0, [fp, #-220]
	bl	strlen
	str	r0, [fp, #-180]
	ldr	r3, [fp, #-180]
	cmp	r3, #65536
	bcc	.L1624
	mov	r3, #0
	b	.L1652
.L1624:
	ldr	r0, [fp, #-216]
	bl	mz_zip_writer_compute_padding_needed_for_file_alignment
	str	r0, [fp, #-176]
	ldr	r3, [fp, #-216]
	ldr	r2, [r3, #16]
	ldr	r3, .L1654+4
	cmp	r2, r3
	beq	.L1625
	ldr	r3, [fp, #-216]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-176]
	mov	r2, r3
	mov	r3, #0
	adds	r4, r0, r2
	adc	r5, r1, r3
	ldrh	r3, [fp, #8]
	mov	r2, r3
	mov	r3, #0
	adds	r8, r4, r2
	adc	r9, r5, r3
	ldr	r3, [fp, #-180]
	mov	r2, r3
	mov	r3, #0
	adds	r6, r8, r2
	adc	r7, r9, r3
	adds	r3, r6, #76
	str	r3, [fp, #-244]
	adc	r3, r7, #0
	str	r3, [fp, #-240]
	mvn	r2, #0
	mov	r3, #0
	sub	r1, fp, #244
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L1626
.L1625:
	mov	r3, #0
	b	.L1652
.L1626:
	ldr	r3, [fp, #-180]
	cmp	r3, #0
	beq	.L1627
	ldr	r3, [fp, #-180]
	sub	r3, r3, #1
	ldr	r2, [fp, #-220]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L1627
	ldr	r3, [fp, #-196]
	orr	r3, r3, #16
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-228]
	cmp	r3, #0
	bne	.L1628
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L1627
.L1628:
	mov	r3, #0
	b	.L1652
.L1627:
	ldr	r2, [fp, #-184]
	ldrh	r1, [fp, #8]
	ldr	r3, [fp, #-180]
	add	r3, r1, r3
	add	r3, r3, #46
	ldr	r1, [fp, #-216]
	str	r1, [fp, #-172]
	str	r2, [fp, #-168]
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-168]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-164]
	add	r3, r2, r3
	ldr	r2, [fp, #-172]
	str	r2, [fp, #-160]
	ldr	r2, [fp, #-168]
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	mov	r3, #1
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-156]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-152]
	cmp	r2, r3
	bls	.L1629
	ldr	r3, [fp, #-148]
	ldr	r2, [fp, #-152]
	ldr	r1, [fp, #-156]
	ldr	r0, [fp, #-160]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1629
	mov	r3, #0
	b	.L1630
.L1629:
	mov	r3, #1
.L1630:
	nop
	cmp	r3, #0
	beq	.L1632
	ldr	r3, [fp, #-184]
	add	r3, r3, #16
	ldr	r2, [fp, #-216]
	str	r2, [fp, #-144]
	str	r3, [fp, #-140]
	mov	r3, #1
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-140]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-136]
	add	r3, r2, r3
	ldr	r2, [fp, #-144]
	str	r2, [fp, #-132]
	ldr	r2, [fp, #-140]
	str	r2, [fp, #-128]
	str	r3, [fp, #-124]
	mov	r3, #1
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	bls	.L1633
	ldr	r3, [fp, #-120]
	ldr	r2, [fp, #-124]
	ldr	r1, [fp, #-128]
	ldr	r0, [fp, #-132]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1633
	mov	r3, #0
	b	.L1634
.L1633:
	mov	r3, #1
.L1634:
	nop
	cmp	r3, #0
	bne	.L1636
.L1632:
	mov	r3, #0
	b	.L1652
.L1636:
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	bne	.L1637
	ldr	r3, [fp, #-228]
	cmp	r3, #0
	beq	.L1637
	ldr	r3, [fp, #-216]
	ldr	r4, [r3, #28]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #40]
	ldr	r2, .L1654+8
	mov	r1, #1
	mov	r0, r3
	blx	r4
	str	r0, [fp, #-192]
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	bne	.L1637
	mov	r3, #0
	b	.L1652
.L1637:
	ldr	r3, [fp, #-176]
	add	r3, r3, #30
	str	r3, [sp]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-216]
	bl	mz_zip_writer_write_zeros
	mov	r3, r0
	cmp	r3, #0
	bne	.L1638
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-216]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-192]
	mov	r0, r2
	blx	r3
	mov	r3, #0
	b	.L1652
.L1638:
	ldr	r3, [fp, #-176]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-260]
	adc	r3, r1, r3
	str	r3, [fp, #-256]
	sub	r4, fp, #260
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-100]
	str	r4, [fp, #-96]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1639
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #24]
	sub	r3, r3, #1
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	and	ip, r0, r2
	str	ip, [fp, #-252]
	and	r3, r1, r3
	str	r3, [fp, #-248]
	sub	r4, fp, #252
	ldmia	r4, {r3-r4}
	orrs	r3, r3, r4
	beq	.L1639
	ldr	r3, .L1654+12
	ldr	r2, .L1654+16
	ldr	r1, .L1654+20
	ldr	r0, .L1654+24
	bl	__assert_fail
.L1639:
	ldr	r3, [fp, #-176]
	add	r3, r3, #30
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-268]
	adc	r3, r1, r3
	str	r3, [fp, #-264]
	sub	r4, fp, #268
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-116]
	str	r4, [fp, #-112]
	sub	r3, fp, #64
	mov	r2, #30
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-216]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-216]
	ldr	r0, [r3, #52]
	ldr	r3, [fp, #-180]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-220]
	str	r3, [sp]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	blx	r1
	mov	r2, r0
	ldr	r3, [fp, #-180]
	cmp	r3, r2
	beq	.L1640
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-216]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-192]
	mov	r0, r2
	blx	r3
	mov	r3, #0
	b	.L1652
.L1640:
	ldr	r3, [fp, #-180]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-276]
	adc	r3, r1, r3
	str	r3, [fp, #-272]
	sub	r4, fp, #276
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-116]
	str	r4, [fp, #-112]
	ldr	r3, [fp, #12]
	and	r3, r3, #1024
	cmp	r3, #0
	bne	.L1641
	ldr	r2, [fp, #-228]
	ldr	r1, [fp, #-224]
	mov	r0, #0
	bl	mz_crc32
	str	r0, [fp, #28]
	ldr	r3, [fp, #-228]
	mov	r2, r3
	mov	r3, #0
	str	r2, [fp, #20]
	str	r3, [fp, #24]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #3
	bhi	.L1641
	mov	r3, #0
	str	r3, [fp, #-200]
	mov	r3, #1
	str	r3, [fp, #-188]
.L1641:
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	beq	.L1642
	ldr	r3, [fp, #-216]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-216]
	ldr	r0, [r3, #52]
	ldr	r3, [fp, #-228]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-224]
	str	r3, [sp]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	blx	r1
	mov	r2, r0
	ldr	r3, [fp, #-228]
	cmp	r3, r2
	beq	.L1643
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-216]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-192]
	mov	r0, r2
	blx	r3
	mov	r3, #0
	b	.L1652
.L1643:
	ldr	r3, [fp, #-228]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-284]
	adc	r3, r1, r3
	str	r3, [fp, #-280]
	sub	r4, fp, #284
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-116]
	str	r4, [fp, #-112]
	ldr	r3, [fp, #-228]
	mov	r2, r3
	mov	r3, #0
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #12]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L1644
	mov	r3, #8
	strh	r3, [fp, #-202]	@ movhi
	b	.L1644
.L1642:
	ldr	r3, [fp, #-228]
	cmp	r3, #0
	beq	.L1644
	ldr	r3, [fp, #-216]
	str	r3, [fp, #-92]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-200]
	mov	r2, #0
	mvn	r1, #14
	mov	r0, r3
	bl	tdefl_create_comp_flags_from_zip_params
	mov	r3, r0
	sub	r2, fp, #92
	ldr	r1, .L1654+28
	ldr	r0, [fp, #-192]
	bl	tdefl_init
	mov	r3, r0
	cmp	r3, #0
	bne	.L1645
	mov	r3, #4
	ldr	r2, [fp, #-228]
	ldr	r1, [fp, #-224]
	ldr	r0, [fp, #-192]
	bl	tdefl_compress_buffer
	mov	r3, r0
	cmp	r3, #1
	beq	.L1646
.L1645:
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-216]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-192]
	mov	r0, r2
	blx	r3
	mov	r3, #0
	b	.L1652
.L1646:
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	mov	r3, #8
	strh	r3, [fp, #-202]	@ movhi
.L1644:
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-216]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-192]
	mov	r0, r2
	blx	r3
	mov	r3, #0
	str	r3, [fp, #-192]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bhi	.L1647
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1648
.L1647:
	mov	r3, #0
	b	.L1652
.L1648:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #16
	lsr	r0, r3, #16
	ldrh	r3, [fp, #-206]
	ldrh	r2, [fp, #-204]
	sub	r1, fp, #64
	str	r2, [sp, #32]
	str	r3, [sp, #28]
	mov	r3, #0
	str	r3, [sp, #24]
	ldrh	r3, [fp, #-202]
	str	r3, [sp, #20]
	ldr	r3, [fp, #28]
	str	r3, [sp, #16]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r3, #0
	mov	r2, r0
	ldr	r0, [fp, #-216]
	bl	mz_zip_writer_create_local_dir_header
	mov	r3, r0
	cmp	r3, #0
	bne	.L1649
	mov	r3, #0
	b	.L1652
.L1649:
	ldr	r3, [fp, #-216]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-216]
	ldr	r0, [r3, #52]
	mov	r3, #30
	str	r3, [sp, #4]
	sub	r3, fp, #64
	str	r3, [sp]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	blx	r1
	mov	r3, r0
	cmp	r3, #30
	beq	.L1650
	mov	r3, #0
	b	.L1652
.L1650:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #16
	lsr	ip, r3, #16
	ldrh	r1, [fp, #-206]
	ldrh	r0, [fp, #-204]
	ldr	r3, [fp, #-196]
	str	r3, [sp, #64]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r0, [sp, #48]
	str	r1, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #40]
	ldrh	r3, [fp, #-202]
	str	r3, [sp, #36]
	ldr	r3, [fp, #28]
	str	r3, [sp, #32]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	add	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldrh	r3, [fp, #8]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-232]
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r2, ip
	ldr	r1, [fp, #-220]
	ldr	r0, [fp, #-216]
	bl	mz_zip_writer_add_to_central_dir
	mov	r3, r0
	cmp	r3, #0
	bne	.L1651
	mov	r3, #0
	b	.L1652
.L1651:
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-216]
	str	r2, [r3, #16]
	ldr	r1, [fp, #-216]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	mov	r3, #1
.L1652:
	ldr	r2, .L1654
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1653
	bl	__stack_chk_fail
.L1653:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L1655:
	.align	2
.L1654:
	.word	.LC47
	.word	65535
	.word	319296
	.word	__PRETTY_FUNCTION__.7823
	.word	4332
	.word	.LC14
	.word	.LC46
	.word	mz_zip_writer_add_put_buf_callback
	.size	mz_zip_writer_add_mem_ex, .-mz_zip_writer_add_mem_ex
	.section	.rodata
	.align	2
.LC48:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_zip_writer_add_file
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_add_file, %function
mz_zip_writer_add_file:
	@ args = 8, pretend = 0, frame = 240
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #312
	str	r0, [fp, #-192]
	str	r1, [fp, #-196]
	str	r2, [fp, #-200]
	str	r3, [fp, #-204]
	ldr	r3, .L1705
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-176]
	mov	r3, #0
	strh	r3, [fp, #-180]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-184]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-182]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-178]	@ movhi
	ldr	r3, [fp, #-192]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-192]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-164]
	ldr	r3, [fp, #8]
	cmp	r3, #0
	bge	.L1657
	mov	r3, #6
	str	r3, [fp, #8]
.L1657:
	ldr	r3, [fp, #8]
	and	r3, r3, #15
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	beq	.L1658
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1658
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #20]
	cmp	r3, #2
	bne	.L1658
	ldr	r3, [fp, #-196]
	cmp	r3, #0
	beq	.L1658
	ldrh	r3, [fp, #4]
	cmp	r3, #0
	beq	.L1659
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	beq	.L1658
.L1659:
	ldr	r3, [fp, #-172]
	cmp	r3, #10
	bls	.L1660
.L1658:
	mov	r3, #0
	b	.L1701
.L1660:
	ldr	r3, [fp, #8]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L1662
	mov	r3, #0
	b	.L1701
.L1662:
	ldr	r0, [fp, #-196]
	bl	mz_zip_writer_validate_archive_name
	mov	r3, r0
	cmp	r3, #0
	bne	.L1663
	mov	r3, #0
	b	.L1701
.L1663:
	ldr	r0, [fp, #-196]
	bl	strlen
	str	r0, [fp, #-160]
	ldr	r3, [fp, #-160]
	cmp	r3, #65536
	bcc	.L1664
	mov	r3, #0
	b	.L1701
.L1664:
	ldr	r0, [fp, #-192]
	bl	mz_zip_writer_compute_padding_needed_for_file_alignment
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-192]
	ldr	r2, [r3, #16]
	ldr	r3, .L1705+4
	cmp	r2, r3
	beq	.L1665
	ldr	r3, [fp, #-192]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-156]
	mov	r2, r3
	mov	r3, #0
	adds	r4, r0, r2
	adc	r5, r1, r3
	ldrh	r3, [fp, #4]
	mov	r2, r3
	mov	r3, #0
	adds	r8, r4, r2
	adc	r9, r5, r3
	ldr	r3, [fp, #-160]
	mov	r2, r3
	mov	r3, #0
	adds	r6, r8, r2
	adc	r7, r9, r3
	adds	r3, r6, #76
	str	r3, [fp, #-212]
	adc	r3, r7, #0
	str	r3, [fp, #-208]
	mvn	r2, #0
	mov	r3, #0
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L1666
.L1665:
	mov	r3, #0
	b	.L1701
.L1666:
	sub	r2, fp, #182
	sub	r3, fp, #184
	mov	r1, r3
	ldr	r0, [fp, #-200]
	bl	mz_zip_get_file_modified_time
	mov	r3, r0
	cmp	r3, #0
	bne	.L1667
	mov	r3, #0
	b	.L1701
.L1667:
	ldr	r1, .L1705+8
	ldr	r0, [fp, #-200]
	bl	fopen
	str	r0, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	bne	.L1668
	mov	r3, #0
	b	.L1701
.L1668:
	mov	r2, #2
	mov	r1, #0
	ldr	r0, [fp, #-164]
	bl	fseeko
	ldr	r0, [fp, #-164]
	bl	ftello
	mov	r3, r0
	mov	r2, r3
	asr	r3, r2, #31
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-164]
	bl	fseeko
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	mvn	r2, #0
	mov	r3, #0
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L1669
	ldr	r0, [fp, #-164]
	bl	fclose
	mov	r3, #0
	b	.L1701
.L1669:
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #3
	bhi	.L1670
	mov	r3, #0
	str	r3, [fp, #-172]
.L1670:
	ldr	r3, [fp, #-156]
	add	r3, r3, #30
	str	r3, [sp]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-192]
	bl	mz_zip_writer_write_zeros
	mov	r3, r0
	cmp	r3, #0
	bne	.L1671
	ldr	r0, [fp, #-164]
	bl	fclose
	mov	r3, #0
	b	.L1701
.L1671:
	ldr	r3, [fp, #-156]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	adds	ip, r2, r0
	str	ip, [fp, #-228]
	adc	r3, r3, r1
	str	r3, [fp, #-224]
	sub	r4, fp, #228
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-108]
	str	r4, [fp, #-104]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1672
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #24]
	sub	r3, r3, #1
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	and	ip, r0, r2
	str	ip, [fp, #-220]
	and	r3, r1, r3
	str	r3, [fp, #-216]
	sub	r4, fp, #220
	ldmia	r4, {r3-r4}
	orrs	r3, r3, r4
	beq	.L1672
	ldr	r3, .L1705+12
	ldr	r2, .L1705+16
	ldr	r1, .L1705+20
	ldr	r0, .L1705+24
	bl	__assert_fail
.L1672:
	ldr	r3, [fp, #-156]
	add	r3, r3, #30
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-236]
	adc	r3, r1, r3
	str	r3, [fp, #-232]
	sub	r4, fp, #236
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-132]
	str	r4, [fp, #-128]
	sub	r3, fp, #64
	mov	r2, #30
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-192]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-192]
	ldr	r0, [r3, #52]
	ldr	r3, [fp, #-160]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-196]
	str	r3, [sp]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	blx	r1
	mov	r2, r0
	ldr	r3, [fp, #-160]
	cmp	r3, r2
	beq	.L1673
	ldr	r0, [fp, #-164]
	bl	fclose
	mov	r3, #0
	b	.L1701
.L1673:
	ldr	r3, [fp, #-160]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-244]
	adc	r3, r1, r3
	str	r3, [fp, #-240]
	sub	r4, fp, #244
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-132]
	str	r4, [fp, #-128]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L1674
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-192]
	ldr	r0, [r2, #40]
	mov	r2, #65536
	mov	r1, #1
	blx	r3
	str	r0, [fp, #-152]
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bne	.L1675
	ldr	r0, [fp, #-164]
	bl	fclose
	mov	r3, #0
	b	.L1701
.L1675:
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	bne	.L1676
	b	.L1677
.L1682:
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #65536
	bhi	.L1678
	ldr	r3, [fp, #-116]
	b	.L1679
.L1678:
	mov	r3, #65536
.L1679:
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-164]
	ldr	r2, [fp, #-136]
	mov	r1, #1
	ldr	r0, [fp, #-152]
	bl	fread
	mov	r2, r0
	ldr	r3, [fp, #-136]
	cmp	r3, r2
	bne	.L1680
	ldr	r3, [fp, #-192]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-192]
	ldr	r0, [r3, #52]
	ldr	r3, [fp, #-136]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-152]
	str	r3, [sp]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	blx	r1
	mov	r2, r0
	ldr	r3, [fp, #-136]
	cmp	r3, r2
	beq	.L1681
.L1680:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-192]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-152]
	mov	r0, r2
	blx	r3
	ldr	r0, [fp, #-164]
	bl	fclose
	mov	r3, #0
	b	.L1701
.L1681:
	ldr	r2, [fp, #-136]
	ldr	r1, [fp, #-152]
	ldr	r0, [fp, #-176]
	bl	mz_crc32
	str	r0, [fp, #-176]
	ldr	r3, [fp, #-136]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	subs	ip, r0, r2
	str	ip, [fp, #-252]
	sbc	r3, r1, r3
	str	r3, [fp, #-248]
	sub	r4, fp, #252
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-116]
	str	r4, [fp, #-112]
	ldr	r3, [fp, #-136]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-260]
	adc	r3, r1, r3
	str	r3, [fp, #-256]
	sub	r4, fp, #260
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-132]
	str	r4, [fp, #-128]
.L1677:
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L1682
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L1683
.L1676:
	mov	r3, #0
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-192]
	ldr	r0, [r2, #40]
	ldr	r2, .L1705+28
	mov	r1, #1
	blx	r3
	str	r0, [fp, #-148]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L1684
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-192]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-152]
	mov	r0, r2
	blx	r3
	ldr	r0, [fp, #-164]
	bl	fclose
	mov	r3, #0
	b	.L1701
.L1684:
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-92]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-172]
	mov	r2, #0
	mvn	r1, #14
	mov	r0, r3
	bl	tdefl_create_comp_flags_from_zip_params
	mov	r3, r0
	sub	r2, fp, #92
	ldr	r1, .L1705+32
	ldr	r0, [fp, #-148]
	bl	tdefl_init
	mov	r3, r0
	cmp	r3, #0
	beq	.L1686
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-192]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-148]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-192]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-152]
	mov	r0, r2
	blx	r3
	ldr	r0, [fp, #-164]
	bl	fclose
	mov	r3, #0
	b	.L1701
.L1686:
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #65536
	bcs	.L1687
	ldr	r3, [fp, #-116]
	b	.L1688
.L1687:
	mov	r3, #65536
.L1688:
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-164]
	ldr	r2, [fp, #-144]
	mov	r1, #1
	ldr	r0, [fp, #-152]
	bl	fread
	mov	r2, r0
	ldr	r3, [fp, #-144]
	cmp	r3, r2
	bne	.L1703
	ldr	r2, [fp, #-144]
	ldr	r1, [fp, #-152]
	ldr	r0, [fp, #-176]
	bl	mz_crc32
	str	r0, [fp, #-176]
	ldr	r3, [fp, #-144]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	subs	ip, r0, r2
	str	ip, [fp, #-268]
	sbc	r3, r1, r3
	str	r3, [fp, #-264]
	sub	r4, fp, #268
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-116]
	str	r4, [fp, #-112]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	beq	.L1691
	mov	r3, #0
	b	.L1692
.L1691:
	mov	r3, #4
.L1692:
	ldr	r2, [fp, #-144]
	ldr	r1, [fp, #-152]
	ldr	r0, [fp, #-148]
	bl	tdefl_compress_buffer
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	cmp	r3, #1
	bne	.L1693
	mov	r3, #1
	str	r3, [fp, #-168]
	b	.L1690
.L1693:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	bne	.L1704
	b	.L1686
.L1703:
	nop
	b	.L1690
.L1704:
	nop
.L1690:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-192]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-148]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-168]
	cmp	r3, #0
	bne	.L1695
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-192]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-152]
	mov	r0, r2
	blx	r3
	ldr	r0, [fp, #-164]
	bl	fclose
	mov	r3, #0
	b	.L1701
.L1695:
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	mov	r3, #8
	strh	r3, [fp, #-180]	@ movhi
.L1683:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-192]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-152]
	mov	r0, r2
	blx	r3
.L1674:
	ldr	r0, [fp, #-164]
	bl	fclose
	mov	r3, #0
	str	r3, [fp, #-164]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bhi	.L1696
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1697
.L1696:
	mov	r3, #0
	b	.L1701
.L1697:
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #16
	lsr	r0, r3, #16
	ldrh	r3, [fp, #-184]
	ldrh	r2, [fp, #-182]
	sub	r1, fp, #64
	str	r2, [sp, #32]
	str	r3, [sp, #28]
	mov	r3, #0
	str	r3, [sp, #24]
	ldrh	r3, [fp, #-180]
	str	r3, [sp, #20]
	ldr	r3, [fp, #-176]
	str	r3, [sp, #16]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r3, #0
	mov	r2, r0
	ldr	r0, [fp, #-192]
	bl	mz_zip_writer_create_local_dir_header
	mov	r3, r0
	cmp	r3, #0
	bne	.L1698
	mov	r3, #0
	b	.L1701
.L1698:
	ldr	r3, [fp, #-192]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-192]
	ldr	r0, [r3, #52]
	mov	r3, #30
	str	r3, [sp, #4]
	sub	r3, fp, #64
	str	r3, [sp]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	blx	r1
	mov	r3, r0
	cmp	r3, #30
	beq	.L1699
	mov	r3, #0
	b	.L1701
.L1699:
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #16
	lsr	ip, r3, #16
	ldrh	r1, [fp, #-184]
	ldrh	r0, [fp, #-182]
	ldrh	r3, [fp, #-178]
	str	r3, [sp, #64]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	str	r2, [sp, #56]
	str	r3, [sp, #60]
	str	r0, [sp, #48]
	str	r1, [sp, #44]
	mov	r3, #0
	str	r3, [sp, #40]
	ldrh	r3, [fp, #-180]
	str	r3, [sp, #36]
	ldr	r3, [fp, #-176]
	str	r3, [sp, #32]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldrh	r3, [fp, #4]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-204]
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r2, ip
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	mz_zip_writer_add_to_central_dir
	mov	r3, r0
	cmp	r3, #0
	bne	.L1700
	mov	r3, #0
	b	.L1701
.L1700:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-192]
	str	r2, [r3, #16]
	ldr	r1, [fp, #-192]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	mov	r3, #1
.L1701:
	ldr	r2, .L1705
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1702
	bl	__stack_chk_fail
.L1702:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L1706:
	.align	2
.L1705:
	.word	.LC48
	.word	65535
	.word	.LC37
	.word	__PRETTY_FUNCTION__.7847
	.word	4467
	.word	.LC14
	.word	.LC46
	.word	319296
	.word	mz_zip_writer_add_put_buf_callback
	.size	mz_zip_writer_add_file, .-mz_zip_writer_add_file
	.section	.rodata
	.align	2
.LC49:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_zip_writer_add_from_zip_reader
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_add_from_zip_reader, %function
mz_zip_writer_add_from_zip_reader:
	@ args = 0, pretend = 0, frame = 384
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #392
	str	r0, [fp, #-336]
	str	r1, [fp, #-340]
	str	r2, [fp, #-344]
	ldr	r3, .L1762
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #112
	str	r3, [fp, #-324]
	ldr	r3, [fp, #-336]
	cmp	r3, #0
	beq	.L1708
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1708
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #20]
	cmp	r3, #2
	beq	.L1709
.L1708:
	mov	r3, #0
	b	.L1758
.L1709:
	ldr	r3, [fp, #-340]
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-344]
	str	r3, [fp, #-292]
	ldr	r3, [fp, #-296]
	cmp	r3, #0
	beq	.L1711
	ldr	r3, [fp, #-296]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1711
	ldr	r3, [fp, #-296]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-292]
	cmp	r3, r2
	bcs	.L1711
	ldr	r3, [fp, #-296]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	beq	.L1712
.L1711:
	mov	r3, #0
	b	.L1713
.L1712:
	ldr	r3, [fp, #-296]
	ldr	r3, [r3, #56]
	ldr	r1, [r3]
	ldr	r3, [fp, #-296]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-292]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r1, r3
.L1713:
	str	r3, [fp, #-320]
	ldr	r3, [fp, #-320]
	cmp	r3, #0
	bne	.L1714
	mov	r3, #0
	b	.L1758
.L1714:
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-316]
	ldr	r0, [fp, #-336]
	bl	mz_zip_writer_compute_padding_needed_for_file_alignment
	str	r0, [fp, #-312]
	ldr	r3, [fp, #-336]
	ldr	r2, [r3, #16]
	ldr	r3, .L1762+4
	cmp	r2, r3
	beq	.L1715
	ldr	r3, [fp, #-336]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-312]
	mov	r2, r3
	mov	r3, #0
	adds	r4, r0, r2
	adc	r5, r1, r3
	adds	r6, r4, #76
	adc	r7, r5, #0
	mvn	r2, #0
	mov	r3, #0
	cmp	r7, r3
	cmpeq	r6, r2
	bls	.L1716
.L1715:
	mov	r3, #0
	b	.L1758
.L1716:
	ldr	r3, [fp, #-320]
	add	r3, r3, #42
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #43
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #44
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #45
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	mov	r2, r3
	mov	r3, #0
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-336]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-340]
	ldr	r4, [r3, #44]
	ldr	r3, [fp, #-340]
	ldr	r1, [r3, #52]
	mov	r3, #30
	str	r3, [sp, #4]
	ldr	r3, [fp, #-324]
	str	r3, [sp]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	mov	r0, r1
	blx	r4
	mov	r3, r0
	cmp	r3, #30
	beq	.L1717
	mov	r3, #0
	b	.L1758
.L1717:
	ldr	r3, [fp, #-324]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-324]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-324]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-324]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r2, r2, r3
	ldr	r3, .L1762+8
	cmp	r2, r3
	beq	.L1718
	mov	r3, #0
	b	.L1758
.L1718:
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	adds	r8, r2, #30
	adc	r9, r3, #0
	str	r8, [fp, #-140]
	str	r9, [fp, #-136]
	ldr	r3, [fp, #-312]
	str	r3, [sp]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-336]
	bl	mz_zip_writer_write_zeros
	mov	r3, r0
	cmp	r3, #0
	bne	.L1719
	mov	r3, #0
	b	.L1758
.L1719:
	ldr	r3, [fp, #-312]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	adds	ip, r2, r0
	str	ip, [fp, #-364]
	adc	r3, r3, r1
	str	r3, [fp, #-360]
	sub	r4, fp, #364
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-132]
	str	r4, [fp, #-128]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1720
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #24]
	sub	r3, r3, #1
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	and	ip, r0, r2
	str	ip, [fp, #-356]
	and	r3, r1, r3
	str	r3, [fp, #-352]
	sub	r4, fp, #356
	ldmia	r4, {r3-r4}
	orrs	r3, r3, r4
	beq	.L1720
	ldr	r3, .L1762+12
	ldr	r2, .L1762+16
	ldr	r1, .L1762+20
	ldr	r0, .L1762+24
	bl	__assert_fail
.L1720:
	ldr	r3, [fp, #-336]
	ldr	r4, [r3, #48]
	ldr	r3, [fp, #-336]
	ldr	r1, [r3, #52]
	mov	r3, #30
	str	r3, [sp, #4]
	ldr	r3, [fp, #-324]
	str	r3, [sp]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	mov	r0, r1
	blx	r4
	mov	r3, r0
	cmp	r3, #30
	beq	.L1721
	mov	r3, #0
	b	.L1758
.L1721:
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	adds	r1, r2, #30
	str	r1, [fp, #-372]
	adc	r3, r3, #0
	str	r3, [fp, #-368]
	sub	r4, fp, #372
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-132]
	str	r4, [fp, #-128]
	ldr	r3, [fp, #-324]
	add	r3, r3, #26
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-324]
	add	r3, r3, #26
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-324]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-324]
	add	r3, r3, #28
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-320]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #21
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r2, r2, r3
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	mov	r2, r3
	mov	r3, #0
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-336]
	ldr	r4, [r3, #28]
	ldr	r3, [fp, #-336]
	ldr	r0, [r3, #40]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #15
	bls	.L1722
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #65536
	bhi	.L1723
	ldr	r3, [fp, #-148]
	b	.L1725
.L1723:
	mov	r3, #65536
	b	.L1725
.L1722:
	mov	r3, #16
.L1725:
	mov	r2, r3
	mov	r1, #1
	blx	r4
	str	r0, [fp, #-308]
	ldr	r3, [fp, #-308]
	cmp	r3, #0
	bne	.L1727
	mov	r3, #0
	b	.L1758
.L1732:
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #65536
	bhi	.L1728
	ldr	r3, [fp, #-148]
	b	.L1729
.L1728:
	mov	r3, #65536
.L1729:
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-340]
	ldr	r4, [r3, #44]
	ldr	r3, [fp, #-340]
	ldr	r1, [r3, #52]
	ldr	r3, [fp, #-328]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-308]
	str	r3, [sp]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	mov	r0, r1
	blx	r4
	mov	r2, r0
	ldr	r3, [fp, #-328]
	cmp	r2, r3
	beq	.L1730
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-336]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-308]
	mov	r0, r2
	blx	r3
	mov	r3, #0
	b	.L1758
.L1730:
	ldr	r3, [fp, #-328]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-380]
	adc	r3, r1, r3
	str	r3, [fp, #-376]
	sub	r4, fp, #380
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-140]
	str	r4, [fp, #-136]
	ldr	r3, [fp, #-336]
	ldr	r4, [r3, #48]
	ldr	r3, [fp, #-336]
	ldr	r1, [r3, #52]
	ldr	r3, [fp, #-328]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-308]
	str	r3, [sp]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	mov	r0, r1
	blx	r4
	mov	r2, r0
	ldr	r3, [fp, #-328]
	cmp	r2, r3
	beq	.L1731
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-336]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-308]
	mov	r0, r2
	blx	r3
	mov	r3, #0
	b	.L1758
.L1731:
	ldr	r3, [fp, #-328]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-388]
	adc	r3, r1, r3
	str	r3, [fp, #-384]
	sub	r4, fp, #388
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-132]
	str	r4, [fp, #-128]
	ldr	r3, [fp, #-328]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	subs	ip, r0, r2
	str	ip, [fp, #-396]
	sbc	r3, r1, r3
	str	r3, [fp, #-392]
	sub	r4, fp, #396
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-148]
	str	r4, [fp, #-144]
.L1727:
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L1732
	ldr	r3, [fp, #-324]
	add	r3, r3, #6
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-324]
	add	r3, r3, #6
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-304]
	ldr	r3, [fp, #-304]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L1733
	ldr	r3, [fp, #-340]
	ldr	r1, [r3, #44]
	ldr	r3, [fp, #-340]
	ldr	r0, [r3, #52]
	mov	r3, #16
	str	r3, [sp, #4]
	ldr	r3, [fp, #-308]
	str	r3, [sp]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	blx	r1
	mov	r3, r0
	cmp	r3, #16
	beq	.L1734
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-336]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-308]
	mov	r0, r2
	blx	r3
	mov	r3, #0
	b	.L1758
.L1734:
	ldr	r3, [fp, #-308]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-308]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-308]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-308]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	orr	r3, r2, r3
	ldr	r2, .L1762+28
	cmp	r3, r2
	bne	.L1735
	mov	r3, #16
	b	.L1736
.L1735:
	mov	r3, #12
.L1736:
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-336]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-336]
	ldr	r0, [r3, #52]
	ldr	r3, [fp, #-328]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-308]
	str	r3, [sp]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	blx	r1
	mov	r2, r0
	ldr	r3, [fp, #-328]
	cmp	r2, r3
	beq	.L1737
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-336]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-308]
	mov	r0, r2
	blx	r3
	mov	r3, #0
	b	.L1758
.L1737:
	ldr	r3, [fp, #-328]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-404]
	adc	r3, r1, r3
	str	r3, [fp, #-400]
	sub	r4, fp, #404
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-140]
	str	r4, [fp, #-136]
	ldr	r3, [fp, #-328]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	adds	ip, r0, r2
	str	ip, [fp, #-412]
	adc	r3, r1, r3
	str	r3, [fp, #-408]
	sub	r4, fp, #412
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-132]
	str	r4, [fp, #-128]
.L1733:
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-336]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-308]
	mov	r0, r2
	blx	r3
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mov	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bls	.L1738
	mov	r3, #0
	b	.L1758
.L1738:
	ldr	r3, [fp, #-316]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-300]
	ldr	r2, [fp, #-320]
	sub	r3, fp, #80
	mov	r1, r2
	mov	r2, #46
	mov	r0, r3
	bl	memcpy
	sub	r3, fp, #80
	add	r3, r3, #42
	ldr	r2, [fp, #-124]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le32
	ldr	r3, [fp, #-316]
	ldr	r2, [fp, #-336]
	str	r2, [fp, #-288]
	str	r3, [fp, #-284]
	sub	r3, fp, #80
	str	r3, [fp, #-280]
	mov	r3, #46
	str	r3, [fp, #-276]
	ldr	r3, [fp, #-284]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-272]
	ldr	r2, [fp, #-276]
	ldr	r3, [fp, #-272]
	add	r3, r2, r3
	ldr	r2, [fp, #-288]
	str	r2, [fp, #-268]
	ldr	r2, [fp, #-284]
	str	r2, [fp, #-264]
	str	r3, [fp, #-260]
	mov	r3, #1
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-264]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-260]
	cmp	r2, r3
	bls	.L1739
	ldr	r3, [fp, #-256]
	ldr	r2, [fp, #-260]
	ldr	r1, [fp, #-264]
	ldr	r0, [fp, #-268]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1739
	mov	r3, #0
	b	.L1740
.L1739:
	ldr	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	str	r2, [r3, #4]
	mov	r3, #1
.L1740:
	cmp	r3, #0
	bne	.L1741
	mov	r3, #0
	b	.L1742
.L1741:
	ldr	r3, [fp, #-284]
	ldr	r2, [r3]
	ldr	r3, [fp, #-284]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-272]
	mul	r3, r1, r3
	add	r0, r2, r3
	ldr	r3, [fp, #-284]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-276]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-280]
	bl	memcpy
	mov	r3, #1
.L1742:
	cmp	r3, #0
	bne	.L1743
	mov	r3, #0
	b	.L1758
.L1743:
	ldr	r3, [fp, #-320]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #29
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #30
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #31
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, #33
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-328]
	ldr	r1, [fp, #-316]
	ldr	r3, [fp, #-320]
	add	r2, r3, #46
	ldr	r3, [fp, #-328]
	ldr	r0, [fp, #-336]
	str	r0, [fp, #-252]
	str	r1, [fp, #-248]
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-248]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-236]
	ldr	r2, [fp, #-240]
	ldr	r3, [fp, #-236]
	add	r3, r2, r3
	ldr	r2, [fp, #-252]
	str	r2, [fp, #-232]
	ldr	r2, [fp, #-248]
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	mov	r3, #1
	str	r3, [fp, #-220]
	ldr	r3, [fp, #-228]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-224]
	cmp	r2, r3
	bls	.L1744
	ldr	r3, [fp, #-220]
	ldr	r2, [fp, #-224]
	ldr	r1, [fp, #-228]
	ldr	r0, [fp, #-232]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1744
	mov	r3, #0
	b	.L1745
.L1744:
	ldr	r3, [fp, #-228]
	ldr	r2, [fp, #-224]
	str	r2, [r3, #4]
	mov	r3, #1
.L1745:
	cmp	r3, #0
	bne	.L1746
	mov	r3, #0
	b	.L1747
.L1746:
	ldr	r3, [fp, #-248]
	ldr	r2, [r3]
	ldr	r3, [fp, #-248]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-236]
	mul	r3, r1, r3
	add	r0, r2, r3
	ldr	r3, [fp, #-248]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-240]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-244]
	bl	memcpy
	mov	r3, #1
.L1747:
	cmp	r3, #0
	bne	.L1748
	ldr	r3, [fp, #-316]
	ldr	r2, [fp, #-336]
	str	r2, [fp, #-216]
	str	r3, [fp, #-212]
	ldr	r3, [fp, #-300]
	str	r3, [fp, #-208]
	mov	r3, #0
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-212]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-208]
	cmp	r2, r3
	bls	.L1749
	ldr	r3, [fp, #-204]
	ldr	r2, [fp, #-208]
	ldr	r1, [fp, #-212]
	ldr	r0, [fp, #-216]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	beq	.L1760
.L1749:
	ldr	r3, [fp, #-212]
	ldr	r2, [fp, #-208]
	str	r2, [r3, #4]
	b	.L1750
.L1760:
	nop
.L1750:
	mov	r3, #0
	b	.L1758
.L1748:
	ldr	r3, [fp, #-300]
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-316]
	add	r3, r3, #16
	ldr	r2, [fp, #-336]
	str	r2, [fp, #-200]
	str	r3, [fp, #-196]
	sub	r3, fp, #328
	str	r3, [fp, #-192]
	mov	r3, #1
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-188]
	ldr	r3, [fp, #-184]
	add	r3, r2, r3
	ldr	r2, [fp, #-200]
	str	r2, [fp, #-180]
	ldr	r2, [fp, #-196]
	str	r2, [fp, #-176]
	str	r3, [fp, #-172]
	mov	r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-172]
	cmp	r2, r3
	bls	.L1751
	ldr	r3, [fp, #-168]
	ldr	r2, [fp, #-172]
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-180]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	bne	.L1751
	mov	r3, #0
	b	.L1752
.L1751:
	ldr	r3, [fp, #-176]
	ldr	r2, [fp, #-172]
	str	r2, [r3, #4]
	mov	r3, #1
.L1752:
	cmp	r3, #0
	bne	.L1753
	mov	r3, #0
	b	.L1754
.L1753:
	ldr	r3, [fp, #-196]
	ldr	r2, [r3]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-184]
	mul	r3, r1, r3
	add	r0, r2, r3
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-188]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-192]
	bl	memcpy
	mov	r3, #1
.L1754:
	cmp	r3, #0
	bne	.L1755
	ldr	r3, [fp, #-316]
	ldr	r2, [fp, #-336]
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-300]
	str	r3, [fp, #-156]
	mov	r3, #0
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-156]
	cmp	r2, r3
	bls	.L1756
	ldr	r3, [fp, #-152]
	ldr	r2, [fp, #-156]
	ldr	r1, [fp, #-160]
	ldr	r0, [fp, #-164]
	bl	mz_zip_array_ensure_capacity
	mov	r3, r0
	cmp	r3, #0
	beq	.L1761
.L1756:
	ldr	r3, [fp, #-160]
	ldr	r2, [fp, #-156]
	str	r2, [r3, #4]
	b	.L1757
.L1761:
	nop
.L1757:
	mov	r3, #0
	b	.L1758
.L1755:
	ldr	r3, [fp, #-336]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-336]
	str	r2, [r3, #16]
	ldr	r1, [fp, #-336]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	mov	r3, #1
.L1758:
	ldr	r2, .L1762
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1759
	bl	__stack_chk_fail
.L1759:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L1763:
	.align	2
.L1762:
	.word	.LC49
	.word	65535
	.word	67324752
	.word	__PRETTY_FUNCTION__.7880
	.word	4626
	.word	.LC14
	.word	.LC46
	.word	134695760
	.size	mz_zip_writer_add_from_zip_reader, .-mz_zip_writer_add_from_zip_reader
	.section	.rodata
	.align	2
.LC50:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_zip_writer_finalize_archive
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_finalize_archive, %function
mz_zip_writer_finalize_archive:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #80
	str	r0, [fp, #-88]
	ldr	r1, .L1776
	ldr	r1, [r1]
	str	r1, [fp, #-32]
	mov	r1,#0
	ldr	r1, [fp, #-88]
	cmp	r1, #0
	beq	.L1765
	ldr	r1, [fp, #-88]
	ldr	r1, [r1, #56]
	cmp	r1, #0
	beq	.L1765
	ldr	r1, [fp, #-88]
	ldr	r1, [r1, #20]
	cmp	r1, #2
	beq	.L1766
.L1765:
	mov	r3, #0
	b	.L1774
.L1766:
	ldr	r1, [fp, #-88]
	ldr	r1, [r1, #56]
	str	r1, [fp, #-80]
	ldr	r1, [fp, #-88]
	ldr	r1, [r1, #16]
	cmp	r1, #65536
	bcs	.L1768
	ldr	r1, [fp, #-88]
	ldmia	r1, {r4-r5}
	ldr	r1, [fp, #-80]
	ldr	r1, [r1, #4]
	mov	r0, r1
	mov	r1, #0
	adds	r2, r4, r0
	adc	r3, r5, r1
	adds	r1, r2, #22
	str	r1, [fp, #-100]
	adc	r3, r3, #0
	str	r3, [fp, #-96]
	mvn	r2, #0
	mov	r3, #0
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L1769
.L1768:
	mov	r3, #0
	b	.L1774
.L1769:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1770
	ldr	r3, [fp, #-88]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #4]
	mov	r2, r3
	mov	r3, #0
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r1, [fp, #-88]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-88]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	r0, [r3, #52]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	ldr	r2, [fp, #-68]
	str	r2, [sp, #4]
	str	r3, [sp]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	blx	r1
	mov	r3, r0
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	beq	.L1771
	mov	r3, #0
	b	.L1774
.L1771:
	ldr	r3, [fp, #-88]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	adds	r8, r0, r2
	adc	r9, r1, r3
	ldr	r3, [fp, #-88]
	stm	r3, {r8-r9}
.L1770:
	sub	r3, fp, #56
	mov	r2, #22
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #56
	ldr	r1, .L1776+4
	mov	r0, r3
	bl	mz_write_le32
	sub	r3, fp, #56
	add	r3, r3, #8
	ldr	r2, [fp, #-88]
	ldr	r2, [r2, #16]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	sub	r3, fp, #56
	add	r3, r3, #10
	ldr	r2, [fp, #-88]
	ldr	r2, [r2, #16]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le16
	sub	r3, fp, #56
	add	r3, r3, #12
	ldr	r2, [fp, #-68]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le32
	sub	r3, fp, #56
	add	r3, r3, #16
	ldr	r2, [fp, #-76]
	mov	r1, r2
	mov	r0, r3
	bl	mz_write_le32
	ldr	r3, [fp, #-88]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-88]
	ldr	ip, [r3, #52]
	ldr	r3, [fp, #-88]
	ldmia	r3, {r2-r3}
	mov	r0, #22
	str	r0, [sp, #4]
	sub	r0, fp, #56
	str	r0, [sp]
	mov	r0, ip
	blx	r1
	mov	r3, r0
	cmp	r3, #22
	beq	.L1772
	mov	r3, #0
	b	.L1774
.L1772:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L1773
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	fflush
	mov	r3, r0
	cmn	r3, #1
	bne	.L1773
	mov	r3, #0
	b	.L1774
.L1773:
	ldr	r3, [fp, #-88]
	ldmia	r3, {r2-r3}
	adds	r6, r2, #22
	adc	r7, r3, #0
	ldr	r3, [fp, #-88]
	stm	r3, {r6-r7}
	ldr	r3, [fp, #-88]
	mov	r2, #3
	str	r2, [r3, #20]
	mov	r3, #1
.L1774:
	ldr	r2, .L1776
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1775
	bl	__stack_chk_fail
.L1775:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L1777:
	.align	2
.L1776:
	.word	.LC50
	.word	101010256
	.size	mz_zip_writer_finalize_archive, .-mz_zip_writer_finalize_archive
	.align	2
	.global	mz_zip_writer_finalize_heap_archive
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_finalize_heap_archive, %function
mz_zip_writer_finalize_heap_archive:
	@ 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]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1779
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1779
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1779
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1780
.L1779:
	mov	r3, #0
	b	.L1781
.L1780:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #48]
	ldr	r2, .L1784
	cmp	r3, r2
	beq	.L1782
	mov	r3, #0
	b	.L1781
.L1782:
	ldr	r0, [fp, #-8]
	bl	mz_zip_writer_finalize_archive
	mov	r3, r0
	cmp	r3, #0
	bne	.L1783
	mov	r3, #0
	b	.L1781
.L1783:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	mov	r2, #0
	str	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	mov	r2, #0
	str	r2, [r3, #60]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #56]
	ldr	r3, [r3, #60]
	str	r3, [r2, #56]
	mov	r3, #1
.L1781:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1785:
	.align	2
.L1784:
	.word	mz_zip_heap_write_func
	.size	mz_zip_writer_finalize_heap_archive, .-mz_zip_writer_finalize_heap_archive
	.align	2
	.global	mz_zip_writer_end
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_writer_end, %function
mz_zip_writer_end:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L1787
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1787
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L1787
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L1787
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #20]
	cmp	r3, #2
	beq	.L1788
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #20]
	cmp	r3, #3
	beq	.L1788
.L1787:
	mov	r3, #0
	b	.L1789
.L1788:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3, #56]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-12]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2]
	mov	r1, r2
	blx	r3
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	nop
	ldr	r3, [fp, #-32]
	add	r3, r3, #16
	ldr	r2, [fp, #-40]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-20]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2]
	mov	r1, r2
	blx	r3
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	memset
	nop
	ldr	r3, [fp, #-32]
	add	r3, r3, #32
	ldr	r2, [fp, #-40]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-28]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2]
	mov	r1, r2
	blx	r3
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	memset
	nop
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L1790
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	fclose
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #48]
.L1790:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #48]
	ldr	r2, .L1792
	cmp	r3, r2
	bne	.L1791
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L1791
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-40]
	ldr	r0, [r2, #40]
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #52]
	mov	r1, r2
	blx	r3
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #52]
.L1791:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-40]
	ldr	r2, [r2, #40]
	ldr	r1, [fp, #-32]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-36]
.L1789:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1793:
	.align	2
.L1792:
	.word	mz_zip_heap_write_func
	.size	mz_zip_writer_end, .-mz_zip_writer_end
	.section	.rodata
	.align	2
.LC51:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_zip_add_mem_to_archive_file_in_place
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_add_mem_to_archive_file_in_place, %function
mz_zip_add_mem_to_archive_file_in_place:
	@ args = 12, pretend = 0, frame = 200
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #232
	str	r0, [fp, #-184]
	str	r1, [fp, #-188]
	str	r2, [fp, #-192]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-200]
	ldr	r3, .L1811
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-172]
	sub	r3, fp, #164
	mov	r2, #64
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #12]
	cmp	r3, #0
	bge	.L1795
	mov	r3, #6
	str	r3, [fp, #12]
.L1795:
	ldr	r3, [fp, #-184]
	cmp	r3, #0
	beq	.L1796
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	beq	.L1796
	ldr	r3, [fp, #-196]
	cmp	r3, #0
	beq	.L1797
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	beq	.L1796
.L1797:
	ldrh	r3, [fp, #8]
	cmp	r3, #0
	beq	.L1798
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	beq	.L1796
.L1798:
	ldr	r3, [fp, #12]
	and	r3, r3, #15
	cmp	r3, #10
	bls	.L1799
.L1796:
	mov	r3, #0
	b	.L1809
.L1799:
	ldr	r0, [fp, #-188]
	bl	mz_zip_writer_validate_archive_name
	mov	r3, r0
	cmp	r3, #0
	bne	.L1801
	mov	r3, #0
	b	.L1809
.L1801:
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-184]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	beq	.L1802
	sub	r0, fp, #164
	mov	r2, #0
	mov	r3, #0
	ldr	r1, [fp, #-184]
	bl	mz_zip_writer_init_file
	mov	r3, r0
	cmp	r3, #0
	bne	.L1803
	mov	r3, #0
	b	.L1809
.L1803:
	mov	r3, #1
	str	r3, [fp, #-172]
	b	.L1804
.L1802:
	ldr	r3, [fp, #12]
	orr	r2, r3, #2048
	sub	r3, fp, #164
	ldr	r1, [fp, #-184]
	mov	r0, r3
	bl	mz_zip_reader_init_file
	mov	r3, r0
	cmp	r3, #0
	bne	.L1805
	mov	r3, #0
	b	.L1809
.L1805:
	sub	r3, fp, #164
	ldr	r1, [fp, #-184]
	mov	r0, r3
	bl	mz_zip_writer_init_from_reader
	mov	r3, r0
	cmp	r3, #0
	bne	.L1804
	sub	r3, fp, #164
	mov	r0, r3
	bl	mz_zip_reader_end
	mov	r3, #0
	b	.L1809
.L1804:
	sub	r0, fp, #164
	mov	r3, #0
	str	r3, [sp, #24]
	mov	r2, #0
	mov	r3, #0
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #12]
	str	r3, [sp, #8]
	ldrh	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-200]
	str	r3, [sp]
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-192]
	ldr	r1, [fp, #-188]
	bl	mz_zip_writer_add_mem_ex
	str	r0, [fp, #-176]
	sub	r3, fp, #164
	mov	r0, r3
	bl	mz_zip_writer_finalize_archive
	mov	r3, r0
	cmp	r3, #0
	bne	.L1806
	mov	r3, #0
	str	r3, [fp, #-176]
.L1806:
	sub	r3, fp, #164
	mov	r0, r3
	bl	mz_zip_writer_end
	mov	r3, r0
	cmp	r3, #0
	bne	.L1807
	mov	r3, #0
	str	r3, [fp, #-176]
.L1807:
	ldr	r3, [fp, #-176]
	cmp	r3, #0
	bne	.L1808
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L1808
	ldr	r0, [fp, #-184]
	bl	remove
	str	r0, [fp, #-168]
.L1808:
	ldr	r3, [fp, #-176]
.L1809:
	ldr	r2, .L1811
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1810
	bl	__stack_chk_fail
.L1810:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1812:
	.align	2
.L1811:
	.word	.LC51
	.size	mz_zip_add_mem_to_archive_file_in_place, .-mz_zip_add_mem_to_archive_file_in_place
	.section	.rodata
	.align	2
.LC52:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mz_zip_extract_archive_file_to_heap
	.syntax unified
	.arm
	.fpu softvfp
	.type	mz_zip_extract_archive_file_to_heap, %function
mz_zip_extract_archive_file_to_heap:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	str	r3, [fp, #-100]
	ldr	r3, .L1822
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	beq	.L1814
	ldr	r3, [fp, #-96]
	mov	r2, #0
	str	r2, [r3]
.L1814:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L1815
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L1816
.L1815:
	mov	r3, #0
	b	.L1820
.L1816:
	sub	r3, fp, #76
	mov	r2, #64
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-100]
	orr	r2, r3, #2048
	sub	r3, fp, #76
	ldr	r1, [fp, #-88]
	mov	r0, r3
	bl	mz_zip_reader_init_file
	mov	r3, r0
	cmp	r3, #0
	bne	.L1818
	mov	r3, #0
	b	.L1820
.L1818:
	sub	r0, fp, #76
	ldr	r3, [fp, #-100]
	mov	r2, #0
	ldr	r1, [fp, #-92]
	bl	mz_zip_reader_locate_file
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	blt	.L1819
	ldr	r1, [fp, #-80]
	sub	r0, fp, #76
	ldr	r3, [fp, #-100]
	ldr	r2, [fp, #-96]
	bl	mz_zip_reader_extract_to_heap
	str	r0, [fp, #-84]
.L1819:
	sub	r3, fp, #76
	mov	r0, r3
	bl	mz_zip_reader_end
	ldr	r3, [fp, #-84]
.L1820:
	ldr	r2, .L1822
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1821
	bl	__stack_chk_fail
.L1821:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1823:
	.align	2
.L1822:
	.word	.LC52
	.size	mz_zip_extract_archive_file_to_heap, .-mz_zip_extract_archive_file_to_heap
	.section	.rodata
	.align	2
	.type	s_crc32.5692, %object
	.size	s_crc32.5692, 64
s_crc32.5692:
	.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
.LC53:
	.ascii	"\000"
	.align	2
.LC54:
	.ascii	"stream end\000"
	.align	2
.LC55:
	.ascii	"need dictionary\000"
	.align	2
.LC56:
	.ascii	"file error\000"
	.align	2
.LC57:
	.ascii	"stream error\000"
	.align	2
.LC58:
	.ascii	"data error\000"
	.align	2
.LC59:
	.ascii	"out of memory\000"
	.align	2
.LC60:
	.ascii	"buf error\000"
	.align	2
.LC61:
	.ascii	"version error\000"
	.align	2
.LC62:
	.ascii	"parameter error\000"
	.data
	.align	2
	.type	s_error_descs.5822, %object
	.size	s_error_descs.5822, 80
s_error_descs.5822:
	.word	0
	.word	.LC53
	.word	1
	.word	.LC54
	.word	2
	.word	.LC55
	.word	-1
	.word	.LC56
	.word	-2
	.word	.LC57
	.word	-3
	.word	.LC58
	.word	-4
	.word	.LC59
	.word	-5
	.word	.LC60
	.word	-6
	.word	.LC61
	.word	-10000
	.word	.LC62
	.section	.rodata
	.align	2
	.type	s_min_table_sizes.5841, %object
	.size	s_min_table_sizes.5841, 12
s_min_table_sizes.5841:
	.word	257
	.word	1
	.word	4
	.align	2
	.type	s_length_dezigzag.5840, %object
	.size	s_length_dezigzag.5840, 19
s_length_dezigzag.5840:
	.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.5837, %object
	.size	s_length_extra.5837, 124
s_length_extra.5837:
	.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.5836, %object
	.size	s_length_base.5836, 124
s_length_base.5836:
	.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.5839, %object
	.size	s_dist_extra.5839, 128
s_dist_extra.5839:
	.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.5838, %object
	.size	s_dist_base.5838, 128
s_dist_base.5838:
	.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__.6345, %object
	.size	__PRETTY_FUNCTION__.6345, 26
__PRETTY_FUNCTION__.6345:
	.ascii	"tdefl_start_dynamic_block\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6408, %object
	.size	__PRETTY_FUNCTION__.6408, 25
__PRETTY_FUNCTION__.6408:
	.ascii	"tdefl_start_static_block\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6422, %object
	.size	__PRETTY_FUNCTION__.6422, 24
__PRETTY_FUNCTION__.6422:
	.ascii	"tdefl_compress_lz_codes\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6472, %object
	.size	__PRETTY_FUNCTION__.6472, 18
__PRETTY_FUNCTION__.6472:
	.ascii	"tdefl_flush_block\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6622, %object
	.size	__PRETTY_FUNCTION__.6622, 22
__PRETTY_FUNCTION__.6622:
	.ascii	"tdefl_compress_normal\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6571, %object
	.size	__PRETTY_FUNCTION__.6571, 17
__PRETTY_FUNCTION__.6571:
	.ascii	"tdefl_find_match\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6590, %object
	.size	__PRETTY_FUNCTION__.6590, 19
__PRETTY_FUNCTION__.6590:
	.ascii	"tdefl_record_match\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6644, %object
	.size	__PRETTY_FUNCTION__.6644, 22
__PRETTY_FUNCTION__.6644:
	.ascii	"tdefl_compress_buffer\000"
	.align	2
	.type	s_tdefl_png_num_probes.6714, %object
	.size	s_tdefl_png_num_probes.6714, 44
s_tdefl_png_num_probes.6714:
	.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.6728, %object
	.size	chans.6728, 5
chans.6728:
	.ascii	"\000\000\004\002\006"
	.align	2
	.type	__PRETTY_FUNCTION__.7261, %object
	.size	__PRETTY_FUNCTION__.7261, 29
__PRETTY_FUNCTION__.7261:
	.ascii	"mz_zip_array_ensure_capacity\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7823, %object
	.size	__PRETTY_FUNCTION__.7823, 25
__PRETTY_FUNCTION__.7823:
	.ascii	"mz_zip_writer_add_mem_ex\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7847, %object
	.size	__PRETTY_FUNCTION__.7847, 23
__PRETTY_FUNCTION__.7847:
	.ascii	"mz_zip_writer_add_file\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7880, %object
	.size	__PRETTY_FUNCTION__.7880, 34
__PRETTY_FUNCTION__.7880:
	.ascii	"mz_zip_writer_add_from_zip_reader\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
