	.file	"152086.c"
	.intel_syntax noprefix
	.text
	.local	serviceFn
	.comm	serviceFn,8,8
	.globl	my_strcat
	.type	my_strcat, @function
my_strcat:
.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L2
.L3:
	add	QWORD PTR -24[rbp], 1
.L2:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L3
	jmp	.L4
.L5:
	mov	rdx, QWORD PTR -32[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -24[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
.L4:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L5
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	my_strcat, .-my_strcat
	.type	vex_log_bytes, @function
vex_log_bytes:
.LFB7:
	.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
	mov	DWORD PTR -4[rbp], 0
	jmp	.L8
.L9:
	mov	rdx, QWORD PTR serviceFn[rip]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	mov	rsi, rax
	mov	edi, 1
	call	rdx
	add	DWORD PTR -4[rbp], 1
.L8:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L9
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	vex_log_bytes, .-vex_log_bytes
	.type	vex_toupper, @function
vex_toupper:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 96
	jle	.L11
	cmp	BYTE PTR -4[rbp], 122
	jg	.L11
	movzx	eax, BYTE PTR -4[rbp]
	sub	eax, 32
	jmp	.L12
.L11:
	movzx	eax, BYTE PTR -4[rbp]
.L12:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	vex_toupper, .-vex_toupper
	.type	vex_strlen, @function
vex_strlen:
.LFB9:
	.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 -4[rbp], 0
	jmp	.L14
.L15:
	add	DWORD PTR -4[rbp], 1
.L14:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L15
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	vex_strlen, .-vex_strlen
	.globl	vex_streq
	.type	vex_streq, @function
vex_streq:
.LFB10:
	.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
.L21:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L18
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L18
	mov	eax, 1
	jmp	.L19
.L18:
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L20
	mov	eax, 0
	jmp	.L19
.L20:
	add	QWORD PTR -8[rbp], 1
	add	QWORD PTR -16[rbp], 1
	jmp	.L21
.L19:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	vex_streq, .-vex_streq
	.type	myvprintf_str, @function
myvprintf_str:
.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, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	QWORD PTR -40[rbp], rcx
	mov	eax, r8d
	mov	BYTE PTR -44[rbp], al
	mov	DWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	vex_strlen
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	jne	.L23
	mov	eax, DWORD PTR -8[rbp]
	add	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L24
.L27:
	cmp	BYTE PTR -44[rbp], 0
	je	.L25
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	vex_toupper
	movsx	eax, al
	jmp	.L26
.L25:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
.L26:
	mov	rdx, QWORD PTR -24[rbp]
	mov	edi, eax
	call	rdx
	add	DWORD PTR -12[rbp], 1
.L24:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L27
	mov	eax, DWORD PTR -16[rbp]
	jmp	.L28
.L23:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jle	.L29
	mov	eax, DWORD PTR -32[rbp]
	add	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L30
.L33:
	cmp	BYTE PTR -44[rbp], 0
	je	.L31
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	vex_toupper
	movsx	eax, al
	jmp	.L32
.L31:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
.L32:
	mov	rdx, QWORD PTR -24[rbp]
	mov	edi, eax
	call	rdx
	add	DWORD PTR -12[rbp], 1
.L30:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jl	.L33
	mov	eax, DWORD PTR -16[rbp]
	jmp	.L28
.L29:
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 4
	test	eax, eax
	je	.L34
	mov	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L35
.L36:
	mov	rax, QWORD PTR -24[rbp]
	mov	edi, 32
	call	rax
	add	DWORD PTR -12[rbp], 1
.L35:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L36
.L34:
	mov	eax, DWORD PTR -8[rbp]
	add	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L37
.L40:
	cmp	BYTE PTR -44[rbp], 0
	je	.L38
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	vex_toupper
	movsx	eax, al
	jmp	.L39
.L38:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
.L39:
	mov	rdx, QWORD PTR -24[rbp]
	mov	edi, eax
	call	rdx
	add	DWORD PTR -12[rbp], 1
.L37:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L40
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 4
	test	eax, eax
	jne	.L41
	mov	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L42
.L43:
	mov	rax, QWORD PTR -24[rbp]
	mov	edi, 32
	call	rax
	add	DWORD PTR -12[rbp], 1
.L42:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L43
.L41:
	mov	eax, DWORD PTR -16[rbp]
.L28:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	myvprintf_str, .-myvprintf_str
	.section	.rodata
.LC0:
	.string	"0123456789ABCDEF"
	.text
	.type	myvprintf_int64, @function
myvprintf_int64:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	DWORD PTR -92[rbp], esi
	mov	DWORD PTR -96[rbp], edx
	mov	DWORD PTR -100[rbp], ecx
	mov	QWORD PTR -112[rbp], r8
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	BYTE PTR -77[rbp], 0
	lea	rax, .LC0[rip]
	mov	QWORD PTR -56[rbp], rax
	mov	DWORD PTR -64[rbp], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -96[rbp], 1
	jle	.L45
	cmp	DWORD PTR -96[rbp], 16
	jle	.L46
.L45:
	mov	eax, DWORD PTR -64[rbp]
	jmp	.L65
.L46:
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 1
	test	eax, eax
	je	.L48
	mov	eax, DWORD PTR -60[rbp]
	test	eax, eax
	jns	.L48
	mov	eax, DWORD PTR -60[rbp]
	neg	eax
	mov	DWORD PTR -60[rbp], eax
	mov	BYTE PTR -77[rbp], 1
.L48:
	cmp	DWORD PTR -60[rbp], 0
	jne	.L51
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	cdqe
	mov	BYTE PTR -48[rbp+rax], 48
	jmp	.L50
.L53:
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 16
	test	eax, eax
	je	.L52
	cmp	DWORD PTR -96[rbp], 10
	jne	.L52
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, DWORD PTR -68[rbp]
	mov	edx, eax
	movsx	rax, edx
	imul	rax, rax, 1431655766
	shr	rax, 32
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	add	ecx, ecx
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L52
	cmp	DWORD PTR -76[rbp], 0
	je	.L52
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	cdqe
	mov	BYTE PTR -48[rbp+rax], 44
	add	DWORD PTR -68[rbp], 1
.L52:
	mov	ecx, DWORD PTR -96[rbp]
	mov	eax, DWORD PTR -60[rbp]
	mov	edx, 0
	div	ecx
	mov	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	movzx	edx, BYTE PTR [rcx]
	cdqe
	mov	BYTE PTR -48[rbp+rax], dl
	mov	esi, DWORD PTR -96[rbp]
	mov	eax, DWORD PTR -60[rbp]
	mov	edx, 0
	div	esi
	mov	DWORD PTR -60[rbp], eax
.L51:
	cmp	DWORD PTR -60[rbp], 0
	jne	.L53
.L50:
	cmp	BYTE PTR -77[rbp], 0
	je	.L54
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	cdqe
	mov	BYTE PTR -48[rbp+rax], 45
.L54:
	cmp	DWORD PTR -100[rbp], 0
	jle	.L55
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 4
	test	eax, eax
	jne	.L55
	jmp	.L56
.L59:
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 2
	test	eax, eax
	je	.L57
	mov	edx, 48
	jmp	.L58
.L57:
	mov	edx, 32
.L58:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	mov	BYTE PTR -48[rbp+rax], dl
	add	DWORD PTR -76[rbp], 1
.L56:
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jl	.L59
.L55:
	mov	eax, DWORD PTR -76[rbp]
	add	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, 1
	mov	DWORD PTR -72[rbp], eax
	jmp	.L60
.L61:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	movzx	eax, BYTE PTR -48[rbp+rax]
	movsx	eax, al
	mov	rdx, QWORD PTR -88[rbp]
	mov	edi, eax
	call	rdx
	sub	DWORD PTR -72[rbp], 1
.L60:
	cmp	DWORD PTR -72[rbp], 0
	jns	.L61
	cmp	DWORD PTR -100[rbp], 0
	jle	.L62
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 4
	test	eax, eax
	je	.L62
	jmp	.L63
.L64:
	add	DWORD PTR -64[rbp], 1
	mov	rax, QWORD PTR -88[rbp]
	mov	edi, 32
	call	rax
	add	DWORD PTR -76[rbp], 1
.L63:
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jl	.L64
.L62:
	mov	eax, DWORD PTR -64[rbp]
.L65:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L66
	call	__stack_chk_fail@PLT
.L66:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	myvprintf_int64, .-myvprintf_int64
	.section	.rodata
.LC1:
	.string	"(null)"
	.text
	.type	vprintf_wrk, @function
vprintf_wrk:
.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, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	jmp	.L68
.L116:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	je	.L69
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	rdx, QWORD PTR -40[rbp]
	mov	edi, eax
	call	rdx
	add	DWORD PTR -24[rbp], 1
	jmp	.L70
.L69:
	add	DWORD PTR -20[rbp], 1
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L118
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L73
	mov	rax, QWORD PTR -40[rbp]
	mov	edi, 37
	call	rax
	add	DWORD PTR -24[rbp], 1
	jmp	.L70
.L73:
	mov	DWORD PTR -16[rbp], 0
	mov	BYTE PTR -25[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	jne	.L74
	or	DWORD PTR -16[rbp], 8
	add	DWORD PTR -20[rbp], 1
.L74:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 44
	jne	.L75
	or	DWORD PTR -16[rbp], 16
	add	DWORD PTR -20[rbp], 1
.L75:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L76
	or	DWORD PTR -16[rbp], 4
	add	DWORD PTR -20[rbp], 1
.L76:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 48
	jne	.L78
	or	DWORD PTR -16[rbp], 2
	add	DWORD PTR -20[rbp], 1
	jmp	.L78
.L80:
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -20[rbp], edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	add	DWORD PTR -12[rbp], eax
.L78:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L81
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L80
	jmp	.L81
.L82:
	add	DWORD PTR -20[rbp], 1
	mov	BYTE PTR -25[rbp], 1
.L81:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 108
	je	.L82
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 83
	cmp	eax, 37
	ja	.L119
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L85[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L85[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L85:
	.long	.L87-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L90-.L85
	.long	.L89-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L88-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L87-.L85
	.long	.L119-.L85
	.long	.L86-.L85
	.long	.L119-.L85
	.long	.L119-.L85
	.long	.L84-.L85
	.text
.L89:
	or	DWORD PTR -16[rbp], 1
	cmp	BYTE PTR -25[rbp], 0
	je	.L91
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L92
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L93
.L92:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L93:
	mov	rax, QWORD PTR [rax]
	mov	rcx, rax
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	edx, 10
	mov	rdi, rax
	call	myvprintf_int64
	add	DWORD PTR -24[rbp], eax
	jmp	.L70
.L91:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L95
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L96
.L95:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L96:
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	edx, 10
	mov	rdi, rax
	call	myvprintf_int64
	add	DWORD PTR -24[rbp], eax
	jmp	.L70
.L86:
	cmp	BYTE PTR -25[rbp], 0
	je	.L97
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L98
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L99
.L98:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L99:
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	edx, 10
	mov	rdi, rax
	call	myvprintf_int64
	add	DWORD PTR -24[rbp], eax
	jmp	.L70
.L97:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L101
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L102
.L101:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L102:
	mov	eax, DWORD PTR [rax]
	mov	ecx, eax
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	edx, 10
	mov	rdi, rax
	call	myvprintf_int64
	add	DWORD PTR -24[rbp], eax
	jmp	.L70
.L88:
	add	DWORD PTR -24[rbp], 2
	mov	rax, QWORD PTR -40[rbp]
	mov	edi, 48
	call	rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edi, 120
	call	rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L103
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L104
.L103:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L104:
	mov	rax, QWORD PTR [rax]
	mov	rcx, rax
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	edx, 16
	mov	rdi, rax
	call	myvprintf_int64
	add	DWORD PTR -24[rbp], eax
	jmp	.L70
.L84:
	cmp	BYTE PTR -25[rbp], 0
	je	.L105
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L106
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L107
.L106:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L107:
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	edx, 16
	mov	rdi, rax
	call	myvprintf_int64
	add	DWORD PTR -24[rbp], eax
	jmp	.L70
.L105:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L109
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L110
.L109:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L110:
	mov	eax, DWORD PTR [rax]
	mov	ecx, eax
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, rcx
	mov	ecx, edx
	mov	edx, 16
	mov	rdi, rax
	call	myvprintf_int64
	add	DWORD PTR -24[rbp], eax
	jmp	.L70
.L90:
	add	DWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L111
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L112
.L111:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L112:
	mov	eax, DWORD PTR [rax]
	movsx	eax, al
	mov	rdx, QWORD PTR -40[rbp]
	mov	edi, eax
	call	rdx
	jmp	.L70
.L87:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 47
	ja	.L113
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rdx]
	lea	ecx, 8[rdx]
	mov	rdx, QWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], ecx
	jmp	.L114
.L113:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rcx, 8[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rdx], rcx
.L114:
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L115
	lea	rax, .LC1[rip]
	mov	QWORD PTR -8[rbp], rax
.L115:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 83
	sete	al
	movzx	edi, al
	mov	rcx, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	myvprintf_str
	add	DWORD PTR -24[rbp], eax
	jmp	.L70
.L119:
	nop
.L70:
	add	DWORD PTR -20[rbp], 1
.L68:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L116
	jmp	.L72
.L118:
	nop
.L72:
	mov	eax, DWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	vprintf_wrk, .-vprintf_wrk
	.local	myprintf_buf
	.comm	myprintf_buf,70,32
	.local	n_myprintf_buf
	.comm	n_myprintf_buf,4,4
	.type	add_to_myprintf_buf, @function
add_to_myprintf_buf:
.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, 16
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 10
	je	.L121
	mov	eax, DWORD PTR n_myprintf_buf[rip]
	cmp	eax, 989
	jle	.L122
.L121:
	lea	rdi, myprintf_buf[rip]
	call	vex_strlen
	mov	esi, eax
	lea	rdi, myprintf_buf[rip]
	call	vex_log_bytes
	mov	DWORD PTR n_myprintf_buf[rip], 0
	mov	eax, DWORD PTR n_myprintf_buf[rip]
	cdqe
	lea	rdx, myprintf_buf[rip]
	mov	BYTE PTR [rax+rdx], 0
.L122:
	mov	eax, DWORD PTR n_myprintf_buf[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR n_myprintf_buf[rip], edx
	cdqe
	lea	rcx, myprintf_buf[rip]
	movzx	edx, BYTE PTR -4[rbp]
	mov	BYTE PTR [rax+rcx], dl
	mov	eax, DWORD PTR n_myprintf_buf[rip]
	cdqe
	lea	rdx, myprintf_buf[rip]
	mov	BYTE PTR [rax+rdx], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	add_to_myprintf_buf, .-add_to_myprintf_buf
	.type	vex_printf, @function
vex_printf:
.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, 240
	mov	QWORD PTR -232[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L124
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L124:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	DWORD PTR n_myprintf_buf[rip], 0
	mov	eax, DWORD PTR n_myprintf_buf[rip]
	cdqe
	lea	rdx, myprintf_buf[rip]
	mov	BYTE PTR [rax+rdx], 0
	lea	rdx, -208[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rax
	lea	rdi, add_to_myprintf_buf[rip]
	call	vprintf_wrk
	mov	DWORD PTR -212[rbp], eax
	mov	eax, DWORD PTR n_myprintf_buf[rip]
	test	eax, eax
	jle	.L125
	mov	eax, DWORD PTR n_myprintf_buf[rip]
	mov	esi, eax
	lea	rdi, myprintf_buf[rip]
	call	vex_log_bytes
.L125:
	mov	eax, DWORD PTR -212[rbp]
	mov	rcx, QWORD PTR -184[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L127
	call	__stack_chk_fail@PLT
.L127:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	vex_printf, .-vex_printf
	.type	makeMaps_d, @function
makeMaps_d:
.LFB16:
	.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	DWORD PTR 3192[rax], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L129
.L131:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movzx	eax, BYTE PTR 3196[rdx+rax]
	test	al, al
	je	.L130
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 3192[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	ecx, edx
	mov	rdx, QWORD PTR -24[rbp]
	cdqe
	mov	BYTE PTR 3468[rdx+rax], cl
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 3192[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 3192[rax], edx
.L130:
	add	DWORD PTR -4[rbp], 1
.L129:
	cmp	DWORD PTR -4[rbp], 255
	jle	.L131
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	makeMaps_d, .-makeMaps_d
	.globl	BZ2_indexIntoF
	.type	BZ2_indexIntoF, @function
BZ2_indexIntoF:
.LFB17:
	.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -8[rbp], 256
.L135:
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L133
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L134
.L133:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -8[rbp], eax
.L134:
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, DWORD PTR -12[rbp]
	cmp	eax, 1
	jne	.L135
	mov	eax, DWORD PTR -12[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	BZ2_indexIntoF, .-BZ2_indexIntoF
	.section	.rodata
.LC2:
	.string	"\n    [%d: huff+mtf "
.LC3:
	.string	"rt+rld"
	.text
	.globl	BZ2_decompress
	.type	BZ2_decompress, @function
BZ2_decompress:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 384
	mov	QWORD PTR -376[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 10
	jne	.L138
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64036[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64040[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64044[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64048[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64052[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64056[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64060[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64064[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64068[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64072[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64076[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64080[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64084[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64088[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64092[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64096[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64100[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64104[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64108[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64112[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64116[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	QWORD PTR 64120[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	QWORD PTR 64128[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	QWORD PTR 64136[rax], 0
.L138:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64036[rax]
	mov	DWORD PTR -344[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64040[rax]
	mov	DWORD PTR -340[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64044[rax]
	mov	DWORD PTR -336[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64048[rax]
	mov	DWORD PTR -332[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64052[rax]
	mov	DWORD PTR -328[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64056[rax]
	mov	DWORD PTR -324[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64060[rax]
	mov	DWORD PTR -320[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64064[rax]
	mov	DWORD PTR -316[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64068[rax]
	mov	DWORD PTR -312[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64072[rax]
	mov	DWORD PTR -308[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64076[rax]
	mov	DWORD PTR -304[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64080[rax]
	mov	DWORD PTR -300[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64084[rax]
	mov	DWORD PTR -296[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64088[rax]
	mov	DWORD PTR -292[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64092[rax]
	mov	DWORD PTR -288[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64096[rax]
	mov	DWORD PTR -228[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64100[rax]
	mov	DWORD PTR -284[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64104[rax]
	mov	DWORD PTR -280[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64108[rax]
	mov	DWORD PTR -276[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64112[rax]
	mov	DWORD PTR -272[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 64116[rax]
	mov	DWORD PTR -268[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR 64120[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR 64128[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR 64136[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -356[rbp], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, 10
	cmp	eax, 40
	ja	.L528
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L141[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L141[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L141:
	.long	.L181-.L141
	.long	.L180-.L141
	.long	.L179-.L141
	.long	.L178-.L141
	.long	.L177-.L141
	.long	.L176-.L141
	.long	.L175-.L141
	.long	.L174-.L141
	.long	.L173-.L141
	.long	.L172-.L141
	.long	.L171-.L141
	.long	.L170-.L141
	.long	.L169-.L141
	.long	.L168-.L141
	.long	.L167-.L141
	.long	.L166-.L141
	.long	.L165-.L141
	.long	.L164-.L141
	.long	.L163-.L141
	.long	.L162-.L141
	.long	.L161-.L141
	.long	.L160-.L141
	.long	.L325-.L141
	.long	.L158-.L141
	.long	.L157-.L141
	.long	.L156-.L141
	.long	.L155-.L141
	.long	.L154-.L141
	.long	.L153-.L141
	.long	.L152-.L141
	.long	.L151-.L141
	.long	.L150-.L141
	.long	.L149-.L141
	.long	.L148-.L141
	.long	.L147-.L141
	.long	.L146-.L141
	.long	.L145-.L141
	.long	.L144-.L141
	.long	.L143-.L141
	.long	.L142-.L141
	.long	.L140-.L141
	.text
.L181:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 10
.L187:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L182
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -224[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -224[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 66
	je	.L180
	jmp	.L529
.L182:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L184
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L184:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L187
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L187
.L529:
	mov	DWORD PTR -356[rbp], -5
	jmp	.L185
.L180:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 11
.L192:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L188
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -220[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -220[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 90
	je	.L179
	jmp	.L530
.L188:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L190
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L190:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L192
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L192
.L530:
	mov	DWORD PTR -356[rbp], -5
	jmp	.L185
.L179:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 12
.L197:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L193
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -216[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -216[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 104
	je	.L178
	jmp	.L531
.L193:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L195
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L195:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L197
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L197
.L531:
	mov	DWORD PTR -356[rbp], -5
	jmp	.L185
.L178:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 13
.L202:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L198
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -212[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	edx, DWORD PTR -212[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 40[rax], edx
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 48
	jle	.L203
	jmp	.L532
.L198:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L200
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L200:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L202
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L202
.L532:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 57
	jle	.L204
.L203:
	mov	DWORD PTR -356[rbp], -5
	jmp	.L185
.L204:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 40[rax]
	lea	edx, -48[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	movzx	eax, BYTE PTR 44[rax]
	test	al, al
	je	.L205
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 40[rax]
	imul	eax, eax, 100000
	cdqe
	add	eax, eax
	mov	esi, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, 1
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -376[rbp]
	mov	QWORD PTR 3160[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 40[rax]
	imul	eax, eax, 100000
	add	eax, 1
	sar	eax
	mov	esi, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, 1
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -376[rbp]
	mov	QWORD PTR 3168[rdx], rax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR 3160[rax]
	test	rax, rax
	je	.L206
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR 3168[rax]
	test	rax, rax
	jne	.L177
.L206:
	mov	DWORD PTR -356[rbp], -3
	jmp	.L185
.L205:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 40[rax]
	imul	eax, eax, 100000
	cdqe
	sal	eax, 2
	mov	esi, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, 1
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -376[rbp]
	mov	QWORD PTR 3152[rdx], rax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR 3152[rax]
	test	rax, rax
	jne	.L177
	mov	DWORD PTR -356[rbp], -3
	jmp	.L185
.L177:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 14
.L211:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L207
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -208[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -208[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 23
	jne	.L212
	jmp	.L149
.L207:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L209
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L209:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L211
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L211
.L212:
	cmp	BYTE PTR -359[rbp], 49
	je	.L176
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L176:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 15
.L218:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L214
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -204[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -204[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 65
	je	.L175
	jmp	.L533
.L214:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L216
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L216:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L218
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L218
.L533:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L175:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 16
.L223:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L219
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -200[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -200[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 89
	je	.L174
	jmp	.L534
.L219:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L221
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L221:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L223
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L223
.L534:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L174:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 17
.L228:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L224
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -196[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -196[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 38
	je	.L173
	jmp	.L535
.L224:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L226
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L226:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L228
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L228
.L535:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L173:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 18
.L233:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L229
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -192[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -192[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 83
	je	.L172
	jmp	.L536
.L229:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L231
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L231:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L233
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L233
.L536:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L172:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 19
.L238:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L234
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -188[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -188[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 89
	je	.L239
	jmp	.L537
.L234:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L236
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L236:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L238
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L238
.L537:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L239:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 48[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	eax, 1
	jle	.L240
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	vex_printf
.L240:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3176[rax], 0
.L171:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 20
.L245:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L241
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -184[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3176[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3176[rax], edx
	jmp	.L170
.L241:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L243
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L243:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L245
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L245
.L170:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 21
.L250:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L246
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -180[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -180[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3176[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3176[rax], edx
	jmp	.L169
.L246:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L248
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L248:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L250
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L250
.L169:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 22
.L255:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L251
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -176[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -176[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3176[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3176[rax], edx
	jmp	.L168
.L251:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L253
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L253:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L255
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L255
.L168:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 23
.L260:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L256
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -172[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -172[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3176[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3176[rax], edx
	jmp	.L167
.L256:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L258
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L258:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L260
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L260
.L167:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 24
.L265:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L261
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 1
	mov	DWORD PTR -168[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -168[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	BYTE PTR 20[rax], dl
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 56[rax], 0
	jmp	.L166
.L261:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L263
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L263:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L265
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L265
.L166:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 25
.L270:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L266
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -164[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -164[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 56[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 56[rax], edx
	jmp	.L165
.L266:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L268
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L268:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L270
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L270
.L165:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 26
.L275:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L271
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -160[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -160[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 56[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 56[rax], edx
	jmp	.L164
.L271:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L273
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L273:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L275
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L275
.L164:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 27
.L280:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L276
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -156[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -156[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 56[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 56[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 56[rax]
	test	eax, eax
	jns	.L281
	jmp	.L538
.L276:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L278
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L278:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L280
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L280
.L538:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L281:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 56[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 40[rax]
	imul	eax, eax, 100000
	add	eax, 10
	cmp	edx, eax
	jle	.L282
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L282:
	mov	DWORD PTR -344[rbp], 0
	jmp	.L283
.L163:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 28
.L288:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L284
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 1
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -88[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 1
	jne	.L289
	jmp	.L539
.L284:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L286
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L286:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L288
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L288
.L539:
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	mov	BYTE PTR 3452[rdx+rax], 1
	jmp	.L290
.L289:
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	mov	BYTE PTR 3452[rdx+rax], 0
.L290:
	add	DWORD PTR -344[rbp], 1
.L283:
	cmp	DWORD PTR -344[rbp], 15
	jle	.L163
	mov	DWORD PTR -344[rbp], 0
	jmp	.L291
.L292:
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	mov	BYTE PTR 3196[rdx+rax], 0
	add	DWORD PTR -344[rbp], 1
.L291:
	cmp	DWORD PTR -344[rbp], 255
	jle	.L292
	mov	DWORD PTR -344[rbp], 0
	jmp	.L293
.L302:
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	movzx	eax, BYTE PTR 3452[rdx+rax]
	test	al, al
	je	.L294
	mov	DWORD PTR -340[rbp], 0
	jmp	.L295
.L162:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 29
.L300:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L296
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 1
	mov	DWORD PTR -92[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -92[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 1
	jne	.L301
	jmp	.L540
.L296:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L298
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L298:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L300
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L300
.L540:
	mov	eax, DWORD PTR -344[rbp]
	sal	eax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -340[rbp]
	add	eax, edx
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	mov	BYTE PTR 3196[rdx+rax], 1
.L301:
	add	DWORD PTR -340[rbp], 1
.L295:
	cmp	DWORD PTR -340[rbp], 15
	jle	.L162
.L294:
	add	DWORD PTR -344[rbp], 1
.L293:
	cmp	DWORD PTR -344[rbp], 15
	jle	.L302
	mov	rax, QWORD PTR -376[rbp]
	mov	rdi, rax
	call	makeMaps_d
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3192[rax]
	test	eax, eax
	jne	.L303
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L303:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3192[rax]
	add	eax, 2
	mov	DWORD PTR -332[rbp], eax
.L161:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 30
.L308:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 2
	jle	.L304
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 3
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 7
	mov	DWORD PTR -152[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -3[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -152[rbp]
	mov	DWORD PTR -328[rbp], eax
	nop
	cmp	DWORD PTR -328[rbp], 1
	jle	.L309
	jmp	.L541
.L304:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L306
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L306:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L308
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L308
.L541:
	cmp	DWORD PTR -328[rbp], 6
	jle	.L160
.L309:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L160:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 31
.L314:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 14
	jle	.L310
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 15
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 32767
	mov	DWORD PTR -148[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -15[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -148[rbp]
	mov	DWORD PTR -324[rbp], eax
	nop
	cmp	DWORD PTR -324[rbp], 0
	jg	.L315
	jmp	.L542
.L310:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L312
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L312:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L314
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L314
.L542:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L315:
	mov	DWORD PTR -344[rbp], 0
	jmp	.L316
.L326:
	mov	DWORD PTR -340[rbp], 0
.L325:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 32
.L321:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L317
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 1
	mov	DWORD PTR -96[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -96[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 0
	jne	.L322
	jmp	.L543
.L317:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L319
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L319:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L321
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L321
.L322:
	add	DWORD PTR -340[rbp], 1
	mov	eax, DWORD PTR -340[rbp]
	cmp	eax, DWORD PTR -328[rbp]
	jl	.L325
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L543:
	mov	eax, DWORD PTR -340[rbp]
	mov	ecx, eax
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	mov	BYTE PTR 25886[rdx+rax], cl
	add	DWORD PTR -344[rbp], 1
.L316:
	mov	eax, DWORD PTR -344[rbp]
	cmp	eax, DWORD PTR -324[rbp]
	jl	.L326
	mov	BYTE PTR -358[rbp], 0
	jmp	.L327
.L328:
	movzx	eax, BYTE PTR -358[rbp]
	cdqe
	movzx	edx, BYTE PTR -358[rbp]
	mov	BYTE PTR -14[rbp+rax], dl
	movzx	eax, BYTE PTR -358[rbp]
	add	eax, 1
	mov	BYTE PTR -358[rbp], al
.L327:
	movzx	eax, BYTE PTR -358[rbp]
	cmp	DWORD PTR -328[rbp], eax
	jg	.L328
	mov	DWORD PTR -344[rbp], 0
	jmp	.L329
.L332:
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	movzx	eax, BYTE PTR 25886[rdx+rax]
	mov	BYTE PTR -358[rbp], al
	movzx	eax, BYTE PTR -358[rbp]
	cdqe
	movzx	eax, BYTE PTR -14[rbp+rax]
	mov	BYTE PTR -357[rbp], al
	jmp	.L330
.L331:
	movzx	eax, BYTE PTR -358[rbp]
	sub	eax, 1
	movzx	ecx, BYTE PTR -358[rbp]
	cdqe
	movzx	edx, BYTE PTR -14[rbp+rax]
	movsx	rax, ecx
	mov	BYTE PTR -14[rbp+rax], dl
	movzx	eax, BYTE PTR -358[rbp]
	sub	eax, 1
	mov	BYTE PTR -358[rbp], al
.L330:
	cmp	BYTE PTR -358[rbp], 0
	jne	.L331
	movzx	eax, BYTE PTR -357[rbp]
	mov	BYTE PTR -14[rbp], al
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	movzx	ecx, BYTE PTR -357[rbp]
	mov	BYTE PTR 7884[rdx+rax], cl
	add	DWORD PTR -344[rbp], 1
.L329:
	mov	eax, DWORD PTR -344[rbp]
	cmp	eax, DWORD PTR -324[rbp]
	jl	.L332
	mov	DWORD PTR -336[rbp], 0
	jmp	.L333
.L158:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 33
.L338:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 4
	jle	.L334
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 5
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 31
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -5[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR -288[rbp], eax
	nop
	mov	DWORD PTR -344[rbp], 0
	jmp	.L339
.L334:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L336
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L336:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L338
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L338
.L354:
	cmp	DWORD PTR -288[rbp], 0
	jle	.L340
	cmp	DWORD PTR -288[rbp], 20
	jle	.L157
.L340:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L157:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 34
.L345:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L341
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 1
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -104[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 0
	jne	.L156
	jmp	.L544
.L341:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L343
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L343:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L345
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L345
.L156:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 35
.L351:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L347
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 1
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -100[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 0
	jne	.L352
	jmp	.L545
.L347:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L349
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L349:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L351
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L351
.L545:
	add	DWORD PTR -288[rbp], 1
	jmp	.L354
.L352:
	sub	DWORD PTR -288[rbp], 1
	jmp	.L354
.L544:
	mov	eax, DWORD PTR -288[rbp]
	mov	ecx, eax
	mov	rdi, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -336[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, rsi
	add	rax, 43888
	mov	BYTE PTR [rax], cl
	add	DWORD PTR -344[rbp], 1
.L339:
	mov	eax, DWORD PTR -344[rbp]
	cmp	eax, DWORD PTR -332[rbp]
	jl	.L354
	add	DWORD PTR -336[rbp], 1
.L333:
	mov	eax, DWORD PTR -336[rbp]
	cmp	eax, DWORD PTR -328[rbp]
	jl	.L158
	mov	DWORD PTR -336[rbp], 0
	jmp	.L355
.L360:
	mov	DWORD PTR -352[rbp], 32
	mov	DWORD PTR -348[rbp], 0
	mov	DWORD PTR -344[rbp], 0
	jmp	.L356
.L359:
	mov	rsi, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -336[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 43888
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	DWORD PTR -348[rbp], eax
	jge	.L357
	mov	rsi, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -336[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 43888
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -348[rbp], eax
.L357:
	mov	rsi, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -336[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 43888
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	DWORD PTR -352[rbp], eax
	jle	.L358
	mov	rsi, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -344[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -336[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 43888
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -352[rbp], eax
.L358:
	add	DWORD PTR -344[rbp], 1
.L356:
	mov	eax, DWORD PTR -344[rbp]
	cmp	eax, DWORD PTR -332[rbp]
	jl	.L359
	mov	eax, DWORD PTR -336[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	lea	rdx, 43888[rax]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -336[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 57808[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdx
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -336[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	sal	rax, 3
	lea	rsi, 51616[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rsi
	lea	rsi, 12[rax]
	mov	eax, DWORD PTR -336[rbp]
	movsx	rdi, eax
	mov	rax, rdi
	sal	rax, 7
	add	rax, rdi
	sal	rax, 3
	lea	rdi, 45424[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdi
	add	rax, 12
	mov	r9d, DWORD PTR -348[rbp]
	mov	r8d, DWORD PTR -352[rbp]
	sub	rsp, 8
	mov	edi, DWORD PTR -332[rbp]
	push	rdi
	mov	rdi, rax
	call	BZ2_hbCreateDecodeTables
	add	rsp, 16
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -336[rbp]
	movsx	rdx, edx
	lea	rcx, 16000[rdx]
	mov	edx, DWORD PTR -352[rbp]
	mov	DWORD PTR 12[rax+rcx*4], edx
	add	DWORD PTR -336[rbp], 1
.L355:
	mov	eax, DWORD PTR -336[rbp]
	cmp	eax, DWORD PTR -328[rbp]
	jl	.L360
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3192[rax]
	add	eax, 1
	mov	DWORD PTR -320[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 40[rax]
	imul	eax, eax, 100000
	mov	DWORD PTR -304[rbp], eax
	mov	DWORD PTR -316[rbp], -1
	mov	DWORD PTR -312[rbp], 0
	mov	DWORD PTR -344[rbp], 0
	jmp	.L361
.L362:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -344[rbp]
	movsx	rdx, edx
	add	rdx, 16
	mov	DWORD PTR 4[rax+rdx*4], 0
	add	DWORD PTR -344[rbp], 1
.L361:
	cmp	DWORD PTR -344[rbp], 255
	jle	.L362
	mov	DWORD PTR -256[rbp], 4095
	mov	DWORD PTR -264[rbp], 15
	jmp	.L363
.L366:
	mov	DWORD PTR -260[rbp], 15
	jmp	.L364
.L365:
	mov	eax, DWORD PTR -264[rbp]
	sal	eax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -260[rbp]
	lea	ecx, [rdx+rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	mov	BYTE PTR 3724[rdx+rax], cl
	sub	DWORD PTR -256[rbp], 1
	sub	DWORD PTR -260[rbp], 1
.L364:
	cmp	DWORD PTR -260[rbp], 0
	jns	.L365
	mov	eax, DWORD PTR -256[rbp]
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -264[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	DWORD PTR 12[rax+rdx*4], ecx
	sub	DWORD PTR -264[rbp], 1
.L363:
	cmp	DWORD PTR -264[rbp], 0
	jns	.L366
	mov	DWORD PTR -300[rbp], 0
	cmp	DWORD PTR -312[rbp], 0
	jne	.L367
	add	DWORD PTR -316[rbp], 1
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, DWORD PTR -324[rbp]
	jl	.L368
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L368:
	mov	DWORD PTR -312[rbp], 50
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -316[rbp]
	cdqe
	movzx	eax, BYTE PTR 7884[rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -272[rbp]
	movsx	rdx, edx
	add	rdx, 16000
	mov	eax, DWORD PTR 12[rax+rdx*4]
	mov	DWORD PTR -268[rbp], eax
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 45424[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 57808[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 51616[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -40[rbp], rax
.L367:
	sub	DWORD PTR -312[rbp], 1
	mov	eax, DWORD PTR -268[rbp]
	mov	DWORD PTR -284[rbp], eax
.L155:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 36
.L373:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -284[rbp], eax
	jg	.L369
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, DWORD PTR -284[rbp]
	mov	ecx, eax
	shr	edx, cl
	mov	eax, DWORD PTR -284[rbp]
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -144[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, DWORD PTR -284[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -144[rbp]
	mov	DWORD PTR -280[rbp], eax
	jmp	.L370
.L369:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L371
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L371:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L373
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L373
.L370:
	cmp	DWORD PTR -284[rbp], 20
	jle	.L374
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L374:
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -280[rbp], eax
	jle	.L555
	add	DWORD PTR -284[rbp], 1
.L154:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 37
.L381:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L377
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 1
	mov	DWORD PTR -140[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -140[rbp]
	mov	DWORD PTR -276[rbp], eax
	nop
	mov	eax, DWORD PTR -280[rbp]
	add	eax, eax
	or	eax, DWORD PTR -276[rbp]
	mov	DWORD PTR -280[rbp], eax
	jmp	.L370
.L377:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L379
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L379:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L381
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L381
.L555:
	nop
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, edx
	test	eax, eax
	js	.L382
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, edx
	cmp	eax, 257
	jle	.L383
.L382:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L383:
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -308[rbp], eax
.L451:
	mov	eax, DWORD PTR -308[rbp]
	cmp	eax, DWORD PTR -320[rbp]
	je	.L556
	cmp	DWORD PTR -308[rbp], 0
	je	.L386
	cmp	DWORD PTR -308[rbp], 1
	jne	.L387
.L386:
	mov	DWORD PTR -296[rbp], -1
	mov	DWORD PTR -292[rbp], 1
.L407:
	cmp	DWORD PTR -308[rbp], 0
	jne	.L388
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -296[rbp], eax
	jmp	.L389
.L388:
	cmp	DWORD PTR -308[rbp], 1
	jne	.L389
	mov	eax, DWORD PTR -292[rbp]
	add	eax, eax
	add	DWORD PTR -296[rbp], eax
.L389:
	sal	DWORD PTR -292[rbp]
	cmp	DWORD PTR -312[rbp], 0
	jne	.L390
	add	DWORD PTR -316[rbp], 1
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, DWORD PTR -324[rbp]
	jl	.L391
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L391:
	mov	DWORD PTR -312[rbp], 50
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -316[rbp]
	cdqe
	movzx	eax, BYTE PTR 7884[rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -272[rbp]
	movsx	rdx, edx
	add	rdx, 16000
	mov	eax, DWORD PTR 12[rax+rdx*4]
	mov	DWORD PTR -268[rbp], eax
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 45424[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 57808[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 51616[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -40[rbp], rax
.L390:
	sub	DWORD PTR -312[rbp], 1
	mov	eax, DWORD PTR -268[rbp]
	mov	DWORD PTR -284[rbp], eax
.L153:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 38
.L396:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -284[rbp], eax
	jg	.L392
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, DWORD PTR -284[rbp]
	mov	ecx, eax
	shr	edx, cl
	mov	eax, DWORD PTR -284[rbp]
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, DWORD PTR -284[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -116[rbp]
	mov	DWORD PTR -280[rbp], eax
	jmp	.L393
.L392:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L394
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L394:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L396
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L396
.L393:
	cmp	DWORD PTR -284[rbp], 20
	jle	.L397
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L397:
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -280[rbp], eax
	jle	.L557
	add	DWORD PTR -284[rbp], 1
.L152:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 39
.L404:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L400
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 1
	mov	DWORD PTR -112[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -112[rbp]
	mov	DWORD PTR -276[rbp], eax
	nop
	mov	eax, DWORD PTR -280[rbp]
	add	eax, eax
	or	eax, DWORD PTR -276[rbp]
	mov	DWORD PTR -280[rbp], eax
	jmp	.L393
.L400:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L402
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L402:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L404
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L404
.L557:
	nop
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, edx
	test	eax, eax
	js	.L405
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, edx
	cmp	eax, 257
	jle	.L406
.L405:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L406:
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -308[rbp], eax
	cmp	DWORD PTR -308[rbp], 0
	je	.L407
	cmp	DWORD PTR -308[rbp], 1
	je	.L407
	add	DWORD PTR -296[rbp], 1
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 7820[rax]
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	movzx	eax, BYTE PTR 3724[rdx+rax]
	movzx	eax, al
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	movzx	eax, BYTE PTR 3468[rdx+rax]
	mov	BYTE PTR -359[rbp], al
	movzx	edx, BYTE PTR -359[rbp]
	mov	rax, QWORD PTR -376[rbp]
	movsx	rdx, edx
	add	rdx, 16
	mov	ecx, DWORD PTR 4[rax+rdx*4]
	movzx	edx, BYTE PTR -359[rbp]
	mov	eax, DWORD PTR -296[rbp]
	add	ecx, eax
	mov	rax, QWORD PTR -376[rbp]
	movsx	rdx, edx
	add	rdx, 16
	mov	DWORD PTR 4[rax+rdx*4], ecx
	mov	rax, QWORD PTR -376[rbp]
	movzx	eax, BYTE PTR 44[rax]
	test	al, al
	je	.L413
	jmp	.L409
.L411:
	mov	eax, DWORD PTR -300[rbp]
	cmp	eax, DWORD PTR -304[rbp]
	jl	.L410
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L410:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	eax, DWORD PTR -300[rbp]
	cdqe
	add	rax, rax
	add	rdx, rax
	movzx	eax, BYTE PTR -359[rbp]
	mov	WORD PTR [rdx], ax
	add	DWORD PTR -300[rbp], 1
	sub	DWORD PTR -296[rbp], 1
.L409:
	cmp	DWORD PTR -296[rbp], 0
	jg	.L411
	jmp	.L416
.L415:
	mov	eax, DWORD PTR -300[rbp]
	cmp	eax, DWORD PTR -304[rbp]
	jl	.L414
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L414:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	eax, DWORD PTR -300[rbp]
	cdqe
	sal	rax, 2
	add	rdx, rax
	movzx	eax, BYTE PTR -359[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -300[rbp], 1
	sub	DWORD PTR -296[rbp], 1
.L413:
	cmp	DWORD PTR -296[rbp], 0
	jg	.L415
	jmp	.L416
.L387:
	mov	eax, DWORD PTR -300[rbp]
	cmp	eax, DWORD PTR -304[rbp]
	jl	.L417
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L417:
	mov	eax, DWORD PTR -308[rbp]
	sub	eax, 1
	mov	DWORD PTR -232[rbp], eax
	cmp	DWORD PTR -232[rbp], 15
	ja	.L418
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 7820[rax]
	mov	DWORD PTR -240[rbp], eax
	mov	edx, DWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 3724[rax+rdx]
	mov	BYTE PTR -359[rbp], al
	jmp	.L419
.L420:
	mov	edx, DWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	add	eax, edx
	mov	DWORD PTR -132[rbp], eax
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, 1
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	movzx	ecx, BYTE PTR 3724[rdx+rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	mov	BYTE PTR 3724[rdx+rax], cl
	mov	eax, DWORD PTR -132[rbp]
	lea	ecx, -2[rax]
	mov	eax, DWORD PTR -132[rbp]
	lea	esi, -1[rax]
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rax, ecx
	movzx	ecx, BYTE PTR 3724[rdx+rax]
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rax, esi
	mov	BYTE PTR 3724[rdx+rax], cl
	mov	eax, DWORD PTR -132[rbp]
	lea	ecx, -3[rax]
	mov	eax, DWORD PTR -132[rbp]
	lea	esi, -2[rax]
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rax, ecx
	movzx	ecx, BYTE PTR 3724[rdx+rax]
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rax, esi
	mov	BYTE PTR 3724[rdx+rax], cl
	mov	eax, DWORD PTR -132[rbp]
	lea	ecx, -4[rax]
	mov	eax, DWORD PTR -132[rbp]
	lea	esi, -3[rax]
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rax, ecx
	movzx	ecx, BYTE PTR 3724[rdx+rax]
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rax, esi
	mov	BYTE PTR 3724[rdx+rax], cl
	sub	DWORD PTR -232[rbp], 4
.L419:
	cmp	DWORD PTR -232[rbp], 3
	ja	.L420
	jmp	.L421
.L422:
	mov	edx, DWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	add	eax, edx
	lea	esi, -1[rax]
	mov	edx, DWORD PTR -240[rbp]
	mov	eax, DWORD PTR -232[rbp]
	lea	ecx, [rdx+rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, esi
	movzx	edx, BYTE PTR 3724[rax+rdx]
	mov	rax, QWORD PTR -376[rbp]
	mov	ecx, ecx
	mov	BYTE PTR 3724[rax+rcx], dl
	sub	DWORD PTR -232[rbp], 1
.L421:
	cmp	DWORD PTR -232[rbp], 0
	jne	.L422
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -240[rbp]
	cdqe
	movzx	ecx, BYTE PTR -359[rbp]
	mov	BYTE PTR 3724[rdx+rax], cl
	jmp	.L423
.L418:
	mov	eax, DWORD PTR -232[rbp]
	shr	eax, 4
	mov	DWORD PTR -236[rbp], eax
	mov	eax, DWORD PTR -232[rbp]
	and	eax, 15
	mov	DWORD PTR -136[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -236[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	edx, DWORD PTR 12[rax+rdx*4]
	mov	eax, DWORD PTR -136[rbp]
	add	eax, edx
	mov	DWORD PTR -240[rbp], eax
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -240[rbp]
	cdqe
	movzx	eax, BYTE PTR 3724[rdx+rax]
	mov	BYTE PTR -359[rbp], al
	jmp	.L424
.L425:
	mov	eax, DWORD PTR -240[rbp]
	sub	eax, 1
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	movzx	ecx, BYTE PTR 3724[rdx+rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -240[rbp]
	cdqe
	mov	BYTE PTR 3724[rdx+rax], cl
	sub	DWORD PTR -240[rbp], 1
.L424:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -236[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	eax, DWORD PTR 12[rax+rdx*4]
	cmp	DWORD PTR -240[rbp], eax
	jg	.L425
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -236[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	eax, DWORD PTR 12[rax+rdx*4]
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -236[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	DWORD PTR 12[rax+rdx*4], ecx
	jmp	.L426
.L427:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -236[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	eax, DWORD PTR 12[rax+rdx*4]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -236[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	DWORD PTR 12[rax+rdx*4], ecx
	mov	eax, DWORD PTR -236[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	eax, DWORD PTR 12[rax+rdx*4]
	lea	ecx, 15[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -236[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	esi, DWORD PTR 12[rax+rdx*4]
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rax, ecx
	movzx	ecx, BYTE PTR 3724[rdx+rax]
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rax, esi
	mov	BYTE PTR 3724[rdx+rax], cl
	sub	DWORD PTR -236[rbp], 1
.L426:
	cmp	DWORD PTR -236[rbp], 0
	jg	.L427
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 7820[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 7820[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 7820[rax]
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	movzx	ecx, BYTE PTR -359[rbp]
	mov	BYTE PTR 3724[rdx+rax], cl
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 7820[rax]
	test	eax, eax
	jne	.L423
	mov	DWORD PTR -244[rbp], 4095
	mov	DWORD PTR -252[rbp], 15
	jmp	.L428
.L431:
	mov	DWORD PTR -248[rbp], 15
	jmp	.L429
.L430:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -252[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	edx, DWORD PTR 12[rax+rdx*4]
	mov	eax, DWORD PTR -248[rbp]
	add	eax, edx
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	movzx	ecx, BYTE PTR 3724[rdx+rax]
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	mov	BYTE PTR 3724[rdx+rax], cl
	sub	DWORD PTR -244[rbp], 1
	sub	DWORD PTR -248[rbp], 1
.L429:
	cmp	DWORD PTR -248[rbp], 0
	jns	.L430
	mov	eax, DWORD PTR -244[rbp]
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -252[rbp]
	movsx	rdx, edx
	add	rdx, 1952
	mov	DWORD PTR 12[rax+rdx*4], ecx
	sub	DWORD PTR -252[rbp], 1
.L428:
	cmp	DWORD PTR -252[rbp], 0
	jns	.L431
.L423:
	movzx	eax, BYTE PTR -359[rbp]
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	movzx	eax, BYTE PTR 3468[rdx+rax]
	movzx	eax, al
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rcx, eax
	add	rcx, 16
	mov	edx, DWORD PTR 4[rdx+rcx*4]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	add	rax, 16
	mov	DWORD PTR 4[rdx+rax*4], ecx
	mov	rax, QWORD PTR -376[rbp]
	movzx	eax, BYTE PTR 44[rax]
	test	al, al
	je	.L432
	movzx	eax, BYTE PTR -359[rbp]
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	movzx	ecx, BYTE PTR 3468[rdx+rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	eax, DWORD PTR -300[rbp]
	cdqe
	add	rax, rax
	add	rdx, rax
	movzx	eax, cl
	mov	WORD PTR [rdx], ax
	jmp	.L433
.L432:
	movzx	eax, BYTE PTR -359[rbp]
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	movzx	ecx, BYTE PTR 3468[rdx+rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	eax, DWORD PTR -300[rbp]
	cdqe
	sal	rax, 2
	add	rdx, rax
	movzx	eax, cl
	mov	DWORD PTR [rdx], eax
.L433:
	add	DWORD PTR -300[rbp], 1
	cmp	DWORD PTR -312[rbp], 0
	jne	.L434
	add	DWORD PTR -316[rbp], 1
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, DWORD PTR -324[rbp]
	jl	.L435
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L435:
	mov	DWORD PTR -312[rbp], 50
	mov	rdx, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR -316[rbp]
	cdqe
	movzx	eax, BYTE PTR 7884[rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -272[rbp]
	movsx	rdx, edx
	add	rdx, 16000
	mov	eax, DWORD PTR 12[rax+rdx*4]
	mov	DWORD PTR -268[rbp], eax
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 45424[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 57808[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 51616[rax]
	mov	rax, QWORD PTR -376[rbp]
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -40[rbp], rax
.L434:
	sub	DWORD PTR -312[rbp], 1
	mov	eax, DWORD PTR -268[rbp]
	mov	DWORD PTR -284[rbp], eax
.L151:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 40
.L440:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -284[rbp], eax
	jg	.L436
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, DWORD PTR -284[rbp]
	mov	ecx, eax
	shr	edx, cl
	mov	eax, DWORD PTR -284[rbp]
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	sub	eax, 1
	and	eax, edx
	mov	DWORD PTR -124[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, DWORD PTR -284[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -124[rbp]
	mov	DWORD PTR -280[rbp], eax
	jmp	.L437
.L436:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L438
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L438:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L440
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L440
.L437:
	cmp	DWORD PTR -284[rbp], 20
	jle	.L441
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L441:
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -280[rbp], eax
	jle	.L558
	add	DWORD PTR -284[rbp], 1
.L150:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 41
.L448:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L444
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 1
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 1
	mov	DWORD PTR -120[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -120[rbp]
	mov	DWORD PTR -276[rbp], eax
	nop
	mov	eax, DWORD PTR -280[rbp]
	add	eax, eax
	or	eax, DWORD PTR -276[rbp]
	mov	DWORD PTR -280[rbp], eax
	jmp	.L437
.L444:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L446
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L446:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L448
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L448
.L558:
	nop
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, edx
	test	eax, eax
	js	.L449
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, edx
	cmp	eax, 257
	jle	.L450
.L449:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L450:
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -280[rbp]
	sub	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -308[rbp], eax
	nop
.L416:
	jmp	.L451
.L556:
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 56[rax]
	test	eax, eax
	js	.L452
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 56[rax]
	cmp	DWORD PTR -300[rbp], eax
	jg	.L453
.L452:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L453:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 1096[rax], 0
	mov	DWORD PTR -344[rbp], 1
	jmp	.L454
.L455:
	mov	eax, DWORD PTR -344[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	movsx	rdx, edx
	add	rdx, 16
	mov	edx, DWORD PTR 4[rax+rdx*4]
	mov	rax, QWORD PTR -376[rbp]
	mov	ecx, DWORD PTR -344[rbp]
	movsx	rcx, ecx
	add	rcx, 272
	mov	DWORD PTR 8[rax+rcx*4], edx
	add	DWORD PTR -344[rbp], 1
.L454:
	cmp	DWORD PTR -344[rbp], 256
	jle	.L455
	mov	DWORD PTR -344[rbp], 1
	jmp	.L456
.L457:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -344[rbp]
	movsx	rdx, edx
	add	rdx, 272
	mov	ecx, DWORD PTR 8[rax+rdx*4]
	mov	eax, DWORD PTR -344[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	movsx	rdx, edx
	add	rdx, 272
	mov	eax, DWORD PTR 8[rax+rdx*4]
	add	ecx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -344[rbp]
	movsx	rdx, edx
	add	rdx, 272
	mov	DWORD PTR 8[rax+rdx*4], ecx
	add	DWORD PTR -344[rbp], 1
.L456:
	cmp	DWORD PTR -344[rbp], 256
	jle	.L457
	mov	DWORD PTR -344[rbp], 0
	jmp	.L458
.L461:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -344[rbp]
	movsx	rdx, edx
	add	rdx, 272
	mov	eax, DWORD PTR 8[rax+rdx*4]
	test	eax, eax
	js	.L459
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -344[rbp]
	movsx	rdx, edx
	add	rdx, 272
	mov	eax, DWORD PTR 8[rax+rdx*4]
	cmp	DWORD PTR -300[rbp], eax
	jge	.L460
.L459:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L460:
	add	DWORD PTR -344[rbp], 1
.L458:
	cmp	DWORD PTR -344[rbp], 256
	jle	.L461
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	BYTE PTR 12[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3184[rax], -1
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 2
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	eax, 1
	jle	.L462
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	vex_printf
.L462:
	mov	rax, QWORD PTR -376[rbp]
	movzx	eax, BYTE PTR 44[rax]
	test	al, al
	je	.L463
	mov	DWORD PTR -344[rbp], 0
	jmp	.L464
.L465:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -344[rbp]
	movsx	rdx, edx
	add	rdx, 272
	mov	edx, DWORD PTR 8[rax+rdx*4]
	mov	rax, QWORD PTR -376[rbp]
	mov	ecx, DWORD PTR -344[rbp]
	movsx	rcx, ecx
	add	rcx, 528
	mov	DWORD PTR 12[rax+rcx*4], edx
	add	DWORD PTR -344[rbp], 1
.L464:
	cmp	DWORD PTR -344[rbp], 256
	jle	.L465
	mov	DWORD PTR -344[rbp], 0
	jmp	.L466
.L469:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	BYTE PTR -359[rbp], al
	movzx	edx, BYTE PTR -359[rbp]
	mov	rax, QWORD PTR -376[rbp]
	movsx	rdx, edx
	add	rdx, 528
	mov	edx, DWORD PTR 12[rax+rdx*4]
	mov	rax, QWORD PTR -376[rbp]
	mov	rcx, QWORD PTR 3160[rax]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	add	rax, rax
	add	rax, rcx
	mov	WORD PTR [rax], dx
	mov	eax, DWORD PTR -344[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L467
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	eax, DWORD PTR -344[rbp]
	sar	eax
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, -16
	mov	ecx, eax
	movzx	edx, BYTE PTR -359[rbp]
	mov	rax, QWORD PTR -376[rbp]
	movsx	rdx, edx
	add	rdx, 528
	mov	eax, DWORD PTR 12[rax+rdx*4]
	sar	eax, 16
	or	ecx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	eax, DWORD PTR -344[rbp]
	sar	eax
	cdqe
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	jmp	.L468
.L467:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	eax, DWORD PTR -344[rbp]
	sar	eax
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	ecx, eax
	movzx	edx, BYTE PTR -359[rbp]
	mov	rax, QWORD PTR -376[rbp]
	movsx	rdx, edx
	add	rdx, 528
	mov	eax, DWORD PTR 12[rax+rdx*4]
	sar	eax, 16
	sal	eax, 4
	or	ecx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	eax, DWORD PTR -344[rbp]
	sar	eax
	cdqe
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
.L468:
	movzx	eax, BYTE PTR -359[rbp]
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rcx, eax
	add	rcx, 528
	mov	edx, DWORD PTR 12[rdx+rcx*4]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	add	rax, 528
	mov	DWORD PTR 12[rdx+rax*4], ecx
	add	DWORD PTR -344[rbp], 1
.L466:
	mov	eax, DWORD PTR -344[rbp]
	cmp	eax, DWORD PTR -300[rbp]
	jl	.L469
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 56[rax]
	mov	DWORD PTR -344[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	eax, DWORD PTR -344[rbp]
	sar	eax
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -344[rbp]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	eax, esi
	mov	DWORD PTR -340[rbp], eax
.L472:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	eax, DWORD PTR -340[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	eax, DWORD PTR -340[rbp]
	sar	eax
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -340[rbp]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	eax, esi
	mov	DWORD PTR -128[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	eax, DWORD PTR -340[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	mov	edx, DWORD PTR -344[rbp]
	mov	WORD PTR [rax], dx
	mov	eax, DWORD PTR -340[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L470
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	eax, DWORD PTR -340[rbp]
	sar	eax
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, -16
	mov	edx, eax
	mov	eax, DWORD PTR -344[rbp]
	sar	eax, 16
	mov	ecx, edx
	or	ecx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	eax, DWORD PTR -340[rbp]
	sar	eax
	cdqe
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	jmp	.L471
.L470:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	eax, DWORD PTR -340[rbp]
	sar	eax
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 15
	mov	edx, eax
	mov	eax, DWORD PTR -344[rbp]
	sar	eax, 16
	sal	eax, 4
	mov	ecx, edx
	or	ecx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	eax, DWORD PTR -340[rbp]
	sar	eax
	cdqe
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
.L471:
	mov	eax, DWORD PTR -340[rbp]
	mov	DWORD PTR -344[rbp], eax
	mov	eax, DWORD PTR -128[rbp]
	mov	DWORD PTR -340[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 56[rax]
	cmp	DWORD PTR -344[rbp], eax
	jne	.L472
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 56[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 1092[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	movzx	eax, BYTE PTR 20[rax]
	test	al, al
	je	.L473
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 28[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	rdx, QWORD PTR -376[rbp]
	mov	DWORD PTR 64[rdx], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L474
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L474
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 28[rax], 0
.L474:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	movzx	eax, al
	xor	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L475
.L473:
	mov	rax, QWORD PTR -376[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	rdx, QWORD PTR -376[rbp]
	mov	DWORD PTR 64[rdx], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 1092[rax], edx
	jmp	.L475
.L463:
	mov	DWORD PTR -344[rbp], 0
	jmp	.L476
.L477:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	BYTE PTR -359[rbp], al
	mov	rax, QWORD PTR -376[rbp]
	mov	rcx, QWORD PTR 3152[rax]
	movzx	edx, BYTE PTR -359[rbp]
	mov	rax, QWORD PTR -376[rbp]
	movsx	rdx, edx
	add	rdx, 272
	mov	eax, DWORD PTR 8[rax+rdx*4]
	cdqe
	sal	rax, 2
	add	rax, rcx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -344[rbp]
	sal	eax, 8
	mov	edi, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, QWORD PTR 3152[rax]
	movzx	edx, BYTE PTR -359[rbp]
	mov	rax, QWORD PTR -376[rbp]
	movsx	rdx, edx
	add	rdx, 272
	mov	eax, DWORD PTR 8[rax+rdx*4]
	cdqe
	sal	rax, 2
	add	rax, rsi
	or	ecx, edi
	mov	edx, ecx
	mov	DWORD PTR [rax], edx
	movzx	eax, BYTE PTR -359[rbp]
	mov	rdx, QWORD PTR -376[rbp]
	movsx	rcx, eax
	add	rcx, 272
	mov	edx, DWORD PTR 8[rdx+rcx*4]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -376[rbp]
	cdqe
	add	rax, 272
	mov	DWORD PTR 8[rdx+rax*4], ecx
	add	DWORD PTR -344[rbp], 1
.L476:
	mov	eax, DWORD PTR -344[rbp]
	cmp	eax, DWORD PTR -300[rbp]
	jl	.L477
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 56[rax]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 1092[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	movzx	eax, BYTE PTR 20[rax]
	test	al, al
	je	.L478
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 28[rax], 0
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L479
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L479
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 28[rax], 0
.L479:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	movzx	eax, al
	xor	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L475
.L478:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 1092[rax], edx
.L475:
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L213:
.L149:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 42
.L484:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L480
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -84[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 114
	je	.L148
	jmp	.L550
.L480:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L482
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L482:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L484
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L484
.L550:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L148:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 43
.L489:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L485
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -80[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -80[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 69
	je	.L147
	jmp	.L551
.L485:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L487
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L487:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L489
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L489
.L551:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L147:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 44
.L494:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L490
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -76[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 56
	je	.L146
	jmp	.L552
.L490:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L492
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L492:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L494
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L494
.L552:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L146:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 45
.L499:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L495
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -72[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], 80
	je	.L145
	jmp	.L553
.L495:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L497
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L497:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L499
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L499
.L553:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L145:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 46
.L504:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L500
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -68[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	cmp	BYTE PTR -359[rbp], -112
	je	.L505
	jmp	.L554
.L500:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L502
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L502:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L504
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L504
.L554:
	mov	DWORD PTR -356[rbp], -4
	jmp	.L185
.L505:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3180[rax], 0
.L144:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 47
.L510:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L506
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -64[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3180[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3180[rax], edx
	jmp	.L143
.L506:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L508
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L508:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L510
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L510
.L143:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 48
.L515:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L511
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -60[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3180[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3180[rax], edx
	jmp	.L142
.L511:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L513
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L513:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L515
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L515
.L142:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 49
.L520:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L516
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -56[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3180[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3180[rax], edx
	jmp	.L140
.L516:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L518
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L518:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L520
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L520
.L140:
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 50
.L525:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	jle	.L521
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	eax, 8
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	and	eax, 255
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, DWORD PTR -52[rbp]
	mov	BYTE PTR -359[rbp], al
	nop
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 3180[rax]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -359[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 3180[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 8[rax], 1
	mov	DWORD PTR -356[rbp], 4
	jmp	.L185
.L521:
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L523
	mov	DWORD PTR -356[rbp], 0
	jmp	.L185
.L523:
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	edx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 8[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L525
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L525
.L528:
	mov	edi, 4001
	call	bz_internal_error
	mov	edi, 4002
	call	bz_internal_error
.L185:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -344[rbp]
	mov	DWORD PTR 64036[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -340[rbp]
	mov	DWORD PTR 64040[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -336[rbp]
	mov	DWORD PTR 64044[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -332[rbp]
	mov	DWORD PTR 64048[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -328[rbp]
	mov	DWORD PTR 64052[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -324[rbp]
	mov	DWORD PTR 64056[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -320[rbp]
	mov	DWORD PTR 64060[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -316[rbp]
	mov	DWORD PTR 64064[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -312[rbp]
	mov	DWORD PTR 64068[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -308[rbp]
	mov	DWORD PTR 64072[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -304[rbp]
	mov	DWORD PTR 64076[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -300[rbp]
	mov	DWORD PTR 64080[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -296[rbp]
	mov	DWORD PTR 64084[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -292[rbp]
	mov	DWORD PTR 64088[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -288[rbp]
	mov	DWORD PTR 64092[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -228[rbp]
	mov	DWORD PTR 64096[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -284[rbp]
	mov	DWORD PTR 64100[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -280[rbp]
	mov	DWORD PTR 64104[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -276[rbp]
	mov	DWORD PTR 64108[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -272[rbp]
	mov	DWORD PTR 64112[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, DWORD PTR -268[rbp]
	mov	DWORD PTR 64116[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 64120[rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 64128[rax], rdx
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 64136[rax], rdx
	mov	eax, DWORD PTR -356[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L527
	call	__stack_chk_fail@PLT
.L527:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	BZ2_decompress, .-BZ2_decompress
	.type	fallbackSimpleSort, @function
fallbackSimpleSort:
.LFB19:
	.cfi_startproc
	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	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	je	.L573
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, DWORD PTR -36[rbp]
	cmp	eax, 3
	jle	.L562
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 4
	mov	DWORD PTR -16[rbp], eax
	jmp	.L563
.L567:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	eax, 4
	mov	DWORD PTR -12[rbp], eax
	jmp	.L564
.L566:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	lea	rcx, -16[rdx]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -12[rbp], 4
.L564:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jg	.L565
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	ja	.L566
.L565:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 2
	lea	rdx, -16[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -16[rbp], 1
.L563:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jge	.L567
.L562:
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 1
	mov	DWORD PTR -16[rbp], eax
	jmp	.L568
.L572:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
	jmp	.L569
.L571:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	lea	rcx, -4[rdx]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -12[rbp], 1
.L569:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jg	.L570
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	ja	.L571
.L570:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -16[rbp], 1
.L568:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jge	.L572
	jmp	.L559
.L573:
	nop
.L559:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	fallbackSimpleSort, .-fallbackSimpleSort
	.type	fallbackQSort3, @function
fallbackQSort3:
.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, 944
	mov	QWORD PTR -920[rbp], rdi
	mov	QWORD PTR -928[rbp], rsi
	mov	DWORD PTR -932[rbp], edx
	mov	DWORD PTR -936[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -884[rbp], 0
	mov	DWORD PTR -892[rbp], 0
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	edx, DWORD PTR -932[rbp]
	mov	DWORD PTR -816[rbp+rax*4], edx
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	edx, DWORD PTR -936[rbp]
	mov	DWORD PTR -416[rbp+rax*4], edx
	add	DWORD PTR -892[rbp], 1
	jmp	.L575
.L601:
	cmp	DWORD PTR -892[rbp], 99
	jle	.L576
	mov	edi, 1004
	call	bz_internal_error
.L576:
	sub	DWORD PTR -892[rbp], 1
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	eax, DWORD PTR -816[rbp+rax*4]
	mov	DWORD PTR -856[rbp], eax
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	eax, DWORD PTR -416[rbp+rax*4]
	mov	DWORD PTR -852[rbp], eax
	mov	eax, DWORD PTR -852[rbp]
	sub	eax, DWORD PTR -856[rbp]
	cmp	eax, 9
	jg	.L577
	mov	ecx, DWORD PTR -852[rbp]
	mov	edx, DWORD PTR -856[rbp]
	mov	rsi, QWORD PTR -928[rbp]
	mov	rax, QWORD PTR -920[rbp]
	mov	rdi, rax
	call	fallbackSimpleSort
	jmp	.L575
.L577:
	mov	eax, DWORD PTR -884[rbp]
	imul	eax, eax, 7621
	add	eax, 1
	and	eax, 32767
	mov	DWORD PTR -884[rbp], eax
	mov	edx, DWORD PTR -884[rbp]
	mov	ecx, edx
	mov	eax, 2863311531
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx
	mov	eax, ecx
	add	eax, eax
	add	eax, ecx
	sub	edx, eax
	mov	DWORD PTR -848[rbp], edx
	cmp	DWORD PTR -848[rbp], 0
	jne	.L578
	mov	eax, DWORD PTR -856[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -928[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -888[rbp], eax
	jmp	.L579
.L578:
	cmp	DWORD PTR -848[rbp], 1
	jne	.L580
	mov	edx, DWORD PTR -856[rbp]
	mov	eax, DWORD PTR -852[rbp]
	add	eax, edx
	sar	eax
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -928[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -888[rbp], eax
	jmp	.L579
.L580:
	mov	eax, DWORD PTR -852[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -928[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -888[rbp], eax
.L579:
	mov	eax, DWORD PTR -856[rbp]
	mov	DWORD PTR -900[rbp], eax
	mov	eax, DWORD PTR -900[rbp]
	mov	DWORD PTR -908[rbp], eax
	mov	eax, DWORD PTR -852[rbp]
	mov	DWORD PTR -896[rbp], eax
	mov	eax, DWORD PTR -896[rbp]
	mov	DWORD PTR -904[rbp], eax
.L586:
	mov	eax, DWORD PTR -908[rbp]
	cmp	eax, DWORD PTR -904[rbp]
	jg	.L604
	mov	eax, DWORD PTR -908[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -928[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -888[rbp]
	sub	eax, edx
	mov	DWORD PTR -844[rbp], eax
	cmp	DWORD PTR -844[rbp], 0
	jne	.L583
	mov	eax, DWORD PTR -908[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -840[rbp], eax
	mov	eax, DWORD PTR -900[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -908[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -920[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -900[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -840[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -900[rbp], 1
	add	DWORD PTR -908[rbp], 1
	jmp	.L584
.L583:
	cmp	DWORD PTR -844[rbp], 0
	jg	.L605
	add	DWORD PTR -908[rbp], 1
.L584:
	jmp	.L586
.L604:
	nop
	jmp	.L592
.L605:
	nop
.L592:
	mov	eax, DWORD PTR -908[rbp]
	cmp	eax, DWORD PTR -904[rbp]
	jg	.L606
	mov	eax, DWORD PTR -904[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -928[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -888[rbp]
	sub	eax, edx
	mov	DWORD PTR -844[rbp], eax
	cmp	DWORD PTR -844[rbp], 0
	jne	.L589
	mov	eax, DWORD PTR -904[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -836[rbp], eax
	mov	eax, DWORD PTR -896[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -904[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -920[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -896[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -836[rbp]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -896[rbp], 1
	sub	DWORD PTR -904[rbp], 1
	jmp	.L590
.L589:
	cmp	DWORD PTR -844[rbp], 0
	js	.L607
	sub	DWORD PTR -904[rbp], 1
.L590:
	jmp	.L592
.L606:
	nop
	jmp	.L588
.L607:
	nop
.L588:
	mov	eax, DWORD PTR -908[rbp]
	cmp	eax, DWORD PTR -904[rbp]
	jg	.L608
	mov	eax, DWORD PTR -908[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -832[rbp], eax
	mov	eax, DWORD PTR -904[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -908[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -920[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -904[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -832[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -908[rbp], 1
	sub	DWORD PTR -904[rbp], 1
	jmp	.L586
.L608:
	nop
	mov	eax, DWORD PTR -896[rbp]
	cmp	eax, DWORD PTR -900[rbp]
	jge	.L595
	jmp	.L575
.L595:
	mov	eax, DWORD PTR -908[rbp]
	sub	eax, DWORD PTR -900[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -900[rbp]
	sub	eax, DWORD PTR -856[rbp]
	cmp	edx, eax
	cmovle	eax, edx
	mov	DWORD PTR -844[rbp], eax
	mov	eax, DWORD PTR -856[rbp]
	mov	DWORD PTR -880[rbp], eax
	mov	eax, DWORD PTR -908[rbp]
	sub	eax, DWORD PTR -844[rbp]
	mov	DWORD PTR -876[rbp], eax
	mov	eax, DWORD PTR -844[rbp]
	mov	DWORD PTR -872[rbp], eax
	jmp	.L596
.L597:
	mov	eax, DWORD PTR -880[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -820[rbp], eax
	mov	eax, DWORD PTR -876[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -880[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -920[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -876[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -820[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -880[rbp], 1
	add	DWORD PTR -876[rbp], 1
	sub	DWORD PTR -872[rbp], 1
.L596:
	cmp	DWORD PTR -872[rbp], 0
	jg	.L597
	mov	eax, DWORD PTR -896[rbp]
	sub	eax, DWORD PTR -904[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -852[rbp]
	sub	eax, DWORD PTR -896[rbp]
	cmp	edx, eax
	cmovle	eax, edx
	mov	DWORD PTR -828[rbp], eax
	mov	eax, DWORD PTR -908[rbp]
	mov	DWORD PTR -868[rbp], eax
	mov	eax, DWORD PTR -852[rbp]
	sub	eax, DWORD PTR -828[rbp]
	add	eax, 1
	mov	DWORD PTR -864[rbp], eax
	mov	eax, DWORD PTR -828[rbp]
	mov	DWORD PTR -860[rbp], eax
	jmp	.L598
.L599:
	mov	eax, DWORD PTR -868[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -824[rbp], eax
	mov	eax, DWORD PTR -864[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -868[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -920[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -864[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -920[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -824[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -868[rbp], 1
	add	DWORD PTR -864[rbp], 1
	sub	DWORD PTR -860[rbp], 1
.L598:
	cmp	DWORD PTR -860[rbp], 0
	jg	.L599
	mov	edx, DWORD PTR -856[rbp]
	mov	eax, DWORD PTR -908[rbp]
	add	eax, edx
	sub	eax, DWORD PTR -900[rbp]
	sub	eax, 1
	mov	DWORD PTR -844[rbp], eax
	mov	eax, DWORD PTR -896[rbp]
	sub	eax, DWORD PTR -904[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -852[rbp]
	sub	eax, edx
	add	eax, 1
	mov	DWORD PTR -828[rbp], eax
	mov	eax, DWORD PTR -844[rbp]
	sub	eax, DWORD PTR -856[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -852[rbp]
	sub	eax, DWORD PTR -828[rbp]
	cmp	edx, eax
	jle	.L600
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	edx, DWORD PTR -856[rbp]
	mov	DWORD PTR -816[rbp+rax*4], edx
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	edx, DWORD PTR -844[rbp]
	mov	DWORD PTR -416[rbp+rax*4], edx
	add	DWORD PTR -892[rbp], 1
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	edx, DWORD PTR -828[rbp]
	mov	DWORD PTR -816[rbp+rax*4], edx
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	edx, DWORD PTR -852[rbp]
	mov	DWORD PTR -416[rbp+rax*4], edx
	add	DWORD PTR -892[rbp], 1
	jmp	.L575
.L600:
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	edx, DWORD PTR -828[rbp]
	mov	DWORD PTR -816[rbp+rax*4], edx
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	edx, DWORD PTR -852[rbp]
	mov	DWORD PTR -416[rbp+rax*4], edx
	add	DWORD PTR -892[rbp], 1
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	edx, DWORD PTR -856[rbp]
	mov	DWORD PTR -816[rbp+rax*4], edx
	mov	eax, DWORD PTR -892[rbp]
	cdqe
	mov	edx, DWORD PTR -844[rbp]
	mov	DWORD PTR -416[rbp+rax*4], edx
	add	DWORD PTR -892[rbp], 1
.L575:
	cmp	DWORD PTR -892[rbp], 0
	jg	.L601
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L602
	call	__stack_chk_fail@PLT
.L602:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	fallbackQSort3, .-fallbackQSort3
	.section	.rodata
.LC4:
	.string	"        bucket sorting ...\n"
.LC5:
	.string	"        depth %6d has "
.LC6:
	.string	"%6d unresolved strings\n"
	.align 8
.LC7:
	.string	"        reconstructing block ...\n"
	.text
	.type	fallbackSort, @function
fallbackSort:
.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, 2144
	mov	QWORD PTR -2120[rbp], rdi
	mov	QWORD PTR -2128[rbp], rsi
	mov	QWORD PTR -2136[rbp], rdx
	mov	DWORD PTR -2140[rbp], ecx
	mov	DWORD PTR -2144[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -2128[rbp]
	mov	QWORD PTR -2072[rbp], rax
	cmp	DWORD PTR -2144[rbp], 3
	jle	.L610
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	vex_printf
.L610:
	mov	DWORD PTR -2108[rbp], 0
	jmp	.L611
.L612:
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	mov	DWORD PTR -1040[rbp+rax*4], 0
	add	DWORD PTR -2108[rbp], 1
.L611:
	cmp	DWORD PTR -2108[rbp], 256
	jle	.L612
	mov	DWORD PTR -2108[rbp], 0
	jmp	.L613
.L614:
	mov	eax, DWORD PTR -2108[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -2072[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	movsx	rdx, eax
	mov	edx, DWORD PTR -1040[rbp+rdx*4]
	add	edx, 1
	cdqe
	mov	DWORD PTR -1040[rbp+rax*4], edx
	add	DWORD PTR -2108[rbp], 1
.L613:
	mov	eax, DWORD PTR -2108[rbp]
	cmp	eax, DWORD PTR -2140[rbp]
	jl	.L614
	mov	DWORD PTR -2108[rbp], 0
	jmp	.L615
.L616:
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	mov	edx, DWORD PTR -1040[rbp+rax*4]
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	mov	DWORD PTR -2064[rbp+rax*4], edx
	add	DWORD PTR -2108[rbp], 1
.L615:
	cmp	DWORD PTR -2108[rbp], 255
	jle	.L616
	mov	DWORD PTR -2108[rbp], 1
	jmp	.L617
.L618:
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	mov	edx, DWORD PTR -1040[rbp+rax*4]
	mov	eax, DWORD PTR -2108[rbp]
	sub	eax, 1
	cdqe
	mov	eax, DWORD PTR -1040[rbp+rax*4]
	add	edx, eax
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	mov	DWORD PTR -1040[rbp+rax*4], edx
	add	DWORD PTR -2108[rbp], 1
.L617:
	cmp	DWORD PTR -2108[rbp], 256
	jle	.L618
	mov	DWORD PTR -2108[rbp], 0
	jmp	.L619
.L620:
	mov	eax, DWORD PTR -2108[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -2072[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -2104[rbp], eax
	mov	eax, DWORD PTR -2104[rbp]
	cdqe
	mov	eax, DWORD PTR -1040[rbp+rax*4]
	sub	eax, 1
	mov	DWORD PTR -2100[rbp], eax
	mov	eax, DWORD PTR -2104[rbp]
	cdqe
	mov	edx, DWORD PTR -2100[rbp]
	mov	DWORD PTR -1040[rbp+rax*4], edx
	mov	eax, DWORD PTR -2100[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2108[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -2108[rbp], 1
.L619:
	mov	eax, DWORD PTR -2108[rbp]
	cmp	eax, DWORD PTR -2140[rbp]
	jl	.L620
	mov	eax, DWORD PTR -2140[rbp]
	lea	edx, 31[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 5
	add	eax, 2
	mov	DWORD PTR -2084[rbp], eax
	mov	DWORD PTR -2108[rbp], 0
	jmp	.L621
.L622:
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	add	DWORD PTR -2108[rbp], 1
.L621:
	mov	eax, DWORD PTR -2108[rbp]
	cmp	eax, DWORD PTR -2084[rbp]
	jl	.L622
	mov	DWORD PTR -2108[rbp], 0
	jmp	.L623
.L624:
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	mov	eax, DWORD PTR -1040[rbp+rax*4]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	mov	eax, DWORD PTR -1040[rbp+rax*4]
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	mov	esi, eax
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	mov	eax, DWORD PTR -1040[rbp+rax*4]
	sar	eax, 5
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rcx
	or	edx, esi
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -2108[rbp], 1
.L623:
	cmp	DWORD PTR -2108[rbp], 255
	jle	.L624
	mov	DWORD PTR -2108[rbp], 0
	jmp	.L625
.L626:
	mov	eax, DWORD PTR -2108[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -2140[rbp]
	add	eax, edx
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2108[rbp]
	lea	ecx, [rax+rax]
	mov	eax, DWORD PTR -2140[rbp]
	add	eax, ecx
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	mov	esi, eax
	mov	eax, DWORD PTR -2108[rbp]
	lea	ecx, [rax+rax]
	mov	eax, DWORD PTR -2140[rbp]
	add	eax, ecx
	sar	eax, 5
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rcx
	or	edx, esi
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -2108[rbp]
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -2140[rbp]
	add	eax, edx
	add	eax, 1
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2108[rbp]
	lea	ecx, [rax+rax]
	mov	eax, DWORD PTR -2140[rbp]
	add	eax, ecx
	add	eax, 1
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	not	eax
	mov	esi, eax
	mov	eax, DWORD PTR -2108[rbp]
	lea	ecx, [rax+rax]
	mov	eax, DWORD PTR -2140[rbp]
	add	eax, ecx
	add	eax, 1
	sar	eax, 5
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rcx
	and	edx, esi
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -2108[rbp], 1
.L625:
	cmp	DWORD PTR -2108[rbp], 31
	jle	.L626
	mov	DWORD PTR -2112[rbp], 1
.L658:
	cmp	DWORD PTR -2144[rbp], 3
	jle	.L627
	mov	eax, DWORD PTR -2112[rbp]
	mov	esi, eax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	vex_printf
.L627:
	mov	DWORD PTR -2104[rbp], 0
	mov	DWORD PTR -2108[rbp], 0
	jmp	.L628
.L631:
	mov	eax, DWORD PTR -2108[rbp]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2108[rbp]
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	and	eax, edx
	test	eax, eax
	je	.L629
	mov	eax, DWORD PTR -2108[rbp]
	mov	DWORD PTR -2104[rbp], eax
.L629:
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -2112[rbp]
	sub	eax, edx
	mov	DWORD PTR -2100[rbp], eax
	cmp	DWORD PTR -2100[rbp], 0
	jns	.L630
	mov	eax, DWORD PTR -2140[rbp]
	add	DWORD PTR -2100[rbp], eax
.L630:
	mov	eax, DWORD PTR -2100[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2128[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2104[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -2108[rbp], 1
.L628:
	mov	eax, DWORD PTR -2108[rbp]
	cmp	eax, DWORD PTR -2140[rbp]
	jl	.L631
	mov	DWORD PTR -2088[rbp], 0
	mov	DWORD PTR -2096[rbp], -1
.L655:
	mov	eax, DWORD PTR -2096[rbp]
	add	eax, 1
	mov	DWORD PTR -2100[rbp], eax
	jmp	.L632
.L634:
	add	DWORD PTR -2100[rbp], 1
.L632:
	mov	eax, DWORD PTR -2100[rbp]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2100[rbp]
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	and	eax, edx
	test	eax, eax
	je	.L633
	mov	eax, DWORD PTR -2100[rbp]
	and	eax, 31
	test	eax, eax
	jne	.L634
.L633:
	mov	eax, DWORD PTR -2100[rbp]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2100[rbp]
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	and	eax, edx
	test	eax, eax
	je	.L635
	jmp	.L636
.L637:
	add	DWORD PTR -2100[rbp], 32
.L636:
	mov	eax, DWORD PTR -2100[rbp]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, -1
	je	.L637
	jmp	.L638
.L639:
	add	DWORD PTR -2100[rbp], 1
.L638:
	mov	eax, DWORD PTR -2100[rbp]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2100[rbp]
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	and	eax, edx
	test	eax, eax
	jne	.L639
.L635:
	mov	eax, DWORD PTR -2100[rbp]
	sub	eax, 1
	mov	DWORD PTR -2080[rbp], eax
	mov	eax, DWORD PTR -2080[rbp]
	cmp	eax, DWORD PTR -2140[rbp]
	jge	.L666
	jmp	.L642
.L644:
	add	DWORD PTR -2100[rbp], 1
.L642:
	mov	eax, DWORD PTR -2100[rbp]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2100[rbp]
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	and	eax, edx
	test	eax, eax
	jne	.L643
	mov	eax, DWORD PTR -2100[rbp]
	and	eax, 31
	test	eax, eax
	jne	.L644
.L643:
	mov	eax, DWORD PTR -2100[rbp]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2100[rbp]
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	and	eax, edx
	test	eax, eax
	jne	.L645
	jmp	.L646
.L647:
	add	DWORD PTR -2100[rbp], 32
.L646:
	mov	eax, DWORD PTR -2100[rbp]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L647
	jmp	.L648
.L649:
	add	DWORD PTR -2100[rbp], 1
.L648:
	mov	eax, DWORD PTR -2100[rbp]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2100[rbp]
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	and	eax, edx
	test	eax, eax
	je	.L649
.L645:
	mov	eax, DWORD PTR -2100[rbp]
	sub	eax, 1
	mov	DWORD PTR -2096[rbp], eax
	mov	eax, DWORD PTR -2096[rbp]
	cmp	eax, DWORD PTR -2140[rbp]
	jge	.L667
	mov	eax, DWORD PTR -2096[rbp]
	cmp	eax, DWORD PTR -2080[rbp]
	jle	.L655
	mov	eax, DWORD PTR -2096[rbp]
	sub	eax, DWORD PTR -2080[rbp]
	add	eax, 1
	add	DWORD PTR -2088[rbp], eax
	mov	ecx, DWORD PTR -2096[rbp]
	mov	edx, DWORD PTR -2080[rbp]
	mov	rsi, QWORD PTR -2128[rbp]
	mov	rax, QWORD PTR -2120[rbp]
	mov	rdi, rax
	call	fallbackQSort3
	mov	DWORD PTR -2092[rbp], -1
	mov	eax, DWORD PTR -2080[rbp]
	mov	DWORD PTR -2108[rbp], eax
	jmp	.L652
.L654:
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2128[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2076[rbp], eax
	mov	eax, DWORD PTR -2092[rbp]
	cmp	eax, DWORD PTR -2076[rbp]
	je	.L653
	mov	eax, DWORD PTR -2108[rbp]
	sar	eax, 5
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2108[rbp]
	and	eax, 31
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	mov	esi, eax
	mov	eax, DWORD PTR -2108[rbp]
	sar	eax, 5
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -2136[rbp]
	add	rax, rcx
	or	edx, esi
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -2076[rbp]
	mov	DWORD PTR -2092[rbp], eax
.L653:
	add	DWORD PTR -2108[rbp], 1
.L652:
	mov	eax, DWORD PTR -2108[rbp]
	cmp	eax, DWORD PTR -2096[rbp]
	jle	.L654
	jmp	.L655
.L666:
	nop
	jmp	.L641
.L667:
	nop
.L641:
	cmp	DWORD PTR -2144[rbp], 3
	jle	.L656
	mov	eax, DWORD PTR -2088[rbp]
	mov	esi, eax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	vex_printf
.L656:
	sal	DWORD PTR -2112[rbp]
	mov	eax, DWORD PTR -2112[rbp]
	cmp	eax, DWORD PTR -2140[rbp]
	jg	.L657
	cmp	DWORD PTR -2088[rbp], 0
	je	.L657
	jmp	.L658
.L657:
	cmp	DWORD PTR -2144[rbp], 3
	jle	.L659
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	vex_printf
.L659:
	mov	DWORD PTR -2104[rbp], 0
	mov	DWORD PTR -2108[rbp], 0
	jmp	.L660
.L662:
	add	DWORD PTR -2104[rbp], 1
.L661:
	mov	eax, DWORD PTR -2104[rbp]
	cdqe
	mov	eax, DWORD PTR -2064[rbp+rax*4]
	test	eax, eax
	je	.L662
	mov	eax, DWORD PTR -2104[rbp]
	cdqe
	mov	eax, DWORD PTR -2064[rbp+rax*4]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -2104[rbp]
	cdqe
	mov	DWORD PTR -2064[rbp+rax*4], edx
	mov	eax, DWORD PTR -2108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -2072[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -2104[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -2108[rbp], 1
.L660:
	mov	eax, DWORD PTR -2108[rbp]
	cmp	eax, DWORD PTR -2140[rbp]
	jl	.L661
	cmp	DWORD PTR -2104[rbp], 255
	jle	.L668
	mov	edi, 1005
	call	bz_internal_error
.L668:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L665
	call	__stack_chk_fail@PLT
.L665:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	fallbackSort, .-fallbackSort
	.type	mainGtU, @function
mainGtU:
.LFB22:
	.cfi_startproc
	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	QWORD PTR -32[rbp], rdx
	mov	QWORD PTR -40[rbp], rcx
	mov	DWORD PTR -44[rbp], r8d
	mov	QWORD PTR -56[rbp], r9
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L670
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L670:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L672
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L672:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L673
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L673:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L674
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L674:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L675
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L675:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L676
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L676:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L677
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L677:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L678
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L678:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L679
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L679:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L680
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L680:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L681
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L681:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L682
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L682:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 8
	mov	DWORD PTR -4[rbp], eax
.L701:
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L683
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L683:
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -8[rbp], ax
	mov	eax, DWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	je	.L684
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	seta	al
	jmp	.L671
.L684:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L685
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L685:
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -8[rbp], ax
	mov	eax, DWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	je	.L686
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	seta	al
	jmp	.L671
.L686:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L687
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L687:
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -8[rbp], ax
	mov	eax, DWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	je	.L688
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	seta	al
	jmp	.L671
.L688:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L689
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L689:
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -8[rbp], ax
	mov	eax, DWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	je	.L690
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	seta	al
	jmp	.L671
.L690:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L691
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L691:
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -8[rbp], ax
	mov	eax, DWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	je	.L692
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	seta	al
	jmp	.L671
.L692:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L693
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L693:
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -8[rbp], ax
	mov	eax, DWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	je	.L694
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	seta	al
	jmp	.L671
.L694:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L695
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L695:
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -8[rbp], ax
	mov	eax, DWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	je	.L696
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	seta	al
	jmp	.L671
.L696:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	je	.L697
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, BYTE PTR -9[rbp]
	seta	al
	jmp	.L671
.L697:
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -8[rbp], ax
	mov	eax, DWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	je	.L698
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	seta	al
	jmp	.L671
.L698:
	add	DWORD PTR -20[rbp], 1
	add	DWORD PTR -24[rbp], 1
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jb	.L699
	mov	eax, DWORD PTR -44[rbp]
	sub	DWORD PTR -20[rbp], eax
.L699:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jb	.L700
	mov	eax, DWORD PTR -44[rbp]
	sub	DWORD PTR -24[rbp], eax
.L700:
	sub	DWORD PTR -4[rbp], 8
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
	cmp	DWORD PTR -4[rbp], 0
	jns	.L701
	mov	eax, 0
.L671:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	mainGtU, .-mainGtU
	.data
	.align 32
	.type	incs, @object
	.size	incs, 56
incs:
	.long	1
	.long	4
	.long	13
	.long	40
	.long	121
	.long	364
	.long	1093
	.long	3280
	.long	9841
	.long	29524
	.long	88573
	.long	265720
	.long	797161
	.long	2391484
	.text
	.type	mainSimpleSort, @function
mainSimpleSort:
.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, 72
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -60[rbp], ecx
	mov	DWORD PTR -64[rbp], r8d
	mov	DWORD PTR -68[rbp], r9d
	mov	eax, DWORD PTR -68[rbp]
	sub	eax, DWORD PTR -64[rbp]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 1
	jle	.L724
	mov	DWORD PTR -16[rbp], 0
	jmp	.L705
.L706:
	add	DWORD PTR -16[rbp], 1
.L705:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, incs[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -12[rbp], eax
	jg	.L706
	sub	DWORD PTR -16[rbp], 1
	jmp	.L707
.L723:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, incs[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -8[rbp], eax
	mov	edx, DWORD PTR -64[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	mov	DWORD PTR -24[rbp], eax
.L722:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jg	.L725
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L710
.L712:
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -8[rbp]
	sub	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -64[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	cmp	DWORD PTR -20[rbp], eax
	jl	.L726
.L710:
	mov	ecx, DWORD PTR -60[rbp]
	mov	edx, DWORD PTR 16[rbp]
	mov	eax, DWORD PTR -4[rbp]
	lea	esi, [rdx+rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR 16[rbp]
	lea	edi, [rdx+rax]
	mov	r8, QWORD PTR 24[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r9, r8
	mov	r8d, ecx
	mov	rcx, rdx
	mov	rdx, rax
	call	mainGtU
	test	al, al
	jne	.L712
	jmp	.L711
.L726:
	nop
.L711:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -24[rbp], 1
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jg	.L727
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L714
.L716:
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -8[rbp]
	sub	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -64[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	cmp	DWORD PTR -20[rbp], eax
	jl	.L728
.L714:
	mov	ecx, DWORD PTR -60[rbp]
	mov	edx, DWORD PTR 16[rbp]
	mov	eax, DWORD PTR -4[rbp]
	lea	esi, [rdx+rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR 16[rbp]
	lea	edi, [rdx+rax]
	mov	r8, QWORD PTR 24[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r9, r8
	mov	r8d, ecx
	mov	rcx, rdx
	mov	rdx, rax
	call	mainGtU
	test	al, al
	jne	.L716
	jmp	.L715
.L728:
	nop
.L715:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -24[rbp], 1
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jg	.L729
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L718
.L720:
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -8[rbp]
	sub	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -64[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	cmp	DWORD PTR -20[rbp], eax
	jl	.L730
.L718:
	mov	ecx, DWORD PTR -60[rbp]
	mov	edx, DWORD PTR 16[rbp]
	mov	eax, DWORD PTR -4[rbp]
	lea	esi, [rdx+rax]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR 16[rbp]
	lea	edi, [rdx+rax]
	mov	r8, QWORD PTR 24[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	r9, r8
	mov	r8d, ecx
	mov	rcx, rdx
	mov	rdx, rax
	call	mainGtU
	test	al, al
	jne	.L720
	jmp	.L719
.L730:
	nop
.L719:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR 24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L731
	jmp	.L722
.L725:
	nop
	jmp	.L709
.L727:
	nop
	jmp	.L709
.L729:
	nop
.L709:
	sub	DWORD PTR -16[rbp], 1
.L707:
	cmp	DWORD PTR -16[rbp], 0
	jns	.L723
	jmp	.L702
.L724:
	nop
	jmp	.L702
.L731:
	nop
.L702:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	mainSimpleSort, .-mainSimpleSort
	.type	mmed3, @function
mmed3:
.LFB24:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	ecx, esi
	mov	eax, edx
	mov	edx, edi
	mov	BYTE PTR -20[rbp], dl
	mov	edx, ecx
	mov	BYTE PTR -24[rbp], dl
	mov	BYTE PTR -28[rbp], al
	movzx	eax, BYTE PTR -20[rbp]
	cmp	al, BYTE PTR -24[rbp]
	jbe	.L733
	movzx	eax, BYTE PTR -20[rbp]
	mov	BYTE PTR -1[rbp], al
	movzx	eax, BYTE PTR -24[rbp]
	mov	BYTE PTR -20[rbp], al
	movzx	eax, BYTE PTR -1[rbp]
	mov	BYTE PTR -24[rbp], al
.L733:
	movzx	eax, BYTE PTR -24[rbp]
	cmp	al, BYTE PTR -28[rbp]
	jbe	.L734
	movzx	eax, BYTE PTR -28[rbp]
	mov	BYTE PTR -24[rbp], al
	movzx	eax, BYTE PTR -20[rbp]
	cmp	al, BYTE PTR -24[rbp]
	jbe	.L734
	movzx	eax, BYTE PTR -20[rbp]
	mov	BYTE PTR -24[rbp], al
.L734:
	movzx	eax, BYTE PTR -24[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	mmed3, .-mmed3
	.type	mainQSort3, @function
mainQSort3:
.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, 1408
	mov	QWORD PTR -1368[rbp], rdi
	mov	QWORD PTR -1376[rbp], rsi
	mov	QWORD PTR -1384[rbp], rdx
	mov	DWORD PTR -1388[rbp], ecx
	mov	DWORD PTR -1392[rbp], r8d
	mov	DWORD PTR -1396[rbp], r9d
	mov	rax, QWORD PTR 24[rbp]
	mov	QWORD PTR -1408[rbp], rax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1336[rbp], 0
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	edx, DWORD PTR -1392[rbp]
	mov	DWORD PTR -1216[rbp+rax*4], edx
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	edx, DWORD PTR -1396[rbp]
	mov	DWORD PTR -816[rbp+rax*4], edx
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	edx, DWORD PTR 16[rbp]
	mov	DWORD PTR -416[rbp+rax*4], edx
	add	DWORD PTR -1336[rbp], 1
	jmp	.L737
.L765:
	cmp	DWORD PTR -1336[rbp], 99
	jle	.L738
	mov	edi, 1001
	call	bz_internal_error
.L738:
	sub	DWORD PTR -1336[rbp], 1
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	eax, DWORD PTR -1216[rbp+rax*4]
	mov	DWORD PTR -1308[rbp], eax
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	eax, DWORD PTR -816[rbp+rax*4]
	mov	DWORD PTR -1304[rbp], eax
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	eax, DWORD PTR -416[rbp+rax*4]
	mov	DWORD PTR -1300[rbp], eax
	mov	eax, DWORD PTR -1304[rbp]
	sub	eax, DWORD PTR -1308[rbp]
	cmp	eax, 19
	jle	.L739
	cmp	DWORD PTR -1300[rbp], 14
	jle	.L740
.L739:
	mov	r9d, DWORD PTR -1304[rbp]
	mov	r8d, DWORD PTR -1308[rbp]
	mov	ecx, DWORD PTR -1388[rbp]
	mov	rdx, QWORD PTR -1384[rbp]
	mov	rsi, QWORD PTR -1376[rbp]
	mov	rax, QWORD PTR -1368[rbp]
	push	QWORD PTR -1408[rbp]
	mov	edi, DWORD PTR -1300[rbp]
	push	rdi
	mov	rdi, rax
	call	mainSimpleSort
	add	rsp, 16
	mov	rax, QWORD PTR -1408[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L768
	jmp	.L737
.L740:
	mov	edx, DWORD PTR -1308[rbp]
	mov	eax, DWORD PTR -1304[rbp]
	add	eax, edx
	sar	eax
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -1300[rbp]
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -1376[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -1304[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rcx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -1300[rbp]
	add	eax, ecx
	mov	ecx, eax
	mov	rax, QWORD PTR -1376[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	eax, DWORD PTR -1308[rbp]
	cdqe
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rsi
	mov	esi, DWORD PTR [rax]
	mov	eax, DWORD PTR -1300[rbp]
	add	eax, esi
	mov	esi, eax
	mov	rax, QWORD PTR -1376[rbp]
	add	rax, rsi
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, ecx
	mov	edi, eax
	call	mmed3
	movzx	eax, al
	mov	DWORD PTR -1296[rbp], eax
	mov	eax, DWORD PTR -1308[rbp]
	mov	DWORD PTR -1344[rbp], eax
	mov	eax, DWORD PTR -1344[rbp]
	mov	DWORD PTR -1352[rbp], eax
	mov	eax, DWORD PTR -1304[rbp]
	mov	DWORD PTR -1340[rbp], eax
	mov	eax, DWORD PTR -1340[rbp]
	mov	DWORD PTR -1348[rbp], eax
.L748:
	mov	eax, DWORD PTR -1352[rbp]
	cmp	eax, DWORD PTR -1348[rbp]
	jg	.L769
	mov	eax, DWORD PTR -1352[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -1300[rbp]
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -1376[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sub	eax, DWORD PTR -1296[rbp]
	mov	DWORD PTR -1292[rbp], eax
	cmp	DWORD PTR -1292[rbp], 0
	jne	.L745
	mov	eax, DWORD PTR -1352[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -1288[rbp], eax
	mov	eax, DWORD PTR -1344[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -1352[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -1368[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -1344[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -1288[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -1344[rbp], 1
	add	DWORD PTR -1352[rbp], 1
	jmp	.L746
.L745:
	cmp	DWORD PTR -1292[rbp], 0
	jg	.L770
	add	DWORD PTR -1352[rbp], 1
.L746:
	jmp	.L748
.L769:
	nop
	jmp	.L754
.L770:
	nop
.L754:
	mov	eax, DWORD PTR -1352[rbp]
	cmp	eax, DWORD PTR -1348[rbp]
	jg	.L771
	mov	eax, DWORD PTR -1348[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -1300[rbp]
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -1376[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sub	eax, DWORD PTR -1296[rbp]
	mov	DWORD PTR -1292[rbp], eax
	cmp	DWORD PTR -1292[rbp], 0
	jne	.L751
	mov	eax, DWORD PTR -1348[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -1284[rbp], eax
	mov	eax, DWORD PTR -1340[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -1348[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -1368[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -1340[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -1284[rbp]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -1340[rbp], 1
	sub	DWORD PTR -1348[rbp], 1
	jmp	.L752
.L751:
	cmp	DWORD PTR -1292[rbp], 0
	js	.L772
	sub	DWORD PTR -1348[rbp], 1
.L752:
	jmp	.L754
.L771:
	nop
	jmp	.L750
.L772:
	nop
.L750:
	mov	eax, DWORD PTR -1352[rbp]
	cmp	eax, DWORD PTR -1348[rbp]
	jg	.L773
	mov	eax, DWORD PTR -1352[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -1280[rbp], eax
	mov	eax, DWORD PTR -1348[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -1352[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -1368[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -1348[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -1280[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -1352[rbp], 1
	sub	DWORD PTR -1348[rbp], 1
	jmp	.L748
.L773:
	nop
	mov	eax, DWORD PTR -1340[rbp]
	cmp	eax, DWORD PTR -1344[rbp]
	jge	.L757
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	edx, DWORD PTR -1308[rbp]
	mov	DWORD PTR -1216[rbp+rax*4], edx
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	edx, DWORD PTR -1304[rbp]
	mov	DWORD PTR -816[rbp+rax*4], edx
	mov	eax, DWORD PTR -1300[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	DWORD PTR -416[rbp+rax*4], edx
	add	DWORD PTR -1336[rbp], 1
	jmp	.L737
.L757:
	mov	eax, DWORD PTR -1352[rbp]
	sub	eax, DWORD PTR -1344[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -1344[rbp]
	sub	eax, DWORD PTR -1308[rbp]
	cmp	edx, eax
	cmovle	eax, edx
	mov	DWORD PTR -1292[rbp], eax
	mov	eax, DWORD PTR -1308[rbp]
	mov	DWORD PTR -1332[rbp], eax
	mov	eax, DWORD PTR -1352[rbp]
	sub	eax, DWORD PTR -1292[rbp]
	mov	DWORD PTR -1328[rbp], eax
	mov	eax, DWORD PTR -1292[rbp]
	mov	DWORD PTR -1324[rbp], eax
	jmp	.L758
.L759:
	mov	eax, DWORD PTR -1332[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -1256[rbp], eax
	mov	eax, DWORD PTR -1328[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -1332[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -1368[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -1328[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -1256[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -1332[rbp], 1
	add	DWORD PTR -1328[rbp], 1
	sub	DWORD PTR -1324[rbp], 1
.L758:
	cmp	DWORD PTR -1324[rbp], 0
	jg	.L759
	mov	eax, DWORD PTR -1340[rbp]
	sub	eax, DWORD PTR -1348[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -1304[rbp]
	sub	eax, DWORD PTR -1340[rbp]
	cmp	edx, eax
	cmovle	eax, edx
	mov	DWORD PTR -1276[rbp], eax
	mov	eax, DWORD PTR -1352[rbp]
	mov	DWORD PTR -1320[rbp], eax
	mov	eax, DWORD PTR -1304[rbp]
	sub	eax, DWORD PTR -1276[rbp]
	add	eax, 1
	mov	DWORD PTR -1316[rbp], eax
	mov	eax, DWORD PTR -1276[rbp]
	mov	DWORD PTR -1312[rbp], eax
	jmp	.L760
.L761:
	mov	eax, DWORD PTR -1320[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -1260[rbp], eax
	mov	eax, DWORD PTR -1316[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -1320[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -1368[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -1316[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1368[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -1260[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -1320[rbp], 1
	add	DWORD PTR -1316[rbp], 1
	sub	DWORD PTR -1312[rbp], 1
.L760:
	cmp	DWORD PTR -1312[rbp], 0
	jg	.L761
	mov	edx, DWORD PTR -1308[rbp]
	mov	eax, DWORD PTR -1352[rbp]
	add	eax, edx
	sub	eax, DWORD PTR -1344[rbp]
	sub	eax, 1
	mov	DWORD PTR -1292[rbp], eax
	mov	eax, DWORD PTR -1340[rbp]
	sub	eax, DWORD PTR -1348[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -1304[rbp]
	sub	eax, edx
	add	eax, 1
	mov	DWORD PTR -1276[rbp], eax
	mov	eax, DWORD PTR -1308[rbp]
	mov	DWORD PTR -1252[rbp], eax
	mov	eax, DWORD PTR -1292[rbp]
	mov	DWORD PTR -1240[rbp], eax
	mov	eax, DWORD PTR -1300[rbp]
	mov	DWORD PTR -1228[rbp], eax
	mov	eax, DWORD PTR -1276[rbp]
	mov	DWORD PTR -1248[rbp], eax
	mov	eax, DWORD PTR -1304[rbp]
	mov	DWORD PTR -1236[rbp], eax
	mov	eax, DWORD PTR -1300[rbp]
	mov	DWORD PTR -1224[rbp], eax
	mov	eax, DWORD PTR -1292[rbp]
	add	eax, 1
	mov	DWORD PTR -1244[rbp], eax
	mov	eax, DWORD PTR -1276[rbp]
	sub	eax, 1
	mov	DWORD PTR -1232[rbp], eax
	mov	eax, DWORD PTR -1300[rbp]
	add	eax, 1
	mov	DWORD PTR -1220[rbp], eax
	mov	eax, DWORD PTR -1240[rbp]
	mov	ecx, DWORD PTR -1252[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR -1236[rbp]
	mov	ecx, DWORD PTR -1248[rbp]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L762
	mov	eax, DWORD PTR -1252[rbp]
	mov	DWORD PTR -1272[rbp], eax
	mov	eax, DWORD PTR -1248[rbp]
	mov	DWORD PTR -1252[rbp], eax
	mov	eax, DWORD PTR -1272[rbp]
	mov	DWORD PTR -1248[rbp], eax
	mov	eax, DWORD PTR -1240[rbp]
	mov	DWORD PTR -1272[rbp], eax
	mov	eax, DWORD PTR -1236[rbp]
	mov	DWORD PTR -1240[rbp], eax
	mov	eax, DWORD PTR -1272[rbp]
	mov	DWORD PTR -1236[rbp], eax
	mov	eax, DWORD PTR -1228[rbp]
	mov	DWORD PTR -1272[rbp], eax
	mov	eax, DWORD PTR -1224[rbp]
	mov	DWORD PTR -1228[rbp], eax
	mov	eax, DWORD PTR -1272[rbp]
	mov	DWORD PTR -1224[rbp], eax
.L762:
	mov	eax, DWORD PTR -1236[rbp]
	mov	ecx, DWORD PTR -1248[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR -1232[rbp]
	mov	ecx, DWORD PTR -1244[rbp]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L763
	mov	eax, DWORD PTR -1248[rbp]
	mov	DWORD PTR -1268[rbp], eax
	mov	eax, DWORD PTR -1244[rbp]
	mov	DWORD PTR -1248[rbp], eax
	mov	eax, DWORD PTR -1268[rbp]
	mov	DWORD PTR -1244[rbp], eax
	mov	eax, DWORD PTR -1236[rbp]
	mov	DWORD PTR -1268[rbp], eax
	mov	eax, DWORD PTR -1232[rbp]
	mov	DWORD PTR -1236[rbp], eax
	mov	eax, DWORD PTR -1268[rbp]
	mov	DWORD PTR -1232[rbp], eax
	mov	eax, DWORD PTR -1224[rbp]
	mov	DWORD PTR -1268[rbp], eax
	mov	eax, DWORD PTR -1220[rbp]
	mov	DWORD PTR -1224[rbp], eax
	mov	eax, DWORD PTR -1268[rbp]
	mov	DWORD PTR -1220[rbp], eax
.L763:
	mov	eax, DWORD PTR -1240[rbp]
	mov	ecx, DWORD PTR -1252[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR -1236[rbp]
	mov	ecx, DWORD PTR -1248[rbp]
	sub	eax, ecx
	cmp	edx, eax
	jge	.L764
	mov	eax, DWORD PTR -1252[rbp]
	mov	DWORD PTR -1264[rbp], eax
	mov	eax, DWORD PTR -1248[rbp]
	mov	DWORD PTR -1252[rbp], eax
	mov	eax, DWORD PTR -1264[rbp]
	mov	DWORD PTR -1248[rbp], eax
	mov	eax, DWORD PTR -1240[rbp]
	mov	DWORD PTR -1264[rbp], eax
	mov	eax, DWORD PTR -1236[rbp]
	mov	DWORD PTR -1240[rbp], eax
	mov	eax, DWORD PTR -1264[rbp]
	mov	DWORD PTR -1236[rbp], eax
	mov	eax, DWORD PTR -1228[rbp]
	mov	DWORD PTR -1264[rbp], eax
	mov	eax, DWORD PTR -1224[rbp]
	mov	DWORD PTR -1228[rbp], eax
	mov	eax, DWORD PTR -1264[rbp]
	mov	DWORD PTR -1224[rbp], eax
.L764:
	mov	edx, DWORD PTR -1252[rbp]
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	DWORD PTR -1216[rbp+rax*4], edx
	mov	edx, DWORD PTR -1240[rbp]
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	DWORD PTR -816[rbp+rax*4], edx
	mov	edx, DWORD PTR -1228[rbp]
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	DWORD PTR -416[rbp+rax*4], edx
	add	DWORD PTR -1336[rbp], 1
	mov	edx, DWORD PTR -1248[rbp]
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	DWORD PTR -1216[rbp+rax*4], edx
	mov	edx, DWORD PTR -1236[rbp]
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	DWORD PTR -816[rbp+rax*4], edx
	mov	edx, DWORD PTR -1224[rbp]
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	DWORD PTR -416[rbp+rax*4], edx
	add	DWORD PTR -1336[rbp], 1
	mov	edx, DWORD PTR -1244[rbp]
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	DWORD PTR -1216[rbp+rax*4], edx
	mov	edx, DWORD PTR -1232[rbp]
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	DWORD PTR -816[rbp+rax*4], edx
	mov	edx, DWORD PTR -1220[rbp]
	mov	eax, DWORD PTR -1336[rbp]
	cdqe
	mov	DWORD PTR -416[rbp+rax*4], edx
	add	DWORD PTR -1336[rbp], 1
.L737:
	cmp	DWORD PTR -1336[rbp], 0
	jg	.L765
	jmp	.L736
.L768:
	nop
.L736:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L766
	call	__stack_chk_fail@PLT
.L766:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	mainQSort3, .-mainQSort3
	.section	.rodata
	.align 8
.LC8:
	.string	"        main sort initialise ...\n"
	.align 8
.LC9:
	.string	"        qsort [0x%x, 0x%x]   done %d   this %d\n"
	.align 8
.LC10:
	.string	"        %d pointers, %d sorted, %d scanned\n"
	.text
	.type	mainSort, @function
mainSort:
.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, 3456
	mov	QWORD PTR -3416[rbp], rdi
	mov	QWORD PTR -3424[rbp], rsi
	mov	QWORD PTR -3432[rbp], rdx
	mov	QWORD PTR -3440[rbp], rcx
	mov	DWORD PTR -3444[rbp], r8d
	mov	DWORD PTR -3448[rbp], r9d
	mov	rax, QWORD PTR 16[rbp]
	mov	QWORD PTR -3456[rbp], rax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -3448[rbp], 3
	jle	.L775
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	vex_printf
.L775:
	mov	DWORD PTR -3400[rbp], 65536
	jmp	.L776
.L777:
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	sub	DWORD PTR -3400[rbp], 1
.L776:
	cmp	DWORD PTR -3400[rbp], 0
	jns	.L777
	mov	rax, QWORD PTR -3424[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	DWORD PTR -3396[rbp], eax
	mov	eax, DWORD PTR -3444[rbp]
	sub	eax, 1
	mov	DWORD PTR -3400[rbp], eax
	jmp	.L778
.L779:
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -3432[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 0
	mov	eax, DWORD PTR -3396[rbp]
	sar	eax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -3400[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, ecx
	mov	DWORD PTR -3396[rbp], eax
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	add	rax, rax
	lea	rdx, -2[rax]
	mov	rax, QWORD PTR -3432[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 0
	mov	eax, DWORD PTR -3396[rbp]
	sar	eax, 8
	mov	edx, eax
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rcx, -1[rax]
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, edx
	mov	DWORD PTR -3396[rbp], eax
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	add	rax, rax
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -3432[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 0
	mov	eax, DWORD PTR -3396[rbp]
	sar	eax, 8
	mov	edx, eax
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rcx, -2[rax]
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, edx
	mov	DWORD PTR -3396[rbp], eax
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	add	rax, rax
	lea	rdx, -6[rax]
	mov	rax, QWORD PTR -3432[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 0
	mov	eax, DWORD PTR -3396[rbp]
	sar	eax, 8
	mov	edx, eax
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rcx, -3[rax]
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, edx
	mov	DWORD PTR -3396[rbp], eax
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	sub	DWORD PTR -3400[rbp], 4
.L778:
	cmp	DWORD PTR -3400[rbp], 2
	jg	.L779
	jmp	.L780
.L781:
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -3432[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 0
	mov	eax, DWORD PTR -3396[rbp]
	sar	eax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -3400[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, ecx
	mov	DWORD PTR -3396[rbp], eax
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	sub	DWORD PTR -3400[rbp], 1
.L780:
	cmp	DWORD PTR -3400[rbp], 0
	jns	.L781
	mov	DWORD PTR -3400[rbp], 0
	jmp	.L782
.L783:
	mov	eax, DWORD PTR -3400[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR -3444[rbp]
	mov	edx, DWORD PTR -3400[rbp]
	add	edx, ecx
	movsx	rcx, edx
	mov	rdx, QWORD PTR -3424[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	mov	edx, DWORD PTR -3444[rbp]
	mov	eax, DWORD PTR -3400[rbp]
	add	eax, edx
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -3432[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 0
	add	DWORD PTR -3400[rbp], 1
.L782:
	cmp	DWORD PTR -3400[rbp], 33
	jle	.L783
	cmp	DWORD PTR -3448[rbp], 3
	jle	.L784
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	vex_printf
.L784:
	mov	DWORD PTR -3400[rbp], 1
	jmp	.L785
.L786:
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rsi
	add	edx, ecx
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -3400[rbp], 1
.L785:
	cmp	DWORD PTR -3400[rbp], 65536
	jle	.L786
	mov	rax, QWORD PTR -3424[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	WORD PTR -3404[rbp], ax
	mov	eax, DWORD PTR -3444[rbp]
	sub	eax, 1
	mov	DWORD PTR -3400[rbp], eax
	jmp	.L787
.L788:
	movzx	eax, WORD PTR -3404[rbp]
	shr	ax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -3400[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, ecx
	mov	WORD PTR -3404[rbp], ax
	movzx	eax, WORD PTR -3404[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	DWORD PTR -3396[rbp], eax
	movzx	eax, WORD PTR -3404[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -3396[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3416[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -3400[rbp]
	mov	DWORD PTR [rdx], eax
	movzx	eax, WORD PTR -3404[rbp]
	shr	ax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, ecx
	mov	WORD PTR -3404[rbp], ax
	movzx	eax, WORD PTR -3404[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	DWORD PTR -3396[rbp], eax
	movzx	eax, WORD PTR -3404[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -3396[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -3400[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -3416[rbp]
	add	rax, rcx
	mov	DWORD PTR [rax], edx
	movzx	eax, WORD PTR -3404[rbp]
	shr	ax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rdx, -2[rax]
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, ecx
	mov	WORD PTR -3404[rbp], ax
	movzx	eax, WORD PTR -3404[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	DWORD PTR -3396[rbp], eax
	movzx	eax, WORD PTR -3404[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -3396[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -3400[rbp]
	lea	edx, -2[rax]
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -3416[rbp]
	add	rax, rcx
	mov	DWORD PTR [rax], edx
	movzx	eax, WORD PTR -3404[rbp]
	shr	ax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	lea	rdx, -3[rax]
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, ecx
	mov	WORD PTR -3404[rbp], ax
	movzx	eax, WORD PTR -3404[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	DWORD PTR -3396[rbp], eax
	movzx	eax, WORD PTR -3404[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -3396[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -3400[rbp]
	lea	edx, -3[rax]
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -3416[rbp]
	add	rax, rcx
	mov	DWORD PTR [rax], edx
	sub	DWORD PTR -3400[rbp], 4
.L787:
	cmp	DWORD PTR -3400[rbp], 2
	jg	.L788
	jmp	.L789
.L790:
	movzx	eax, WORD PTR -3404[rbp]
	shr	ax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -3400[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	or	eax, ecx
	mov	WORD PTR -3404[rbp], ax
	movzx	eax, WORD PTR -3404[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	DWORD PTR -3396[rbp], eax
	movzx	eax, WORD PTR -3404[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -3396[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3416[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -3400[rbp]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -3400[rbp], 1
.L789:
	cmp	DWORD PTR -3400[rbp], 0
	jns	.L790
	mov	DWORD PTR -3400[rbp], 0
	jmp	.L791
.L792:
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	mov	BYTE PTR -272[rbp+rax], 0
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	mov	edx, DWORD PTR -3400[rbp]
	mov	DWORD PTR -3344[rbp+rax*4], edx
	add	DWORD PTR -3400[rbp], 1
.L791:
	cmp	DWORD PTR -3400[rbp], 255
	jle	.L792
	mov	DWORD PTR -3384[rbp], 1
.L793:
	mov	edx, DWORD PTR -3384[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -3384[rbp], eax
	cmp	DWORD PTR -3384[rbp], 256
	jle	.L793
.L799:
	mov	eax, DWORD PTR -3384[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -3384[rbp], eax
	mov	eax, DWORD PTR -3384[rbp]
	mov	DWORD PTR -3400[rbp], eax
	jmp	.L794
.L798:
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	mov	eax, DWORD PTR -3344[rbp+rax*4]
	mov	DWORD PTR -3348[rbp], eax
	mov	eax, DWORD PTR -3400[rbp]
	mov	DWORD PTR -3396[rbp], eax
	jmp	.L795
.L797:
	mov	eax, DWORD PTR -3396[rbp]
	sub	eax, DWORD PTR -3384[rbp]
	cdqe
	mov	edx, DWORD PTR -3344[rbp+rax*4]
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	mov	DWORD PTR -3344[rbp+rax*4], edx
	mov	eax, DWORD PTR -3384[rbp]
	sub	DWORD PTR -3396[rbp], eax
	mov	eax, DWORD PTR -3384[rbp]
	cmp	eax, DWORD PTR -3396[rbp]
	jg	.L831
.L795:
	mov	eax, DWORD PTR -3396[rbp]
	sub	eax, DWORD PTR -3384[rbp]
	cdqe
	mov	eax, DWORD PTR -3344[rbp+rax*4]
	add	eax, 1
	sal	eax, 8
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -3396[rbp]
	sub	eax, DWORD PTR -3384[rbp]
	cdqe
	mov	eax, DWORD PTR -3344[rbp+rax*4]
	sal	eax, 8
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR -3348[rbp]
	add	eax, 1
	sal	eax, 8
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -3348[rbp]
	sal	edx, 8
	movsx	rdx, edx
	lea	rsi, 0[0+rdx*4]
	mov	rdx, QWORD PTR -3440[rbp]
	add	rdx, rsi
	mov	edx, DWORD PTR [rdx]
	sub	eax, edx
	cmp	ecx, eax
	ja	.L797
	jmp	.L796
.L831:
	nop
.L796:
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	mov	edx, DWORD PTR -3348[rbp]
	mov	DWORD PTR -3344[rbp+rax*4], edx
	add	DWORD PTR -3400[rbp], 1
.L794:
	cmp	DWORD PTR -3400[rbp], 255
	jle	.L798
	cmp	DWORD PTR -3384[rbp], 1
	jne	.L799
	mov	DWORD PTR -3388[rbp], 0
	mov	DWORD PTR -3400[rbp], 0
	jmp	.L800
.L828:
	mov	eax, DWORD PTR -3400[rbp]
	cdqe
	mov	eax, DWORD PTR -3344[rbp+rax*4]
	mov	DWORD PTR -3376[rbp], eax
	mov	DWORD PTR -3396[rbp], 0
	jmp	.L801
.L806:
	mov	eax, DWORD PTR -3396[rbp]
	cmp	eax, DWORD PTR -3376[rbp]
	je	.L802
	mov	eax, DWORD PTR -3376[rbp]
	sal	eax, 8
	mov	edx, eax
	mov	eax, DWORD PTR -3396[rbp]
	add	eax, edx
	mov	DWORD PTR -3360[rbp], eax
	mov	eax, DWORD PTR -3360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	and	eax, 2097152
	test	eax, eax
	jne	.L803
	mov	eax, DWORD PTR -3360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	and	eax, -2097153
	mov	DWORD PTR -3356[rbp], eax
	mov	eax, DWORD PTR -3360[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	and	eax, -2097153
	sub	eax, 1
	mov	DWORD PTR -3352[rbp], eax
	mov	eax, DWORD PTR -3352[rbp]
	cmp	eax, DWORD PTR -3356[rbp]
	jle	.L803
	cmp	DWORD PTR -3448[rbp], 3
	jle	.L804
	mov	eax, DWORD PTR -3352[rbp]
	sub	eax, DWORD PTR -3356[rbp]
	lea	esi, 1[rax]
	mov	ecx, DWORD PTR -3388[rbp]
	mov	edx, DWORD PTR -3396[rbp]
	mov	eax, DWORD PTR -3376[rbp]
	mov	r8d, esi
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	vex_printf
.L804:
	mov	r8d, DWORD PTR -3352[rbp]
	mov	edi, DWORD PTR -3356[rbp]
	mov	ecx, DWORD PTR -3444[rbp]
	mov	rdx, QWORD PTR -3432[rbp]
	mov	rsi, QWORD PTR -3424[rbp]
	mov	rax, QWORD PTR -3416[rbp]
	push	QWORD PTR -3456[rbp]
	push	2
	mov	r9d, r8d
	mov	r8d, edi
	mov	rdi, rax
	call	mainQSort3
	add	rsp, 16
	mov	eax, DWORD PTR -3352[rbp]
	sub	eax, DWORD PTR -3356[rbp]
	add	eax, 1
	add	DWORD PTR -3388[rbp], eax
	mov	rax, QWORD PTR -3456[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L832
.L803:
	mov	eax, DWORD PTR -3360[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -3360[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rcx
	or	edx, 2097152
	mov	DWORD PTR [rax], edx
.L802:
	add	DWORD PTR -3396[rbp], 1
.L801:
	cmp	DWORD PTR -3396[rbp], 255
	jle	.L806
	mov	eax, DWORD PTR -3376[rbp]
	cdqe
	movzx	eax, BYTE PTR -272[rbp+rax]
	test	al, al
	je	.L807
	mov	edi, 1006
	call	bz_internal_error
.L807:
	mov	DWORD PTR -3396[rbp], 0
	jmp	.L808
.L809:
	mov	eax, DWORD PTR -3396[rbp]
	sal	eax, 8
	mov	edx, eax
	mov	eax, DWORD PTR -3376[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	and	eax, -2097153
	mov	edx, eax
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	mov	DWORD PTR -2320[rbp+rax*4], edx
	mov	eax, DWORD PTR -3396[rbp]
	sal	eax, 8
	mov	edx, eax
	mov	eax, DWORD PTR -3376[rbp]
	add	eax, edx
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	and	eax, -2097153
	sub	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	mov	DWORD PTR -1296[rbp+rax*4], edx
	add	DWORD PTR -3396[rbp], 1
.L808:
	cmp	DWORD PTR -3396[rbp], 255
	jle	.L809
	mov	eax, DWORD PTR -3376[rbp]
	sal	eax, 8
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	and	eax, -2097153
	mov	DWORD PTR -3396[rbp], eax
	jmp	.L810
.L813:
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3416[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	DWORD PTR -3392[rbp], eax
	cmp	DWORD PTR -3392[rbp], 0
	jns	.L811
	mov	eax, DWORD PTR -3444[rbp]
	add	DWORD PTR -3392[rbp], eax
.L811:
	mov	eax, DWORD PTR -3392[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -3405[rbp], al
	movzx	eax, BYTE PTR -3405[rbp]
	cdqe
	movzx	eax, BYTE PTR -272[rbp+rax]
	test	al, al
	jne	.L812
	movzx	edx, BYTE PTR -3405[rbp]
	movsx	rax, edx
	mov	eax, DWORD PTR -2320[rbp+rax*4]
	lea	ecx, 1[rax]
	movsx	rdx, edx
	mov	DWORD PTR -2320[rbp+rdx*4], ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3416[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -3392[rbp]
	mov	DWORD PTR [rdx], eax
.L812:
	add	DWORD PTR -3396[rbp], 1
.L810:
	mov	eax, DWORD PTR -3376[rbp]
	cdqe
	mov	eax, DWORD PTR -2320[rbp+rax*4]
	cmp	DWORD PTR -3396[rbp], eax
	jl	.L813
	mov	eax, DWORD PTR -3376[rbp]
	add	eax, 1
	sal	eax, 8
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	and	eax, -2097153
	sub	eax, 1
	mov	DWORD PTR -3396[rbp], eax
	jmp	.L814
.L817:
	mov	eax, DWORD PTR -3396[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3416[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	DWORD PTR -3392[rbp], eax
	cmp	DWORD PTR -3392[rbp], 0
	jns	.L815
	mov	eax, DWORD PTR -3444[rbp]
	add	DWORD PTR -3392[rbp], eax
.L815:
	mov	eax, DWORD PTR -3392[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -3424[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -3405[rbp], al
	movzx	eax, BYTE PTR -3405[rbp]
	cdqe
	movzx	eax, BYTE PTR -272[rbp+rax]
	test	al, al
	jne	.L816
	movzx	edx, BYTE PTR -3405[rbp]
	movsx	rax, edx
	mov	eax, DWORD PTR -1296[rbp+rax*4]
	lea	ecx, -1[rax]
	movsx	rdx, edx
	mov	DWORD PTR -1296[rbp+rdx*4], ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3416[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -3392[rbp]
	mov	DWORD PTR [rdx], eax
.L816:
	sub	DWORD PTR -3396[rbp], 1
.L814:
	mov	eax, DWORD PTR -3376[rbp]
	cdqe
	mov	eax, DWORD PTR -1296[rbp+rax*4]
	cmp	DWORD PTR -3396[rbp], eax
	jg	.L817
	mov	eax, DWORD PTR -3376[rbp]
	cdqe
	mov	eax, DWORD PTR -2320[rbp+rax*4]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -3376[rbp]
	cdqe
	mov	eax, DWORD PTR -1296[rbp+rax*4]
	cmp	edx, eax
	je	.L818
	mov	eax, DWORD PTR -3376[rbp]
	cdqe
	mov	eax, DWORD PTR -2320[rbp+rax*4]
	test	eax, eax
	jne	.L819
	mov	eax, DWORD PTR -3376[rbp]
	cdqe
	mov	eax, DWORD PTR -1296[rbp+rax*4]
	mov	edx, DWORD PTR -3444[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L818
.L819:
	mov	edi, 1007
	call	bz_internal_error
.L818:
	mov	DWORD PTR -3396[rbp], 0
	jmp	.L820
.L821:
	mov	eax, DWORD PTR -3396[rbp]
	sal	eax, 8
	mov	edx, eax
	mov	eax, DWORD PTR -3376[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -3396[rbp]
	sal	eax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -3376[rbp]
	add	eax, ecx
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rcx
	or	edx, 2097152
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -3396[rbp], 1
.L820:
	cmp	DWORD PTR -3396[rbp], 255
	jle	.L821
	mov	eax, DWORD PTR -3376[rbp]
	cdqe
	mov	BYTE PTR -272[rbp+rax], 1
	cmp	DWORD PTR -3400[rbp], 254
	jg	.L822
	mov	eax, DWORD PTR -3376[rbp]
	sal	eax, 8
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	and	eax, -2097153
	mov	DWORD PTR -3372[rbp], eax
	mov	eax, DWORD PTR -3376[rbp]
	add	eax, 1
	sal	eax, 8
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3440[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	and	eax, -2097153
	mov	edx, DWORD PTR -3372[rbp]
	sub	eax, edx
	mov	DWORD PTR -3368[rbp], eax
	mov	DWORD PTR -3380[rbp], 0
	jmp	.L823
.L824:
	add	DWORD PTR -3380[rbp], 1
.L823:
	mov	eax, DWORD PTR -3380[rbp]
	mov	edx, DWORD PTR -3368[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	cmp	eax, 65534
	jg	.L824
	mov	eax, DWORD PTR -3368[rbp]
	sub	eax, 1
	mov	DWORD PTR -3396[rbp], eax
	jmp	.L825
.L827:
	mov	edx, DWORD PTR -3372[rbp]
	mov	eax, DWORD PTR -3396[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -3416[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -3364[rbp], eax
	mov	eax, DWORD PTR -3380[rbp]
	mov	edx, DWORD PTR -3396[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	mov	WORD PTR -3402[rbp], ax
	mov	eax, DWORD PTR -3364[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -3432[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -3402[rbp]
	mov	WORD PTR [rdx], ax
	cmp	DWORD PTR -3364[rbp], 33
	jg	.L826
	mov	edx, DWORD PTR -3364[rbp]
	mov	eax, DWORD PTR -3444[rbp]
	add	eax, edx
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -3432[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -3402[rbp]
	mov	WORD PTR [rdx], ax
.L826:
	sub	DWORD PTR -3396[rbp], 1
.L825:
	cmp	DWORD PTR -3396[rbp], 0
	jns	.L827
	mov	eax, DWORD PTR -3368[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -3380[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	cmp	eax, 65535
	jle	.L822
	mov	edi, 1002
	call	bz_internal_error
.L822:
	add	DWORD PTR -3400[rbp], 1
.L800:
	cmp	DWORD PTR -3400[rbp], 255
	jle	.L828
	cmp	DWORD PTR -3448[rbp], 3
	jle	.L774
	mov	eax, DWORD PTR -3444[rbp]
	sub	eax, DWORD PTR -3388[rbp]
	mov	ecx, eax
	mov	edx, DWORD PTR -3388[rbp]
	mov	eax, DWORD PTR -3444[rbp]
	mov	esi, eax
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	vex_printf
	jmp	.L774
.L832:
	nop
.L774:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L830
	call	__stack_chk_fail@PLT
.L830:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	mainSort, .-mainSort
	.section	.rodata
	.align 8
.LC11:
	.string	"    too repetitive; using fallback sorting algorithm\n"
	.text
	.globl	BZ2_blockSort
	.type	BZ2_blockSort, @function
BZ2_blockSort:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 108[rax]
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 656[rax]
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 88[rax]
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -52[rbp], 999
	jg	.L834
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edi, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -52[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fallbackSort
	jmp	.L835
.L834:
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 34
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 1
	test	eax, eax
	je	.L836
	add	DWORD PTR -56[rbp], 1
.L836:
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	cmp	DWORD PTR -60[rbp], 0
	jg	.L837
	mov	DWORD PTR -60[rbp], 1
.L837:
	cmp	DWORD PTR -60[rbp], 100
	jle	.L838
	mov	DWORD PTR -60[rbp], 100
.L838:
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	sub	edx, eax
	mov	eax, DWORD PTR -52[rbp]
	imul	eax, edx
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -64[rbp], eax
	mov	r9d, DWORD PTR -48[rbp]
	mov	r8d, DWORD PTR -52[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	sub	rsp, 8
	lea	rdi, -64[rbp]
	push	rdi
	mov	rdi, rax
	call	mainSort
	add	rsp, 16
	mov	eax, DWORD PTR -64[rbp]
	test	eax, eax
	jns	.L835
	cmp	DWORD PTR -48[rbp], 1
	jle	.L839
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	vex_printf
.L839:
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edi, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -52[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	fallbackSort
.L835:
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 48[rax], -1
	mov	DWORD PTR -56[rbp], 0
	jmp	.L840
.L843:
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L841
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -56[rbp]
	mov	DWORD PTR 48[rax], edx
	jmp	.L842
.L841:
	add	DWORD PTR -56[rbp], 1
.L840:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 108[rax]
	cmp	DWORD PTR -56[rbp], eax
	jl	.L843
.L842:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 48[rax]
	cmp	eax, -1
	jne	.L846
	mov	edi, 1003
	call	bz_internal_error
.L846:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L845
	call	__stack_chk_fail@PLT
.L845:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	BZ2_blockSort, .-BZ2_blockSort
	.globl	BZ2_hbMakeCodeLengths
	.type	BZ2_hbMakeCodeLengths, @function
BZ2_hbMakeCodeLengths:
.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, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 1200
	mov	QWORD PTR -5272[rbp], rdi
	mov	QWORD PTR -5280[rbp], rsi
	mov	DWORD PTR -5284[rbp], edx
	mov	DWORD PTR -5288[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -5244[rbp], 0
	jmp	.L848
.L851:
	mov	eax, DWORD PTR -5244[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -5280[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L849
	mov	eax, DWORD PTR -5244[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -5280[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sal	eax, 8
	mov	edx, eax
	jmp	.L850
.L849:
	mov	edx, 256
.L850:
	mov	eax, DWORD PTR -5244[rbp]
	add	eax, 1
	cdqe
	mov	DWORD PTR -4144[rbp+rax*4], edx
	add	DWORD PTR -5244[rbp], 1
.L848:
	mov	eax, DWORD PTR -5244[rbp]
	cmp	eax, DWORD PTR -5284[rbp]
	jl	.L851
.L881:
	mov	eax, DWORD PTR -5284[rbp]
	mov	DWORD PTR -5252[rbp], eax
	mov	DWORD PTR -5248[rbp], 0
	mov	DWORD PTR -5184[rbp], 0
	mov	DWORD PTR -4144[rbp], 0
	mov	DWORD PTR -2080[rbp], -2
	mov	DWORD PTR -5244[rbp], 1
	jmp	.L852
.L855:
	mov	eax, DWORD PTR -5244[rbp]
	cdqe
	mov	DWORD PTR -2080[rbp+rax*4], -1
	add	DWORD PTR -5248[rbp], 1
	mov	eax, DWORD PTR -5248[rbp]
	cdqe
	mov	edx, DWORD PTR -5244[rbp]
	mov	DWORD PTR -5184[rbp+rax*4], edx
	mov	eax, DWORD PTR -5248[rbp]
	mov	DWORD PTR -5232[rbp], eax
	mov	eax, DWORD PTR -5232[rbp]
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	mov	DWORD PTR -5188[rbp], eax
	jmp	.L853
.L854:
	mov	eax, DWORD PTR -5232[rbp]
	sar	eax
	cdqe
	mov	edx, DWORD PTR -5184[rbp+rax*4]
	mov	eax, DWORD PTR -5232[rbp]
	cdqe
	mov	DWORD PTR -5184[rbp+rax*4], edx
	sar	DWORD PTR -5232[rbp]
.L853:
	mov	eax, DWORD PTR -5188[rbp]
	cdqe
	mov	edx, DWORD PTR -4144[rbp+rax*4]
	mov	eax, DWORD PTR -5232[rbp]
	sar	eax
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	cmp	edx, eax
	jl	.L854
	mov	eax, DWORD PTR -5232[rbp]
	cdqe
	mov	edx, DWORD PTR -5188[rbp]
	mov	DWORD PTR -5184[rbp+rax*4], edx
	add	DWORD PTR -5244[rbp], 1
.L852:
	mov	eax, DWORD PTR -5244[rbp]
	cmp	eax, DWORD PTR -5284[rbp]
	jle	.L855
	cmp	DWORD PTR -5248[rbp], 259
	jle	.L857
	mov	edi, 2001
	call	bz_internal_error
	jmp	.L857
.L870:
	mov	eax, DWORD PTR -5180[rbp]
	mov	DWORD PTR -5208[rbp], eax
	mov	eax, DWORD PTR -5248[rbp]
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	mov	DWORD PTR -5180[rbp], eax
	sub	DWORD PTR -5248[rbp], 1
	mov	DWORD PTR -5228[rbp], 1
	mov	eax, DWORD PTR -5228[rbp]
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	mov	DWORD PTR -5204[rbp], eax
.L862:
	mov	eax, DWORD PTR -5228[rbp]
	add	eax, eax
	mov	DWORD PTR -5224[rbp], eax
	mov	eax, DWORD PTR -5224[rbp]
	cmp	eax, DWORD PTR -5248[rbp]
	jg	.L884
	mov	eax, DWORD PTR -5224[rbp]
	cmp	eax, DWORD PTR -5248[rbp]
	jge	.L860
	mov	eax, DWORD PTR -5224[rbp]
	add	eax, 1
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	cdqe
	mov	edx, DWORD PTR -4144[rbp+rax*4]
	mov	eax, DWORD PTR -5224[rbp]
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	cmp	edx, eax
	jge	.L860
	add	DWORD PTR -5224[rbp], 1
.L860:
	mov	eax, DWORD PTR -5204[rbp]
	cdqe
	mov	edx, DWORD PTR -4144[rbp+rax*4]
	mov	eax, DWORD PTR -5224[rbp]
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	cmp	edx, eax
	jl	.L884
	mov	eax, DWORD PTR -5224[rbp]
	cdqe
	mov	edx, DWORD PTR -5184[rbp+rax*4]
	mov	eax, DWORD PTR -5228[rbp]
	cdqe
	mov	DWORD PTR -5184[rbp+rax*4], edx
	mov	eax, DWORD PTR -5224[rbp]
	mov	DWORD PTR -5228[rbp], eax
	jmp	.L862
.L884:
	nop
	mov	eax, DWORD PTR -5228[rbp]
	cdqe
	mov	edx, DWORD PTR -5204[rbp]
	mov	DWORD PTR -5184[rbp+rax*4], edx
	mov	eax, DWORD PTR -5180[rbp]
	mov	DWORD PTR -5200[rbp], eax
	mov	eax, DWORD PTR -5248[rbp]
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	mov	DWORD PTR -5180[rbp], eax
	sub	DWORD PTR -5248[rbp], 1
	mov	DWORD PTR -5220[rbp], 1
	mov	eax, DWORD PTR -5220[rbp]
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	mov	DWORD PTR -5196[rbp], eax
.L867:
	mov	eax, DWORD PTR -5220[rbp]
	add	eax, eax
	mov	DWORD PTR -5216[rbp], eax
	mov	eax, DWORD PTR -5216[rbp]
	cmp	eax, DWORD PTR -5248[rbp]
	jg	.L885
	mov	eax, DWORD PTR -5216[rbp]
	cmp	eax, DWORD PTR -5248[rbp]
	jge	.L865
	mov	eax, DWORD PTR -5216[rbp]
	add	eax, 1
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	cdqe
	mov	edx, DWORD PTR -4144[rbp+rax*4]
	mov	eax, DWORD PTR -5216[rbp]
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	cmp	edx, eax
	jge	.L865
	add	DWORD PTR -5216[rbp], 1
.L865:
	mov	eax, DWORD PTR -5196[rbp]
	cdqe
	mov	edx, DWORD PTR -4144[rbp+rax*4]
	mov	eax, DWORD PTR -5216[rbp]
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	cmp	edx, eax
	jl	.L885
	mov	eax, DWORD PTR -5216[rbp]
	cdqe
	mov	edx, DWORD PTR -5184[rbp+rax*4]
	mov	eax, DWORD PTR -5220[rbp]
	cdqe
	mov	DWORD PTR -5184[rbp+rax*4], edx
	mov	eax, DWORD PTR -5216[rbp]
	mov	DWORD PTR -5220[rbp], eax
	jmp	.L867
.L885:
	nop
	mov	eax, DWORD PTR -5220[rbp]
	cdqe
	mov	edx, DWORD PTR -5196[rbp]
	mov	DWORD PTR -5184[rbp+rax*4], edx
	add	DWORD PTR -5252[rbp], 1
	mov	eax, DWORD PTR -5200[rbp]
	cdqe
	mov	edx, DWORD PTR -5252[rbp]
	mov	DWORD PTR -2080[rbp+rax*4], edx
	mov	eax, DWORD PTR -5200[rbp]
	cdqe
	mov	edx, DWORD PTR -2080[rbp+rax*4]
	mov	eax, DWORD PTR -5208[rbp]
	cdqe
	mov	DWORD PTR -2080[rbp+rax*4], edx
	mov	eax, DWORD PTR -5208[rbp]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	mov	al, 0
	mov	edx, eax
	mov	eax, DWORD PTR -5200[rbp]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	mov	al, 0
	lea	ecx, [rdx+rax]
	mov	eax, DWORD PTR -5200[rbp]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	movzx	edx, al
	mov	eax, DWORD PTR -5208[rbp]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	movzx	eax, al
	cmp	edx, eax
	cmovge	eax, edx
	add	eax, 1
	or	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR -5252[rbp]
	cdqe
	mov	DWORD PTR -4144[rbp+rax*4], edx
	mov	eax, DWORD PTR -5252[rbp]
	cdqe
	mov	DWORD PTR -2080[rbp+rax*4], -1
	add	DWORD PTR -5248[rbp], 1
	mov	eax, DWORD PTR -5248[rbp]
	cdqe
	mov	edx, DWORD PTR -5252[rbp]
	mov	DWORD PTR -5184[rbp+rax*4], edx
	mov	eax, DWORD PTR -5248[rbp]
	mov	DWORD PTR -5212[rbp], eax
	mov	eax, DWORD PTR -5212[rbp]
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	mov	DWORD PTR -5192[rbp], eax
	jmp	.L868
.L869:
	mov	eax, DWORD PTR -5212[rbp]
	sar	eax
	cdqe
	mov	edx, DWORD PTR -5184[rbp+rax*4]
	mov	eax, DWORD PTR -5212[rbp]
	cdqe
	mov	DWORD PTR -5184[rbp+rax*4], edx
	sar	DWORD PTR -5212[rbp]
.L868:
	mov	eax, DWORD PTR -5192[rbp]
	cdqe
	mov	edx, DWORD PTR -4144[rbp+rax*4]
	mov	eax, DWORD PTR -5212[rbp]
	sar	eax
	cdqe
	mov	eax, DWORD PTR -5184[rbp+rax*4]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	cmp	edx, eax
	jl	.L869
	mov	eax, DWORD PTR -5212[rbp]
	cdqe
	mov	edx, DWORD PTR -5192[rbp]
	mov	DWORD PTR -5184[rbp+rax*4], edx
.L857:
	cmp	DWORD PTR -5248[rbp], 1
	jg	.L870
	cmp	DWORD PTR -5252[rbp], 515
	jle	.L871
	mov	edi, 2002
	call	bz_internal_error
.L871:
	mov	BYTE PTR -5253[rbp], 0
	mov	DWORD PTR -5244[rbp], 1
	jmp	.L872
.L876:
	mov	DWORD PTR -5240[rbp], 0
	mov	eax, DWORD PTR -5244[rbp]
	mov	DWORD PTR -5236[rbp], eax
	jmp	.L873
.L874:
	mov	eax, DWORD PTR -5236[rbp]
	cdqe
	mov	eax, DWORD PTR -2080[rbp+rax*4]
	mov	DWORD PTR -5236[rbp], eax
	add	DWORD PTR -5240[rbp], 1
.L873:
	mov	eax, DWORD PTR -5236[rbp]
	cdqe
	mov	eax, DWORD PTR -2080[rbp+rax*4]
	test	eax, eax
	jns	.L874
	mov	eax, DWORD PTR -5244[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -5272[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -5240[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -5240[rbp]
	cmp	eax, DWORD PTR -5288[rbp]
	jle	.L875
	mov	BYTE PTR -5253[rbp], 1
.L875:
	add	DWORD PTR -5244[rbp], 1
.L872:
	mov	eax, DWORD PTR -5244[rbp]
	cmp	eax, DWORD PTR -5284[rbp]
	jle	.L876
	cmp	BYTE PTR -5253[rbp], 0
	je	.L886
	mov	DWORD PTR -5244[rbp], 1
	jmp	.L879
.L880:
	mov	eax, DWORD PTR -5244[rbp]
	cdqe
	mov	eax, DWORD PTR -4144[rbp+rax*4]
	sar	eax, 8
	mov	DWORD PTR -5240[rbp], eax
	mov	eax, DWORD PTR -5240[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	add	eax, 1
	mov	DWORD PTR -5240[rbp], eax
	mov	eax, DWORD PTR -5240[rbp]
	sal	eax, 8
	mov	edx, eax
	mov	eax, DWORD PTR -5244[rbp]
	cdqe
	mov	DWORD PTR -4144[rbp+rax*4], edx
	add	DWORD PTR -5244[rbp], 1
.L879:
	mov	eax, DWORD PTR -5244[rbp]
	cmp	eax, DWORD PTR -5284[rbp]
	jle	.L880
	jmp	.L881
.L886:
	nop
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L882
	call	__stack_chk_fail@PLT
.L882:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	BZ2_hbMakeCodeLengths, .-BZ2_hbMakeCodeLengths
	.globl	BZ2_hbAssignCodes
	.type	BZ2_hbAssignCodes, @function
BZ2_hbAssignCodes:
.LFB29:
	.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	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	mov	DWORD PTR -44[rbp], r8d
	mov	DWORD PTR -8[rbp], 0
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L888
.L892:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L889
.L891:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	DWORD PTR -12[rbp], eax
	jne	.L890
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -8[rbp], 1
.L890:
	add	DWORD PTR -4[rbp], 1
.L889:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jl	.L891
	sal	DWORD PTR -8[rbp]
	add	DWORD PTR -12[rbp], 1
.L888:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jle	.L892
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	BZ2_hbAssignCodes, .-BZ2_hbAssignCodes
	.globl	BZ2_hbCreateDecodeTables
	.type	BZ2_hbCreateDecodeTables, @function
BZ2_hbCreateDecodeTables:
.LFB30:
	.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	QWORD PTR -48[rbp], rcx
	mov	DWORD PTR -52[rbp], r8d
	mov	DWORD PTR -56[rbp], r9d
	mov	DWORD PTR -16[rbp], 0
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L894
.L898:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L895
.L897:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	DWORD PTR -12[rbp], eax
	jne	.L896
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -16[rbp], 1
.L896:
	add	DWORD PTR -8[rbp], 1
.L895:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR 16[rbp]
	jl	.L897
	add	DWORD PTR -12[rbp], 1
.L894:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jle	.L898
	mov	DWORD PTR -12[rbp], 0
	jmp	.L899
.L900:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	add	DWORD PTR -12[rbp], 1
.L899:
	cmp	DWORD PTR -12[rbp], 22
	jle	.L900
	mov	DWORD PTR -12[rbp], 0
	jmp	.L901
.L902:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -12[rbp], 1
.L901:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR 16[rbp]
	jl	.L902
	mov	DWORD PTR -12[rbp], 1
	jmp	.L903
.L904:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rsi
	add	edx, ecx
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -12[rbp], 1
.L903:
	cmp	DWORD PTR -12[rbp], 22
	jle	.L904
	mov	DWORD PTR -12[rbp], 0
	jmp	.L905
.L906:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	add	DWORD PTR -12[rbp], 1
.L905:
	cmp	DWORD PTR -12[rbp], 22
	jle	.L906
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L907
.L908:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -32[rbp]
	add	rdx, rcx
	mov	edx, DWORD PTR [rdx]
	sub	eax, edx
	add	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -4[rbp]
	sub	edx, 1
	mov	DWORD PTR [rax], edx
	sal	DWORD PTR -4[rbp]
	add	DWORD PTR -12[rbp], 1
.L907:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jle	.L908
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
	jmp	.L909
.L910:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	add	eax, 1
	lea	edx, [rax+rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rsi
	sub	edx, ecx
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -12[rbp], 1
.L909:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jle	.L910
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	BZ2_hbCreateDecodeTables, .-BZ2_hbCreateDecodeTables
	.globl	BZ2_bsInitWrite
	.type	BZ2_bsInitWrite, @function
BZ2_bsInitWrite:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 644[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 640[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	BZ2_bsInitWrite, .-BZ2_bsInitWrite
	.type	bsFinishWrite, @function
bsFinishWrite:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	jmp	.L913
.L914:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 640[rax]
	shr	eax, 24
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 116[rax]
	cdqe
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 116[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 116[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 640[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 640[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 644[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 644[rax], edx
.L913:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 644[rax]
	test	eax, eax
	jg	.L914
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	bsFinishWrite, .-bsFinishWrite
	.type	bsW, @function
bsW:
.LFB33:
	.cfi_startproc
	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	DWORD PTR -16[rbp], edx
	jmp	.L916
.L917:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 640[rax]
	shr	eax, 24
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 116[rax]
	cdqe
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 116[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 116[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 640[rax]
	sal	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 640[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 644[rax]
	lea	edx, -8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 644[rax], edx
.L916:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 644[rax]
	cmp	eax, 7
	jg	.L917
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 640[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 644[rax]
	mov	eax, 32
	sub	eax, edx
	sub	eax, DWORD PTR -12[rbp]
	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 -8[rbp]
	mov	DWORD PTR 640[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 644[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 644[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	bsW, .-bsW
	.type	bsPutUInt32, @function
bsPutUInt32:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 24
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 16
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 8
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -12[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	bsW
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	bsPutUInt32, .-bsPutUInt32
	.type	bsPutUChar, @function
bsPutUChar:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -12[rbp], al
	movzx	edx, BYTE PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	bsW
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	bsPutUChar, .-bsPutUChar
	.type	makeMaps_e, @function
makeMaps_e:
.LFB36:
	.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	DWORD PTR 124[rax], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L921
.L923:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movzx	eax, BYTE PTR 128[rdx+rax]
	test	al, al
	je	.L922
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 124[rax]
	mov	ecx, eax
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	mov	BYTE PTR 384[rdx+rax], cl
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 124[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 124[rax], edx
.L922:
	add	DWORD PTR -4[rbp], 1
.L921:
	cmp	DWORD PTR -4[rbp], 255
	jle	.L923
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	makeMaps_e, .-makeMaps_e
	.type	generateMTFValues, @function
generateMTFValues:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 336
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
	mov	QWORD PTR -360[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -40[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -360[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -328[rbp], rax
	mov	rax, QWORD PTR -360[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -320[rbp], rax
	mov	rax, QWORD PTR -360[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -312[rbp], rax
	mov	rax, QWORD PTR -360[rbp]
	mov	rdi, rax
	call	makeMaps_e
	mov	rax, QWORD PTR -360[rbp]
	mov	eax, DWORD PTR 124[rax]
	add	eax, 1
	mov	DWORD PTR -332[rbp], eax
	mov	DWORD PTR -348[rbp], 0
	jmp	.L925
.L926:
	mov	rax, QWORD PTR -360[rbp]
	mov	edx, DWORD PTR -348[rbp]
	movsx	rdx, edx
	add	rdx, 168
	mov	DWORD PTR [rax+rdx*4], 0
	add	DWORD PTR -348[rbp], 1
.L925:
	mov	eax, DWORD PTR -348[rbp]
	cmp	eax, DWORD PTR -332[rbp]
	jle	.L926
	mov	DWORD PTR -336[rbp], 0
	mov	DWORD PTR -340[rbp], 0
	mov	DWORD PTR -348[rbp], 0
	jmp	.L927
.L928:
	mov	eax, DWORD PTR -348[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -348[rbp]
	cdqe
	mov	BYTE PTR -304[rbp+rax], dl
	add	DWORD PTR -348[rbp], 1
.L927:
	mov	rax, QWORD PTR -360[rbp]
	mov	eax, DWORD PTR 124[rax]
	cmp	DWORD PTR -348[rbp], eax
	jl	.L928
	mov	DWORD PTR -348[rbp], 0
	jmp	.L929
.L941:
	mov	eax, DWORD PTR -348[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -328[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 1
	mov	DWORD PTR -344[rbp], eax
	cmp	DWORD PTR -344[rbp], 0
	jns	.L930
	mov	rax, QWORD PTR -360[rbp]
	mov	eax, DWORD PTR 108[rax]
	add	DWORD PTR -344[rbp], eax
.L930:
	mov	eax, DWORD PTR -344[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	rdx, QWORD PTR -360[rbp]
	cdqe
	movzx	eax, BYTE PTR 384[rdx+rax]
	mov	BYTE PTR -349[rbp], al
	movzx	eax, BYTE PTR -304[rbp]
	cmp	BYTE PTR -349[rbp], al
	jne	.L931
	add	DWORD PTR -340[rbp], 1
	jmp	.L932
.L931:
	cmp	DWORD PTR -340[rbp], 0
	jle	.L933
	sub	DWORD PTR -340[rbp], 1
.L938:
	mov	eax, DWORD PTR -340[rbp]
	and	eax, 1
	test	eax, eax
	je	.L934
	mov	eax, DWORD PTR -336[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -312[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 1
	add	DWORD PTR -336[rbp], 1
	mov	rax, QWORD PTR -360[rbp]
	mov	eax, DWORD PTR 676[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -360[rbp]
	mov	DWORD PTR 676[rax], edx
	jmp	.L935
.L934:
	mov	eax, DWORD PTR -336[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -312[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 0
	add	DWORD PTR -336[rbp], 1
	mov	rax, QWORD PTR -360[rbp]
	mov	eax, DWORD PTR 672[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -360[rbp]
	mov	DWORD PTR 672[rax], edx
.L935:
	cmp	DWORD PTR -340[rbp], 1
	jle	.L951
	mov	eax, DWORD PTR -340[rbp]
	sub	eax, 2
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -340[rbp], eax
	jmp	.L938
.L951:
	nop
	mov	DWORD PTR -340[rbp], 0
.L933:
	movzx	r12d, BYTE PTR -303[rbp]
	movzx	eax, BYTE PTR -304[rbp]
	mov	BYTE PTR -303[rbp], al
	lea	rax, -304[rbp]
	lea	rbx, 1[rax]
	movzx	r13d, BYTE PTR -349[rbp]
	jmp	.L939
.L940:
	add	rbx, 1
	mov	r14d, r12d
	movzx	r12d, BYTE PTR [rbx]
	mov	BYTE PTR [rbx], r14b
.L939:
	cmp	r13b, r12b
	jne	.L940
	mov	BYTE PTR -304[rbp], r12b
	lea	rdx, -304[rbp]
	mov	rax, rbx
	sub	rax, rdx
	mov	DWORD PTR -344[rbp], eax
	mov	eax, DWORD PTR -344[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -336[rbp]
	cdqe
	lea	rcx, [rax+rax]
	mov	rax, QWORD PTR -312[rbp]
	add	rax, rcx
	add	edx, 1
	mov	WORD PTR [rax], dx
	add	DWORD PTR -336[rbp], 1
	mov	eax, DWORD PTR -344[rbp]
	add	eax, 1
	mov	rdx, QWORD PTR -360[rbp]
	movsx	rcx, eax
	add	rcx, 168
	mov	edx, DWORD PTR [rdx+rcx*4]
	lea	ecx, 1[rdx]
	mov	rdx, QWORD PTR -360[rbp]
	cdqe
	add	rax, 168
	mov	DWORD PTR [rdx+rax*4], ecx
.L932:
	add	DWORD PTR -348[rbp], 1
.L929:
	mov	rax, QWORD PTR -360[rbp]
	mov	eax, DWORD PTR 108[rax]
	cmp	DWORD PTR -348[rbp], eax
	jl	.L941
	cmp	DWORD PTR -340[rbp], 0
	jle	.L942
	sub	DWORD PTR -340[rbp], 1
.L947:
	mov	eax, DWORD PTR -340[rbp]
	and	eax, 1
	test	eax, eax
	je	.L943
	mov	eax, DWORD PTR -336[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -312[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 1
	add	DWORD PTR -336[rbp], 1
	mov	rax, QWORD PTR -360[rbp]
	mov	eax, DWORD PTR 676[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -360[rbp]
	mov	DWORD PTR 676[rax], edx
	jmp	.L944
.L943:
	mov	eax, DWORD PTR -336[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -312[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 0
	add	DWORD PTR -336[rbp], 1
	mov	rax, QWORD PTR -360[rbp]
	mov	eax, DWORD PTR 672[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -360[rbp]
	mov	DWORD PTR 672[rax], edx
.L944:
	cmp	DWORD PTR -340[rbp], 1
	jle	.L952
	mov	eax, DWORD PTR -340[rbp]
	sub	eax, 2
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -340[rbp], eax
	jmp	.L947
.L952:
	nop
	mov	DWORD PTR -340[rbp], 0
.L942:
	mov	eax, DWORD PTR -336[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -312[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -332[rbp]
	mov	WORD PTR [rax], dx
	add	DWORD PTR -336[rbp], 1
	mov	rax, QWORD PTR -360[rbp]
	mov	edx, DWORD PTR -332[rbp]
	movsx	rdx, edx
	add	rdx, 168
	mov	eax, DWORD PTR [rax+rdx*4]
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR -360[rbp]
	mov	edx, DWORD PTR -332[rbp]
	movsx	rdx, edx
	add	rdx, 168
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	rax, QWORD PTR -360[rbp]
	mov	edx, DWORD PTR -336[rbp]
	mov	DWORD PTR 668[rax], edx
	nop
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L948
	call	__stack_chk_fail@PLT
.L948:
	add	rsp, 336
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	generateMTFValues, .-generateMTFValues
	.section	.rodata
	.align 8
.LC12:
	.string	"      %d in block, %d after MTF & 1-2 coding, %d+2 syms in use\n"
	.align 8
.LC13:
	.string	"      pass %d: size is %d, grp uses are "
.LC14:
	.string	"%d "
.LC15:
	.string	"\n"
.LC16:
	.string	"      bytes: mapping %d, "
.LC17:
	.string	"selectors %d, "
.LC18:
	.string	"code lengths %d, "
.LC19:
	.string	"codes %d\n"
	.text
	.type	sendMTFValues, @function
sendMTFValues:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 224
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
	mov	QWORD PTR -248[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -40[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 656[rax]
	cmp	eax, 2
	jle	.L954
	mov	rax, QWORD PTR -248[rbp]
	mov	ecx, DWORD PTR 124[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR 668[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 108[rax]
	mov	esi, eax
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	vex_printf
.L954:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 124[rax]
	add	eax, 2
	mov	DWORD PTR -148[rbp], eax
	mov	DWORD PTR -220[rbp], 0
	jmp	.L955
.L958:
	mov	DWORD PTR -224[rbp], 0
	jmp	.L956
.L957:
	mov	rsi, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 37708
	mov	BYTE PTR [rax], 15
	add	DWORD PTR -224[rbp], 1
.L956:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jl	.L957
	add	DWORD PTR -220[rbp], 1
.L955:
	cmp	DWORD PTR -220[rbp], 5
	jle	.L958
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	test	eax, eax
	jg	.L959
	mov	edi, 3001
	call	bz_internal_error
.L959:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	cmp	eax, 199
	jg	.L960
	mov	DWORD PTR -168[rbp], 2
	jmp	.L961
.L960:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	cmp	eax, 599
	jg	.L962
	mov	DWORD PTR -168[rbp], 3
	jmp	.L961
.L962:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	cmp	eax, 1199
	jg	.L963
	mov	DWORD PTR -168[rbp], 4
	jmp	.L961
.L963:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	cmp	eax, 2399
	jg	.L964
	mov	DWORD PTR -168[rbp], 5
	jmp	.L961
.L964:
	mov	DWORD PTR -168[rbp], 6
.L961:
	mov	eax, DWORD PTR -168[rbp]
	mov	DWORD PTR -164[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	mov	DWORD PTR -160[rbp], eax
	mov	DWORD PTR -208[rbp], 0
	jmp	.L965
.L974:
	mov	eax, DWORD PTR -160[rbp]
	cdq
	idiv	DWORD PTR -164[rbp]
	mov	DWORD PTR -140[rbp], eax
	mov	eax, DWORD PTR -208[rbp]
	sub	eax, 1
	mov	DWORD PTR -204[rbp], eax
	mov	DWORD PTR -156[rbp], 0
	jmp	.L966
.L968:
	add	DWORD PTR -204[rbp], 1
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR -204[rbp]
	movsx	rdx, edx
	add	rdx, 168
	mov	eax, DWORD PTR [rax+rdx*4]
	add	DWORD PTR -156[rbp], eax
.L966:
	mov	eax, DWORD PTR -156[rbp]
	cmp	eax, DWORD PTR -140[rbp]
	jge	.L967
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, 1
	cmp	DWORD PTR -204[rbp], eax
	jl	.L968
.L967:
	mov	eax, DWORD PTR -204[rbp]
	cmp	eax, DWORD PTR -208[rbp]
	jle	.L969
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	je	.L969
	cmp	DWORD PTR -164[rbp], 1
	je	.L969
	mov	eax, DWORD PTR -168[rbp]
	sub	eax, DWORD PTR -164[rbp]
	cdq
	shr	edx, 31
	add	eax, edx
	and	eax, 1
	sub	eax, edx
	cmp	eax, 1
	jne	.L969
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, DWORD PTR -204[rbp]
	movsx	rdx, edx
	add	rdx, 168
	mov	eax, DWORD PTR [rax+rdx*4]
	sub	DWORD PTR -156[rbp], eax
	sub	DWORD PTR -204[rbp], 1
.L969:
	mov	DWORD PTR -224[rbp], 0
	jmp	.L970
.L973:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -208[rbp]
	jl	.L971
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -204[rbp]
	jg	.L971
	mov	eax, DWORD PTR -164[rbp]
	lea	edx, -1[rax]
	mov	rsi, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 37708
	mov	BYTE PTR [rax], 0
	jmp	.L972
.L971:
	mov	eax, DWORD PTR -164[rbp]
	lea	edx, -1[rax]
	mov	rsi, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	movsx	rcx, eax
	movsx	rdx, edx
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 37708
	mov	BYTE PTR [rax], 15
.L972:
	add	DWORD PTR -224[rbp], 1
.L970:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jl	.L973
	sub	DWORD PTR -164[rbp], 1
	mov	eax, DWORD PTR -204[rbp]
	add	eax, 1
	mov	DWORD PTR -208[rbp], eax
	mov	eax, DWORD PTR -156[rbp]
	sub	DWORD PTR -160[rbp], eax
.L965:
	cmp	DWORD PTR -164[rbp], 0
	jg	.L974
	mov	DWORD PTR -188[rbp], 0
	jmp	.L975
.L1009:
	mov	DWORD PTR -220[rbp], 0
	jmp	.L976
.L977:
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	mov	DWORD PTR -96[rbp+rax*4], 0
	add	DWORD PTR -220[rbp], 1
.L976:
	mov	eax, DWORD PTR -220[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L977
	mov	DWORD PTR -220[rbp], 0
	jmp	.L978
.L981:
	mov	DWORD PTR -224[rbp], 0
	jmp	.L979
.L980:
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 7
	add	rax, rcx
	add	rax, rax
	add	rax, rsi
	add	rax, 11360
	mov	DWORD PTR 8[rdx+rax*4], 0
	add	DWORD PTR -224[rbp], 1
.L979:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jl	.L980
	add	DWORD PTR -220[rbp], 1
.L978:
	mov	eax, DWORD PTR -220[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L981
	cmp	DWORD PTR -168[rbp], 6
	jne	.L982
	mov	DWORD PTR -224[rbp], 0
	jmp	.L983
.L984:
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	movzx	eax, BYTE PTR 37966[rdx+rax]
	movzx	eax, al
	sal	eax, 16
	mov	ecx, eax
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	movzx	eax, BYTE PTR 37708[rdx+rax]
	movzx	eax, al
	or	eax, ecx
	mov	edx, eax
	mov	rcx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rcx
	add	rax, 8
	mov	DWORD PTR [rax], edx
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	movzx	eax, BYTE PTR 38482[rdx+rax]
	movzx	eax, al
	sal	eax, 16
	mov	ecx, eax
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	movzx	eax, BYTE PTR 38224[rdx+rax]
	movzx	eax, al
	or	eax, ecx
	mov	edx, eax
	mov	rcx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 4
	add	rax, rcx
	add	rax, 51644
	mov	DWORD PTR [rax], edx
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	movzx	eax, BYTE PTR 38998[rdx+rax]
	movzx	eax, al
	sal	eax, 16
	mov	ecx, eax
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	movzx	eax, BYTE PTR 38740[rdx+rax]
	movzx	eax, al
	or	eax, ecx
	mov	edx, eax
	mov	rcx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	sal	rax, 4
	add	rax, rcx
	add	rax, 51648
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -224[rbp], 1
.L983:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jl	.L984
.L982:
	mov	DWORD PTR -184[rbp], 0
	mov	DWORD PTR -200[rbp], 0
	mov	DWORD PTR -208[rbp], 0
.L1003:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	cmp	DWORD PTR -208[rbp], eax
	jge	.L1072
	mov	eax, DWORD PTR -208[rbp]
	add	eax, 49
	mov	DWORD PTR -204[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	cmp	DWORD PTR -204[rbp], eax
	jl	.L987
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	sub	eax, 1
	mov	DWORD PTR -204[rbp], eax
.L987:
	mov	DWORD PTR -220[rbp], 0
	jmp	.L988
.L989:
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	mov	WORD PTR -108[rbp+rax*2], 0
	add	DWORD PTR -220[rbp], 1
.L988:
	mov	eax, DWORD PTR -220[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L989
	cmp	DWORD PTR -168[rbp], 6
	jne	.L990
	mov	eax, DWORD PTR -204[rbp]
	sub	eax, DWORD PTR -208[rbp]
	cmp	eax, 49
	jne	.L990
	mov	r12d, 0
	mov	r13d, r12d
	mov	r14d, r13d
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 1
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 2
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 3
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 4
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 5
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 6
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 7
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 8
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 9
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 10
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 11
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 12
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 13
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 14
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 15
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 16
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 17
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 18
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 19
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 20
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 21
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 22
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 23
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 24
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 25
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 26
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 27
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 28
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 29
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 30
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 31
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 32
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 33
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 34
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 35
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 36
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 37
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 38
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 39
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 40
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 41
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 42
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 43
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 44
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 45
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 46
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 47
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 48
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 49
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ebx, WORD PTR [rax]
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	add	rax, 3227
	sal	rax, 4
	add	rax, rdx
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	add	r14d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51644
	mov	eax, DWORD PTR [rax]
	add	r13d, eax
	movzx	eax, bx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	add	rax, 51648
	mov	eax, DWORD PTR [rax]
	add	r12d, eax
	mov	eax, r14d
	mov	WORD PTR -108[rbp], ax
	mov	eax, r14d
	shr	eax, 16
	mov	WORD PTR -106[rbp], ax
	mov	eax, r13d
	mov	WORD PTR -104[rbp], ax
	mov	eax, r13d
	shr	eax, 16
	mov	WORD PTR -102[rbp], ax
	mov	eax, r12d
	mov	WORD PTR -100[rbp], ax
	mov	eax, r12d
	shr	eax, 16
	mov	WORD PTR -98[rbp], ax
	jmp	.L991
.L990:
	mov	eax, DWORD PTR -208[rbp]
	mov	DWORD PTR -216[rbp], eax
	jmp	.L992
.L995:
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -226[rbp], ax
	mov	DWORD PTR -220[rbp], 0
	jmp	.L993
.L994:
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	movzx	ecx, WORD PTR -108[rbp+rax*2]
	movzx	eax, WORD PTR -226[rbp]
	mov	rdi, QWORD PTR -248[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, rsi
	add	rax, 37708
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	edx, [rcx+rax]
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	mov	WORD PTR -108[rbp+rax*2], dx
	add	DWORD PTR -220[rbp], 1
.L993:
	mov	eax, DWORD PTR -220[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L994
	add	DWORD PTR -216[rbp], 1
.L992:
	mov	eax, DWORD PTR -216[rbp]
	cmp	eax, DWORD PTR -204[rbp]
	jle	.L995
.L991:
	mov	DWORD PTR -192[rbp], 999999999
	mov	DWORD PTR -196[rbp], -1
	mov	DWORD PTR -220[rbp], 0
	jmp	.L996
.L998:
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	movzx	eax, WORD PTR -108[rbp+rax*2]
	movzx	eax, ax
	cmp	DWORD PTR -192[rbp], eax
	jle	.L997
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	movzx	eax, WORD PTR -108[rbp+rax*2]
	movzx	eax, ax
	mov	DWORD PTR -192[rbp], eax
	mov	eax, DWORD PTR -220[rbp]
	mov	DWORD PTR -196[rbp], eax
.L997:
	add	DWORD PTR -220[rbp], 1
.L996:
	mov	eax, DWORD PTR -220[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L998
	mov	eax, DWORD PTR -192[rbp]
	add	DWORD PTR -200[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	mov	eax, DWORD PTR -96[rbp+rax*4]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	mov	DWORD PTR -96[rbp+rax*4], edx
	mov	eax, DWORD PTR -196[rbp]
	mov	ecx, eax
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	mov	BYTE PTR 1704[rdx+rax], cl
	add	DWORD PTR -184[rbp], 1
	cmp	DWORD PTR -168[rbp], 6
	jne	.L999
	mov	eax, DWORD PTR -204[rbp]
	sub	eax, DWORD PTR -208[rbp]
	cmp	eax, 49
	jne	.L999
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 1
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 2
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 3
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 4
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 5
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 6
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 7
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 8
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 9
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 10
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 11
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 12
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 13
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 14
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 15
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 16
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 17
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 18
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 19
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 20
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 21
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 22
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 23
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 24
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 25
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 26
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 27
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 28
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 29
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 30
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 31
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 32
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 33
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 34
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 35
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 36
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 37
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 38
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 39
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 40
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 41
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 42
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 43
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 44
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 45
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 46
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 47
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 48
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 49
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	jmp	.L1000
.L999:
	mov	eax, DWORD PTR -208[rbp]
	mov	DWORD PTR -216[rbp], eax
	jmp	.L1001
.L1002:
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	edx, ax
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rsi, eax
	mov	rax, rsi
	sal	rax, 7
	add	rax, rsi
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	eax, DWORD PTR 8[rcx+rax*4]
	lea	esi, 1[rax]
	mov	rcx, QWORD PTR -248[rbp]
	movsx	rdi, edx
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, 11360
	mov	DWORD PTR 8[rcx+rax*4], esi
	add	DWORD PTR -216[rbp], 1
.L1001:
	mov	eax, DWORD PTR -216[rbp]
	cmp	eax, DWORD PTR -204[rbp]
	jle	.L1002
.L1000:
	mov	eax, DWORD PTR -204[rbp]
	add	eax, 1
	mov	DWORD PTR -208[rbp], eax
	jmp	.L1003
.L1072:
	nop
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 656[rax]
	cmp	eax, 2
	jle	.L1004
	mov	eax, DWORD PTR -200[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -188[rbp]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	vex_printf
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1005
.L1006:
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	mov	eax, DWORD PTR -96[rbp+rax*4]
	mov	esi, eax
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	vex_printf
	add	DWORD PTR -220[rbp], 1
.L1005:
	mov	eax, DWORD PTR -220[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L1006
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	vex_printf
.L1004:
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1007
.L1008:
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 45440[rax]
	mov	rax, QWORD PTR -248[rbp]
	add	rax, rdx
	lea	rsi, 8[rax]
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	lea	rdx, 37696[rax]
	mov	rax, QWORD PTR -248[rbp]
	add	rax, rdx
	lea	rdi, 12[rax]
	mov	eax, DWORD PTR -148[rbp]
	mov	ecx, 17
	mov	edx, eax
	call	BZ2_hbMakeCodeLengths
	add	DWORD PTR -220[rbp], 1
.L1007:
	mov	eax, DWORD PTR -220[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L1008
	add	DWORD PTR -188[rbp], 1
.L975:
	cmp	DWORD PTR -188[rbp], 3
	jle	.L1009
	cmp	DWORD PTR -168[rbp], 7
	jle	.L1010
	mov	edi, 3002
	call	bz_internal_error
.L1010:
	cmp	DWORD PTR -184[rbp], 32767
	jg	.L1011
	cmp	DWORD PTR -184[rbp], 18002
	jle	.L1012
.L1011:
	mov	edi, 3003
	call	bz_internal_error
.L1012:
	mov	DWORD PTR -216[rbp], 0
	jmp	.L1013
.L1014:
	mov	eax, DWORD PTR -216[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	mov	BYTE PTR -64[rbp+rax], dl
	add	DWORD PTR -216[rbp], 1
.L1013:
	mov	eax, DWORD PTR -216[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L1014
	mov	DWORD PTR -216[rbp], 0
	jmp	.L1015
.L1018:
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	movzx	eax, BYTE PTR 1704[rdx+rax]
	mov	BYTE PTR -230[rbp], al
	mov	DWORD PTR -212[rbp], 0
	mov	eax, DWORD PTR -212[rbp]
	cdqe
	movzx	eax, BYTE PTR -64[rbp+rax]
	mov	BYTE PTR -231[rbp], al
	jmp	.L1016
.L1017:
	add	DWORD PTR -212[rbp], 1
	movzx	eax, BYTE PTR -231[rbp]
	mov	BYTE PTR -229[rbp], al
	mov	eax, DWORD PTR -212[rbp]
	cdqe
	movzx	eax, BYTE PTR -64[rbp+rax]
	mov	BYTE PTR -231[rbp], al
	mov	eax, DWORD PTR -212[rbp]
	cdqe
	movzx	edx, BYTE PTR -229[rbp]
	mov	BYTE PTR -64[rbp+rax], dl
.L1016:
	movzx	eax, BYTE PTR -230[rbp]
	cmp	al, BYTE PTR -231[rbp]
	jne	.L1017
	movzx	eax, BYTE PTR -231[rbp]
	mov	BYTE PTR -64[rbp], al
	mov	eax, DWORD PTR -212[rbp]
	mov	ecx, eax
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	mov	BYTE PTR 19706[rdx+rax], cl
	add	DWORD PTR -216[rbp], 1
.L1015:
	mov	eax, DWORD PTR -216[rbp]
	cmp	eax, DWORD PTR -184[rbp]
	jl	.L1018
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1019
.L1026:
	mov	DWORD PTR -180[rbp], 32
	mov	DWORD PTR -176[rbp], 0
	mov	DWORD PTR -216[rbp], 0
	jmp	.L1020
.L1023:
	mov	rsi, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -216[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 37708
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	DWORD PTR -176[rbp], eax
	jge	.L1021
	mov	rsi, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -216[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 37708
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -176[rbp], eax
.L1021:
	mov	rsi, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -216[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 37708
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	DWORD PTR -180[rbp], eax
	jle	.L1022
	mov	rsi, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -216[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 37708
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -180[rbp], eax
.L1022:
	add	DWORD PTR -216[rbp], 1
.L1020:
	mov	eax, DWORD PTR -216[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jl	.L1023
	cmp	DWORD PTR -176[rbp], 17
	jle	.L1024
	mov	edi, 3004
	call	bz_internal_error
.L1024:
	cmp	DWORD PTR -180[rbp], 0
	jg	.L1025
	mov	edi, 3005
	call	bz_internal_error
.L1025:
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	lea	rdx, 37696[rax]
	mov	rax, QWORD PTR -248[rbp]
	add	rax, rdx
	lea	rsi, 12[rax]
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 39248[rax]
	mov	rax, QWORD PTR -248[rbp]
	add	rax, rdx
	lea	rdi, 8[rax]
	mov	ecx, DWORD PTR -148[rbp]
	mov	edx, DWORD PTR -176[rbp]
	mov	eax, DWORD PTR -180[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, eax
	call	BZ2_hbAssignCodes
	add	DWORD PTR -220[rbp], 1
.L1019:
	mov	eax, DWORD PTR -220[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L1026
	mov	DWORD PTR -216[rbp], 0
	jmp	.L1027
.L1031:
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	mov	BYTE PTR -64[rbp+rax], 0
	mov	DWORD PTR -212[rbp], 0
	jmp	.L1028
.L1030:
	mov	eax, DWORD PTR -216[rbp]
	sal	eax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -212[rbp]
	add	eax, edx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	movzx	eax, BYTE PTR 128[rdx+rax]
	test	al, al
	je	.L1029
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	mov	BYTE PTR -64[rbp+rax], 1
.L1029:
	add	DWORD PTR -212[rbp], 1
.L1028:
	cmp	DWORD PTR -212[rbp], 15
	jle	.L1030
	add	DWORD PTR -216[rbp], 1
.L1027:
	cmp	DWORD PTR -216[rbp], 15
	jle	.L1031
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 116[rax]
	mov	DWORD PTR -144[rbp], eax
	mov	DWORD PTR -216[rbp], 0
	jmp	.L1032
.L1035:
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	movzx	eax, BYTE PTR -64[rbp+rax]
	test	al, al
	je	.L1033
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	bsW
	jmp	.L1034
.L1033:
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, 0
	mov	esi, 1
	mov	rdi, rax
	call	bsW
.L1034:
	add	DWORD PTR -216[rbp], 1
.L1032:
	cmp	DWORD PTR -216[rbp], 15
	jle	.L1035
	mov	DWORD PTR -216[rbp], 0
	jmp	.L1036
.L1042:
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	movzx	eax, BYTE PTR -64[rbp+rax]
	test	al, al
	je	.L1037
	mov	DWORD PTR -212[rbp], 0
	jmp	.L1038
.L1041:
	mov	eax, DWORD PTR -216[rbp]
	sal	eax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -212[rbp]
	add	eax, edx
	mov	rdx, QWORD PTR -248[rbp]
	cdqe
	movzx	eax, BYTE PTR 128[rdx+rax]
	test	al, al
	je	.L1039
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	bsW
	jmp	.L1040
.L1039:
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, 0
	mov	esi, 1
	mov	rdi, rax
	call	bsW
.L1040:
	add	DWORD PTR -212[rbp], 1
.L1038:
	cmp	DWORD PTR -212[rbp], 15
	jle	.L1041
.L1037:
	add	DWORD PTR -216[rbp], 1
.L1036:
	cmp	DWORD PTR -216[rbp], 15
	jle	.L1042
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 656[rax]
	cmp	eax, 2
	jle	.L1043
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 116[rax]
	sub	eax, DWORD PTR -144[rbp]
	mov	esi, eax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	vex_printf
.L1043:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 116[rax]
	mov	DWORD PTR -144[rbp], eax
	mov	edx, DWORD PTR -168[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, 3
	mov	rdi, rax
	call	bsW
	mov	edx, DWORD PTR -184[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, 15
	mov	rdi, rax
	call	bsW
	mov	DWORD PTR -216[rbp], 0
	jmp	.L1044
.L1047:
	mov	DWORD PTR -212[rbp], 0
	jmp	.L1045
.L1046:
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	bsW
	add	DWORD PTR -212[rbp], 1
.L1045:
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	movzx	eax, BYTE PTR 19706[rdx+rax]
	movzx	eax, al
	cmp	DWORD PTR -212[rbp], eax
	jl	.L1046
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, 0
	mov	esi, 1
	mov	rdi, rax
	call	bsW
	add	DWORD PTR -216[rbp], 1
.L1044:
	mov	eax, DWORD PTR -216[rbp]
	cmp	eax, DWORD PTR -184[rbp]
	jl	.L1047
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 656[rax]
	cmp	eax, 2
	jle	.L1048
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 116[rax]
	sub	eax, DWORD PTR -144[rbp]
	mov	esi, eax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	vex_printf
.L1048:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 116[rax]
	mov	DWORD PTR -144[rbp], eax
	mov	DWORD PTR -220[rbp], 0
	jmp	.L1049
.L1056:
	mov	rcx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rcx
	add	rax, 37708
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -152[rbp], eax
	mov	edx, DWORD PTR -152[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	bsW
	mov	DWORD PTR -216[rbp], 0
	jmp	.L1050
.L1052:
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, 2
	mov	esi, 2
	mov	rdi, rax
	call	bsW
	add	DWORD PTR -152[rbp], 1
.L1051:
	mov	rsi, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -216[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 37708
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	DWORD PTR -152[rbp], eax
	jl	.L1052
	jmp	.L1053
.L1054:
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, 3
	mov	esi, 2
	mov	rdi, rax
	call	bsW
	sub	DWORD PTR -152[rbp], 1
.L1053:
	mov	rsi, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -216[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -220[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rsi
	add	rax, rcx
	add	rax, 37708
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	DWORD PTR -152[rbp], eax
	jg	.L1054
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, 0
	mov	esi, 1
	mov	rdi, rax
	call	bsW
	add	DWORD PTR -216[rbp], 1
.L1050:
	mov	eax, DWORD PTR -216[rbp]
	cmp	eax, DWORD PTR -148[rbp]
	jl	.L1051
	add	DWORD PTR -220[rbp], 1
.L1049:
	mov	eax, DWORD PTR -220[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L1056
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 656[rax]
	cmp	eax, 2
	jle	.L1057
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 116[rax]
	sub	eax, DWORD PTR -144[rbp]
	mov	esi, eax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	vex_printf
.L1057:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 116[rax]
	mov	DWORD PTR -144[rbp], eax
	mov	DWORD PTR -172[rbp], 0
	mov	DWORD PTR -208[rbp], 0
.L1066:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	cmp	DWORD PTR -208[rbp], eax
	jge	.L1073
	mov	eax, DWORD PTR -208[rbp]
	add	eax, 49
	mov	DWORD PTR -204[rbp], eax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	cmp	DWORD PTR -204[rbp], eax
	jl	.L1060
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 668[rax]
	sub	eax, 1
	mov	DWORD PTR -204[rbp], eax
.L1060:
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	movzx	eax, BYTE PTR 1704[rdx+rax]
	movzx	eax, al
	cmp	DWORD PTR -168[rbp], eax
	jg	.L1061
	mov	edi, 3006
	call	bz_internal_error
.L1061:
	cmp	DWORD PTR -168[rbp], 6
	jne	.L1062
	mov	eax, DWORD PTR -204[rbp]
	sub	eax, DWORD PTR -208[rbp]
	cmp	eax, 49
	jne	.L1062
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	movzx	eax, BYTE PTR 1704[rdx+rax]
	movzx	eax, al
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	lea	rdx, 37696[rax]
	mov	rax, QWORD PTR -248[rbp]
	add	rax, rdx
	add	rax, 12
	mov	QWORD PTR -128[rbp], rax
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	movzx	eax, BYTE PTR 1704[rdx+rax]
	movzx	eax, al
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 3
	lea	rdx, 39248[rax]
	mov	rax, QWORD PTR -248[rbp]
	add	rax, rdx
	add	rax, 8
	mov	QWORD PTR -120[rbp], rax
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 1
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 2
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 3
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 4
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 5
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 6
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 7
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 8
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 9
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 10
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 11
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 12
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 13
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 14
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 15
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 16
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 17
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 18
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 19
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 20
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 21
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 22
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 23
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 24
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 25
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 26
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 27
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 28
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 29
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 30
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 31
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 32
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 33
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 34
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 35
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 36
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 37
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 38
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 39
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 40
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 41
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 42
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 43
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 44
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 45
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 46
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 47
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 48
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	add	rax, 49
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -228[rbp], ax
	movzx	eax, WORD PTR -228[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	movzx	ecx, WORD PTR -228[rbp]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	jmp	.L1063
.L1062:
	mov	eax, DWORD PTR -208[rbp]
	mov	DWORD PTR -216[rbp], eax
	jmp	.L1064
.L1065:
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	movzx	eax, BYTE PTR 1704[rdx+rax]
	movzx	eax, al
	mov	edx, DWORD PTR -216[rbp]
	movsx	rdx, edx
	lea	rcx, [rdx+rdx]
	mov	rdx, QWORD PTR -136[rbp]
	add	rdx, rcx
	movzx	edx, WORD PTR [rdx]
	movzx	ecx, dx
	mov	rdx, QWORD PTR -248[rbp]
	movsx	rsi, ecx
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 7
	add	rax, rcx
	add	rax, rax
	add	rax, rsi
	add	rax, 9812
	mov	eax, DWORD PTR 8[rdx+rax*4]
	mov	esi, eax
	mov	rdx, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	movzx	eax, BYTE PTR 1704[rdx+rax]
	movzx	eax, al
	mov	edx, DWORD PTR -216[rbp]
	movsx	rdx, edx
	lea	rcx, [rdx+rdx]
	mov	rdx, QWORD PTR -136[rbp]
	add	rdx, rcx
	movzx	edx, WORD PTR [rdx]
	movzx	edx, dx
	mov	rdi, QWORD PTR -248[rbp]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	add	rax, rdx
	add	rax, rax
	add	rax, rdi
	add	rax, rcx
	add	rax, 37708
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -248[rbp]
	mov	edx, esi
	mov	esi, ecx
	mov	rdi, rax
	call	bsW
	add	DWORD PTR -216[rbp], 1
.L1064:
	mov	eax, DWORD PTR -216[rbp]
	cmp	eax, DWORD PTR -204[rbp]
	jle	.L1065
.L1063:
	mov	eax, DWORD PTR -204[rbp]
	add	eax, 1
	mov	DWORD PTR -208[rbp], eax
	add	DWORD PTR -172[rbp], 1
	jmp	.L1066
.L1073:
	nop
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -184[rbp]
	je	.L1067
	mov	edi, 3007
	call	bz_internal_error
.L1067:
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 656[rax]
	cmp	eax, 2
	jle	.L1074
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 116[rax]
	sub	eax, DWORD PTR -144[rbp]
	mov	esi, eax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	vex_printf
.L1074:
	nop
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1069
	call	__stack_chk_fail@PLT
.L1069:
	add	rsp, 224
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	sendMTFValues, .-sendMTFValues
	.section	.rodata
	.align 8
.LC20:
	.string	"    block %d: crc = 0x%08x, combined CRC = 0x%08x, size = %d\n"
	.align 8
.LC21:
	.string	"    final combined CRC = 0x%08x\n   "
	.text
	.globl	BZ2_compressBlock
	.type	BZ2_compressBlock, @function
BZ2_compressBlock:
.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	eax, esi
	mov	BYTE PTR -12[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 108[rax]
	test	eax, eax
	jle	.L1076
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 648[rax]
	not	eax
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 648[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 652[rax]
	rol	eax
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 652[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 652[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 648[rax]
	xor	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 652[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 660[rax]
	cmp	eax, 1
	jle	.L1077
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 116[rax], 0
.L1077:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 656[rax]
	cmp	eax, 1
	jle	.L1078
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 108[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 652[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 648[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 660[rax]
	mov	r8d, esi
	mov	esi, eax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	vex_printf
.L1078:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	BZ2_blockSort
.L1076:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 80[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 660[rax]
	cmp	eax, 1
	jne	.L1079
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	BZ2_bsInitWrite
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 66
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 90
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 104
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 664[rax]
	add	eax, 48
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	bsPutUChar
.L1079:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 108[rax]
	test	eax, eax
	jle	.L1080
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 49
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 65
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 89
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 38
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 83
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 89
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 648[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	bsPutUInt32
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	esi, 1
	mov	rdi, rax
	call	bsW
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 24
	mov	rdi, rax
	call	bsW
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	generateMTFValues
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	sendMTFValues
.L1080:
	cmp	BYTE PTR -12[rbp], 0
	je	.L1083
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 23
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 114
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 69
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 56
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 80
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 144
	mov	rdi, rax
	call	bsPutUChar
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 652[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	bsPutUInt32
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 656[rax]
	cmp	eax, 1
	jle	.L1082
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 652[rax]
	mov	esi, eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	vex_printf
.L1082:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	bsFinishWrite
.L1083:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	BZ2_compressBlock, .-BZ2_compressBlock
	.globl	BZ2_rNums
	.data
	.align 32
	.type	BZ2_rNums, @object
	.size	BZ2_rNums, 2048
BZ2_rNums:
	.long	619
	.long	720
	.long	127
	.long	481
	.long	931
	.long	816
	.long	813
	.long	233
	.long	566
	.long	247
	.long	985
	.long	724
	.long	205
	.long	454
	.long	863
	.long	491
	.long	741
	.long	242
	.long	949
	.long	214
	.long	733
	.long	859
	.long	335
	.long	708
	.long	621
	.long	574
	.long	73
	.long	654
	.long	730
	.long	472
	.long	419
	.long	436
	.long	278
	.long	496
	.long	867
	.long	210
	.long	399
	.long	680
	.long	480
	.long	51
	.long	878
	.long	465
	.long	811
	.long	169
	.long	869
	.long	675
	.long	611
	.long	697
	.long	867
	.long	561
	.long	862
	.long	687
	.long	507
	.long	283
	.long	482
	.long	129
	.long	807
	.long	591
	.long	733
	.long	623
	.long	150
	.long	238
	.long	59
	.long	379
	.long	684
	.long	877
	.long	625
	.long	169
	.long	643
	.long	105
	.long	170
	.long	607
	.long	520
	.long	932
	.long	727
	.long	476
	.long	693
	.long	425
	.long	174
	.long	647
	.long	73
	.long	122
	.long	335
	.long	530
	.long	442
	.long	853
	.long	695
	.long	249
	.long	445
	.long	515
	.long	909
	.long	545
	.long	703
	.long	919
	.long	874
	.long	474
	.long	882
	.long	500
	.long	594
	.long	612
	.long	641
	.long	801
	.long	220
	.long	162
	.long	819
	.long	984
	.long	589
	.long	513
	.long	495
	.long	799
	.long	161
	.long	604
	.long	958
	.long	533
	.long	221
	.long	400
	.long	386
	.long	867
	.long	600
	.long	782
	.long	382
	.long	596
	.long	414
	.long	171
	.long	516
	.long	375
	.long	682
	.long	485
	.long	911
	.long	276
	.long	98
	.long	553
	.long	163
	.long	354
	.long	666
	.long	933
	.long	424
	.long	341
	.long	533
	.long	870
	.long	227
	.long	730
	.long	475
	.long	186
	.long	263
	.long	647
	.long	537
	.long	686
	.long	600
	.long	224
	.long	469
	.long	68
	.long	770
	.long	919
	.long	190
	.long	373
	.long	294
	.long	822
	.long	808
	.long	206
	.long	184
	.long	943
	.long	795
	.long	384
	.long	383
	.long	461
	.long	404
	.long	758
	.long	839
	.long	887
	.long	715
	.long	67
	.long	618
	.long	276
	.long	204
	.long	918
	.long	873
	.long	777
	.long	604
	.long	560
	.long	951
	.long	160
	.long	578
	.long	722
	.long	79
	.long	804
	.long	96
	.long	409
	.long	713
	.long	940
	.long	652
	.long	934
	.long	970
	.long	447
	.long	318
	.long	353
	.long	859
	.long	672
	.long	112
	.long	785
	.long	645
	.long	863
	.long	803
	.long	350
	.long	139
	.long	93
	.long	354
	.long	99
	.long	820
	.long	908
	.long	609
	.long	772
	.long	154
	.long	274
	.long	580
	.long	184
	.long	79
	.long	626
	.long	630
	.long	742
	.long	653
	.long	282
	.long	762
	.long	623
	.long	680
	.long	81
	.long	927
	.long	626
	.long	789
	.long	125
	.long	411
	.long	521
	.long	938
	.long	300
	.long	821
	.long	78
	.long	343
	.long	175
	.long	128
	.long	250
	.long	170
	.long	774
	.long	972
	.long	275
	.long	999
	.long	639
	.long	495
	.long	78
	.long	352
	.long	126
	.long	857
	.long	956
	.long	358
	.long	619
	.long	580
	.long	124
	.long	737
	.long	594
	.long	701
	.long	612
	.long	669
	.long	112
	.long	134
	.long	694
	.long	363
	.long	992
	.long	809
	.long	743
	.long	168
	.long	974
	.long	944
	.long	375
	.long	748
	.long	52
	.long	600
	.long	747
	.long	642
	.long	182
	.long	862
	.long	81
	.long	344
	.long	805
	.long	988
	.long	739
	.long	511
	.long	655
	.long	814
	.long	334
	.long	249
	.long	515
	.long	897
	.long	955
	.long	664
	.long	981
	.long	649
	.long	113
	.long	974
	.long	459
	.long	893
	.long	228
	.long	433
	.long	837
	.long	553
	.long	268
	.long	926
	.long	240
	.long	102
	.long	654
	.long	459
	.long	51
	.long	686
	.long	754
	.long	806
	.long	760
	.long	493
	.long	403
	.long	415
	.long	394
	.long	687
	.long	700
	.long	946
	.long	670
	.long	656
	.long	610
	.long	738
	.long	392
	.long	760
	.long	799
	.long	887
	.long	653
	.long	978
	.long	321
	.long	576
	.long	617
	.long	626
	.long	502
	.long	894
	.long	679
	.long	243
	.long	440
	.long	680
	.long	879
	.long	194
	.long	572
	.long	640
	.long	724
	.long	926
	.long	56
	.long	204
	.long	700
	.long	707
	.long	151
	.long	457
	.long	449
	.long	797
	.long	195
	.long	791
	.long	558
	.long	945
	.long	679
	.long	297
	.long	59
	.long	87
	.long	824
	.long	713
	.long	663
	.long	412
	.long	693
	.long	342
	.long	606
	.long	134
	.long	108
	.long	571
	.long	364
	.long	631
	.long	212
	.long	174
	.long	643
	.long	304
	.long	329
	.long	343
	.long	97
	.long	430
	.long	751
	.long	497
	.long	314
	.long	983
	.long	374
	.long	822
	.long	928
	.long	140
	.long	206
	.long	73
	.long	263
	.long	980
	.long	736
	.long	876
	.long	478
	.long	430
	.long	305
	.long	170
	.long	514
	.long	364
	.long	692
	.long	829
	.long	82
	.long	855
	.long	953
	.long	676
	.long	246
	.long	369
	.long	970
	.long	294
	.long	750
	.long	807
	.long	827
	.long	150
	.long	790
	.long	288
	.long	923
	.long	804
	.long	378
	.long	215
	.long	828
	.long	592
	.long	281
	.long	565
	.long	555
	.long	710
	.long	82
	.long	896
	.long	831
	.long	547
	.long	261
	.long	524
	.long	462
	.long	293
	.long	465
	.long	502
	.long	56
	.long	661
	.long	821
	.long	976
	.long	991
	.long	658
	.long	869
	.long	905
	.long	758
	.long	745
	.long	193
	.long	768
	.long	550
	.long	608
	.long	933
	.long	378
	.long	286
	.long	215
	.long	979
	.long	792
	.long	961
	.long	61
	.long	688
	.long	793
	.long	644
	.long	986
	.long	403
	.long	106
	.long	366
	.long	905
	.long	644
	.long	372
	.long	567
	.long	466
	.long	434
	.long	645
	.long	210
	.long	389
	.long	550
	.long	919
	.long	135
	.long	780
	.long	773
	.long	635
	.long	389
	.long	707
	.long	100
	.long	626
	.long	958
	.long	165
	.long	504
	.long	920
	.long	176
	.long	193
	.long	713
	.long	857
	.long	265
	.long	203
	.long	50
	.long	668
	.long	108
	.long	645
	.long	990
	.long	626
	.long	197
	.long	510
	.long	357
	.long	358
	.long	850
	.long	858
	.long	364
	.long	936
	.long	638
	.globl	BZ2_crc32Table
	.align 32
	.type	BZ2_crc32Table, @object
	.size	BZ2_crc32Table, 1024
BZ2_crc32Table:
	.long	0
	.long	79764919
	.long	159529838
	.long	222504665
	.long	319059676
	.long	398814059
	.long	445009330
	.long	507990021
	.long	638119352
	.long	583659535
	.long	797628118
	.long	726387553
	.long	890018660
	.long	835552979
	.long	1015980042
	.long	944750013
	.long	1276238704
	.long	1221641927
	.long	1167319070
	.long	1095957929
	.long	1595256236
	.long	1540665371
	.long	1452775106
	.long	1381403509
	.long	1780037320
	.long	1859660671
	.long	1671105958
	.long	1733955601
	.long	2031960084
	.long	2111593891
	.long	1889500026
	.long	1952343757
	.long	-1742489888
	.long	-1662866601
	.long	-1851683442
	.long	-1788833735
	.long	-1960329156
	.long	-1880695413
	.long	-2103051438
	.long	-2040207643
	.long	-1104454824
	.long	-1159051537
	.long	-1213636554
	.long	-1284997759
	.long	-1389417084
	.long	-1444007885
	.long	-1532160278
	.long	-1603531939
	.long	-734892656
	.long	-789352409
	.long	-575645954
	.long	-646886583
	.long	-952755380
	.long	-1007220997
	.long	-827056094
	.long	-898286187
	.long	-231047128
	.long	-151282273
	.long	-71779514
	.long	-8804623
	.long	-515967244
	.long	-436212925
	.long	-390279782
	.long	-327299027
	.long	881225847
	.long	809987520
	.long	1023691545
	.long	969234094
	.long	662832811
	.long	591600412
	.long	771767749
	.long	717299826
	.long	311336399
	.long	374308984
	.long	453813921
	.long	533576470
	.long	25881363
	.long	88864420
	.long	134795389
	.long	214552010
	.long	2023205639
	.long	2086057648
	.long	1897238633
	.long	1976864222
	.long	1804852699
	.long	1867694188
	.long	1645340341
	.long	1724971778
	.long	1587496639
	.long	1516133128
	.long	1461550545
	.long	1406951526
	.long	1302016099
	.long	1230646740
	.long	1142491917
	.long	1087903418
	.long	-1398421865
	.long	-1469785312
	.long	-1524105735
	.long	-1578704818
	.long	-1079922613
	.long	-1151291908
	.long	-1239184603
	.long	-1293773166
	.long	-1968362705
	.long	-1905510760
	.long	-2094067647
	.long	-2014441994
	.long	-1716953613
	.long	-1654112188
	.long	-1876203875
	.long	-1796572374
	.long	-525066777
	.long	-462094256
	.long	-382327159
	.long	-302564546
	.long	-206542021
	.long	-143559028
	.long	-97365931
	.long	-17609246
	.long	-960696225
	.long	-1031934488
	.long	-817968335
	.long	-872425850
	.long	-709327229
	.long	-780559564
	.long	-600130067
	.long	-654598054
	.long	1762451694
	.long	1842216281
	.long	1619975040
	.long	1682949687
	.long	2047383090
	.long	2127137669
	.long	1938468188
	.long	2001449195
	.long	1325665622
	.long	1271206113
	.long	1183200824
	.long	1111960463
	.long	1543535498
	.long	1489069629
	.long	1434599652
	.long	1363369299
	.long	622672798
	.long	568075817
	.long	748617968
	.long	677256519
	.long	907627842
	.long	853037301
	.long	1067152940
	.long	995781531
	.long	51762726
	.long	131386257
	.long	177728840
	.long	240578815
	.long	269590778
	.long	349224269
	.long	429104020
	.long	491947555
	.long	-248556018
	.long	-168932423
	.long	-122852000
	.long	-60002089
	.long	-500490030
	.long	-420856475
	.long	-341238852
	.long	-278395381
	.long	-685261898
	.long	-739858943
	.long	-559578920
	.long	-630940305
	.long	-1004286614
	.long	-1058877219
	.long	-845023740
	.long	-916395085
	.long	-1119974018
	.long	-1174433591
	.long	-1262701040
	.long	-1333941337
	.long	-1371866206
	.long	-1426332139
	.long	-1481064244
	.long	-1552294533
	.long	-1690935098
	.long	-1611170447
	.long	-1833673816
	.long	-1770699233
	.long	-2009983462
	.long	-1930228819
	.long	-2119160460
	.long	-2056179517
	.long	1569362073
	.long	1498123566
	.long	1409854455
	.long	1355396672
	.long	1317987909
	.long	1246755826
	.long	1192025387
	.long	1137557660
	.long	2072149281
	.long	2135122070
	.long	1912620623
	.long	1992383480
	.long	1753615357
	.long	1816598090
	.long	1627664531
	.long	1707420964
	.long	295390185
	.long	358241886
	.long	404320391
	.long	483945776
	.long	43990325
	.long	106832002
	.long	186451547
	.long	266083308
	.long	932423249
	.long	861060070
	.long	1041341759
	.long	986742920
	.long	613929101
	.long	542559546
	.long	756411363
	.long	701822548
	.long	-978770311
	.long	-1050133554
	.long	-869589737
	.long	-924188512
	.long	-693284699
	.long	-764654318
	.long	-550540341
	.long	-605129092
	.long	-475935807
	.long	-413084042
	.long	-366743377
	.long	-287118056
	.long	-257573603
	.long	-194731862
	.long	-114850189
	.long	-35218492
	.long	-1984365303
	.long	-1921392450
	.long	-2143631769
	.long	-2063868976
	.long	-1698919467
	.long	-1635936670
	.long	-1824608069
	.long	-1744851700
	.long	-1347415887
	.long	-1418654458
	.long	-1506661409
	.long	-1561119128
	.long	-1129027987
	.long	-1200260134
	.long	-1254728445
	.long	-1309196108
	.section	.rodata
	.align 8
.LC22:
	.string	"BZ2_bz__AssertH__fail(%d) called, exiting\n"
	.text
	.globl	BZ2_bz__AssertH__fail
	.type	BZ2_bz__AssertH__fail, @function
BZ2_bz__AssertH__fail:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	vex_printf
	mov	rax, QWORD PTR serviceFn[rip]
	mov	esi, 0
	mov	edi, 0
	call	rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	BZ2_bz__AssertH__fail, .-BZ2_bz__AssertH__fail
	.section	.rodata
	.align 8
.LC23:
	.string	"bz_internal_error called, exiting\n"
	.text
	.globl	bz_internal_error
	.type	bz_internal_error, @function
bz_internal_error:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	vex_printf
	mov	rax, QWORD PTR serviceFn[rip]
	mov	esi, 0
	mov	edi, 0
	call	rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	bz_internal_error, .-bz_internal_error
	.type	bz_config_ok, @function
bz_config_ok:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	bz_config_ok, .-bz_config_ok
	.type	default_bzalloc, @function
default_bzalloc:
.LFB43:
	.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
	mov	DWORD PTR -32[rbp], edx
	mov	rdx, QWORD PTR serviceFn[rip]
	mov	eax, DWORD PTR -28[rbp]
	imul	eax, DWORD PTR -32[rbp]
	cdqe
	mov	rsi, rax
	mov	edi, 2
	call	rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	default_bzalloc, .-default_bzalloc
	.type	default_bzfree, @function
default_bzfree:
.LFB44:
	.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 -16[rbp], 0
	je	.L1092
	mov	rdx, QWORD PTR serviceFn[rip]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	edi, 3
	call	rdx
.L1092:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	default_bzfree, .-default_bzfree
	.type	prepare_new_block, @function
prepare_new_block:
.LFB45:
	.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	DWORD PTR 108[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 116[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 120[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 648[rax], -1
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1094
.L1095:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	mov	BYTE PTR 128[rdx+rax], 0
	add	DWORD PTR -4[rbp], 1
.L1094:
	cmp	DWORD PTR -4[rbp], 255
	jle	.L1095
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 660[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 660[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	prepare_new_block, .-prepare_new_block
	.type	init_RL, @function
init_RL:
.LFB46:
	.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	DWORD PTR 92[rax], 256
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 96[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	init_RL, .-init_RL
	.type	isempty_RL, @function
isempty_RL:
.LFB47:
	.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 92[rax]
	cmp	eax, 255
	ja	.L1098
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 96[rax]
	test	eax, eax
	jle	.L1098
	mov	eax, 0
	jmp	.L1099
.L1098:
	mov	eax, 1
.L1099:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	isempty_RL, .-isempty_RL
	.globl	BZ2_bzCompressInit
	.type	BZ2_bzCompressInit, @function
BZ2_bzCompressInit:
.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, 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
	call	bz_config_ok
	test	eax, eax
	jne	.L1101
	mov	eax, -9
	jmp	.L1102
.L1101:
	cmp	QWORD PTR -24[rbp], 0
	je	.L1103
	cmp	DWORD PTR -28[rbp], 0
	jle	.L1103
	cmp	DWORD PTR -28[rbp], 9
	jg	.L1103
	cmp	DWORD PTR -36[rbp], 0
	js	.L1103
	cmp	DWORD PTR -36[rbp], 250
	jle	.L1104
.L1103:
	mov	eax, -2
	jmp	.L1102
.L1104:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L1105
	mov	DWORD PTR -36[rbp], 30
.L1105:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	jne	.L1106
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, default_bzalloc[rip]
	mov	QWORD PTR 56[rax], rdx
.L1106:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	jne	.L1107
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, default_bzfree[rip]
	mov	QWORD PTR 64[rax], rdx
.L1107:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, 1
	mov	esi, 55768
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1108
	mov	eax, -3
	jmp	.L1102
.L1108:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	eax, DWORD PTR -28[rbp]
	imul	eax, eax, 100000
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	eax, 2
	mov	esi, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, 1
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 34
	cdqe
	sal	eax, 2
	mov	esi, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, 1
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, 1
	mov	esi, 262148
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L1109
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L1109
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	jne	.L1110
.L1109:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L1111
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1111:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L1112
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1112:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L1113
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1113:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1114
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1114:
	mov	eax, -3
	jmp	.L1102
.L1110:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 660[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 2
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 2
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 652[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 664[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	imul	eax, eax, 100000
	lea	edx, -19[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 112[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 656[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 88[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 80[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	init_RL
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	prepare_new_block
	mov	eax, 0
.L1102:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	BZ2_bzCompressInit, .-BZ2_bzCompressInit
	.type	add_pair_to_block, @function
add_pair_to_block:
.LFB49:
	.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 92[rax]
	mov	BYTE PTR -5[rbp], al
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1116
.L1117:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 648[rax]
	sal	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 648[rax]
	shr	eax, 24
	mov	edx, eax
	movzx	eax, BYTE PTR -5[rbp]
	xor	eax, edx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_crc32Table[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 648[rax], edx
	add	DWORD PTR -4[rbp], 1
.L1116:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L1117
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, edx
	mov	BYTE PTR 128[rax+rdx], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	cmp	eax, 3
	je	.L1118
	cmp	eax, 3
	jg	.L1119
	cmp	eax, 1
	je	.L1120
	cmp	eax, 2
	je	.L1121
	jmp	.L1119
.L1120:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	jmp	.L1122
.L1121:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	jmp	.L1122
.L1118:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	jmp	.L1122
.L1119:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	sub	eax, 4
	mov	rdx, QWORD PTR -24[rbp]
	cdqe
	mov	BYTE PTR 128[rdx+rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -5[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rax, rdx
	lea	edx, -4[rcx]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	nop
.L1122:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	add_pair_to_block, .-add_pair_to_block
	.type	flush_RL, @function
flush_RL:
.LFB50:
	.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	eax, DWORD PTR 92[rax]
	cmp	eax, 255
	ja	.L1124
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	add_pair_to_block
.L1124:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	init_RL
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	flush_RL, .-flush_RL
	.type	copy_input_until_stop, @function
copy_input_until_stop:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	BYTE PTR -11[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1126
.L1136:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 108[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 112[rax]
	cmp	edx, eax
	jge	.L1148
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L1149
	mov	BYTE PTR -11[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	DWORD PTR -4[rbp], eax
	je	.L1130
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	cmp	eax, 1
	jne	.L1130
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	BYTE PTR -9[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 648[rax]
	sal	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 648[rax]
	shr	eax, 24
	mov	edx, eax
	movzx	eax, BYTE PTR -9[rbp]
	xor	eax, edx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_crc32Table[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 648[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, edx
	mov	BYTE PTR 128[rax+rdx], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -9[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L1131
.L1130:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	DWORD PTR -4[rbp], eax
	jne	.L1132
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	cmp	eax, 255
	jne	.L1133
.L1132:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 255
	ja	.L1134
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	add_pair_to_block
.L1134:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR 92[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 96[rax], 1
	jmp	.L1131
.L1133:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 96[rax], edx
.L1131:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L1136
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L1136
.L1126:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 108[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 112[rax]
	cmp	edx, eax
	jge	.L1150
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L1151
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L1152
	mov	BYTE PTR -11[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	DWORD PTR -8[rbp], eax
	je	.L1141
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	cmp	eax, 1
	jne	.L1141
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 92[rax]
	mov	BYTE PTR -10[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 648[rax]
	sal	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 648[rax]
	shr	eax, 24
	mov	edx, eax
	movzx	eax, BYTE PTR -10[rbp]
	xor	eax, edx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_crc32Table[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 648[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 92[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, edx
	mov	BYTE PTR 128[rax+rdx], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR -10[rbp]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 108[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 108[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	mov	DWORD PTR 92[rax], edx
	jmp	.L1142
.L1141:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	DWORD PTR -8[rbp], eax
	jne	.L1143
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	cmp	eax, 255
	jne	.L1144
.L1143:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 92[rax]
	cmp	eax, 255
	ja	.L1145
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	add_pair_to_block
.L1145:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -8[rbp]
	mov	DWORD PTR 92[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 96[rax], 1
	jmp	.L1142
.L1144:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 96[rax], edx
.L1142:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 8[rax]
	sub	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 12[rax]
	add	edx, 1
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L1146
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
.L1146:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	jmp	.L1126
.L1148:
	nop
	jmp	.L1137
.L1149:
	nop
	jmp	.L1137
.L1150:
	nop
	jmp	.L1137
.L1151:
	nop
	jmp	.L1137
.L1152:
	nop
.L1137:
	movzx	eax, BYTE PTR -11[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	copy_input_until_stop, .-copy_input_until_stop
	.type	copy_output_until_stop, @function
copy_output_until_stop:
.LFB52:
	.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	BYTE PTR -1[rbp], 0
.L1158:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L1160
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 120[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	edx, eax
	jge	.L1161
	mov	BYTE PTR -1[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 120[rax]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 120[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 120[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 32[rax]
	sub	edx, 1
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 24[rax]
	add	rdx, 1
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 36[rax]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L1158
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 40[rax]
	add	edx, 1
	mov	DWORD PTR 40[rax], edx
	jmp	.L1158
.L1160:
	nop
	jmp	.L1155
.L1161:
	nop
.L1155:
	movzx	eax, BYTE PTR -1[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	copy_output_until_stop, .-copy_output_until_stop
	.type	handle_compress, @function
handle_compress:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	BYTE PTR -10[rbp], 0
	mov	BYTE PTR -9[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -8[rbp], rax
.L1170:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	jne	.L1163
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	copy_output_until_stop
	or	BYTE PTR -9[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 120[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	edx, eax
	jl	.L1175
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	jne	.L1166
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L1166
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	isempty_RL
	test	al, al
	jne	.L1176
.L1166:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	prepare_new_block
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 2
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	jne	.L1163
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L1163
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	isempty_RL
	test	al, al
	jne	.L1177
.L1163:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	jne	.L1170
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	copy_input_until_stop
	or	BYTE PTR -10[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	je	.L1168
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L1168
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	flush_RL
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	BZ2_compressBlock
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 1
	jmp	.L1167
.L1168:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 108[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 112[rax]
	cmp	edx, eax
	jl	.L1169
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	BZ2_compressBlock
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 1
	jmp	.L1170
.L1169:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L1178
.L1167:
	jmp	.L1170
.L1175:
	nop
	jmp	.L1165
.L1176:
	nop
	jmp	.L1165
.L1177:
	nop
	jmp	.L1165
.L1178:
	nop
.L1165:
	cmp	BYTE PTR -10[rbp], 0
	jne	.L1171
	cmp	BYTE PTR -9[rbp], 0
	je	.L1172
.L1171:
	mov	eax, 1
	jmp	.L1173
.L1172:
	mov	eax, 0
.L1173:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	handle_compress, .-handle_compress
	.globl	BZ2_bzCompress
	.type	BZ2_bzCompress, @function
BZ2_bzCompress:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1180
	mov	eax, -2
	jmp	.L1181
.L1180:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1182
	mov	eax, -2
	jmp	.L1181
.L1182:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L1203
	mov	eax, -2
	jmp	.L1181
.L1203:
	nop
.L1183:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	je	.L1184
	cmp	eax, 4
	jg	.L1185
	cmp	eax, 3
	je	.L1186
	cmp	eax, 3
	jg	.L1185
	cmp	eax, 1
	je	.L1187
	cmp	eax, 2
	je	.L1188
	jmp	.L1185
.L1187:
	mov	eax, -1
	jmp	.L1181
.L1188:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L1189
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	handle_compress
	mov	BYTE PTR -9[rbp], al
	cmp	BYTE PTR -9[rbp], 0
	je	.L1190
	mov	eax, 1
	jmp	.L1181
.L1190:
	mov	eax, -2
	jmp	.L1181
.L1189:
	cmp	DWORD PTR -28[rbp], 1
	jne	.L1192
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 3
	jmp	.L1183
.L1192:
	cmp	DWORD PTR -28[rbp], 2
	jne	.L1193
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 4
	jmp	.L1183
.L1193:
	mov	eax, -2
	jmp	.L1181
.L1186:
	cmp	DWORD PTR -28[rbp], 1
	je	.L1194
	mov	eax, -1
	jmp	.L1181
.L1194:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	je	.L1195
	mov	eax, -1
	jmp	.L1181
.L1195:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	handle_compress
	mov	BYTE PTR -9[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L1196
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	isempty_RL
	test	al, al
	je	.L1196
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 120[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	edx, eax
	jge	.L1197
.L1196:
	mov	eax, 2
	jmp	.L1181
.L1197:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 2
	mov	eax, 1
	jmp	.L1181
.L1184:
	cmp	DWORD PTR -28[rbp], 2
	je	.L1198
	mov	eax, -1
	jmp	.L1181
.L1198:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	je	.L1199
	mov	eax, -1
	jmp	.L1181
.L1199:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	handle_compress
	mov	BYTE PTR -9[rbp], al
	cmp	BYTE PTR -9[rbp], 0
	jne	.L1200
	mov	eax, -1
	jmp	.L1181
.L1200:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L1201
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	isempty_RL
	test	al, al
	je	.L1201
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 120[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 116[rax]
	cmp	edx, eax
	jge	.L1202
.L1201:
	mov	eax, 3
	jmp	.L1181
.L1202:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 1
	mov	eax, 4
	jmp	.L1181
.L1185:
	mov	eax, 0
.L1181:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	BZ2_bzCompress, .-BZ2_bzCompress
	.globl	BZ2_bzCompressEnd
	.type	BZ2_bzCompressEnd, @function
BZ2_bzCompressEnd:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1205
	mov	eax, -2
	jmp	.L1206
.L1205:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1207
	mov	eax, -2
	jmp	.L1206
.L1207:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L1208
	mov	eax, -2
	jmp	.L1206
.L1208:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L1209
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1209:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L1210
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1210:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L1211
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1211:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	eax, 0
.L1206:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	BZ2_bzCompressEnd, .-BZ2_bzCompressEnd
	.globl	BZ2_bzDecompressInit
	.type	BZ2_bzDecompressInit, @function
BZ2_bzDecompressInit:
.LFB56:
	.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
	mov	DWORD PTR -32[rbp], edx
	call	bz_config_ok
	test	eax, eax
	jne	.L1213
	mov	eax, -9
	jmp	.L1214
.L1213:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1215
	mov	eax, -2
	jmp	.L1214
.L1215:
	cmp	DWORD PTR -32[rbp], 0
	je	.L1216
	cmp	DWORD PTR -32[rbp], 1
	je	.L1216
	mov	eax, -2
	jmp	.L1214
.L1216:
	cmp	DWORD PTR -28[rbp], 0
	js	.L1217
	cmp	DWORD PTR -28[rbp], 4
	jle	.L1218
.L1217:
	mov	eax, -2
	jmp	.L1214
.L1218:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	jne	.L1219
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, default_bzalloc[rip]
	mov	QWORD PTR 56[rax], rdx
.L1219:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	jne	.L1220
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, default_bzfree[rip]
	mov	QWORD PTR 64[rax], rdx
.L1220:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, 1
	mov	esi, 64144
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1221
	mov	eax, -3
	jmp	.L1214
.L1221:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 10
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 3188[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 40[rax], 0
	mov	eax, DWORD PTR -32[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 44[rax], dl
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 3168[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 3160[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 3152[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 52[rax], edx
	mov	eax, 0
.L1214:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	BZ2_bzDecompressInit, .-BZ2_bzDecompressInit
	.type	unRLE_obuf_to_output_FAST, @function
unRLE_obuf_to_output_FAST:
.LFB57:
	.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 -72[rbp], rdi
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR 20[rax]
	test	al, al
	je	.L1223
.L1229:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L1224
	mov	eax, 0
	jmp	.L1225
.L1224:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L1263
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -72[rbp]
	movzx	edx, BYTE PTR 12[rdx]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 3184[rax]
	sal	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 3184[rax]
	shr	eax, 24
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR 12[rax]
	movzx	eax, al
	xor	eax, edx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_crc32Table[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 3184[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 24[rax]
	add	rdx, 1
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 32[rax]
	sub	edx, 1
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 36[rax]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L1229
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 40[rax]
	add	edx, 1
	mov	DWORD PTR 40[rax], edx
	jmp	.L1229
.L1263:
	nop
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	jne	.L1230
	mov	eax, 0
	jmp	.L1225
.L1230:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	jle	.L1231
	mov	eax, 1
	jmp	.L1225
.L1231:
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], 1
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	BYTE PTR 12[rax], dl
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	BYTE PTR -53[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1232
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L1232
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 28[rax], 0
.L1232:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	mov	edx, eax
	movzx	eax, BYTE PTR -53[rbp]
	xor	eax, edx
	mov	BYTE PTR -53[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	je	.L1264
	movzx	edx, BYTE PTR -53[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	edx, eax
	je	.L1235
	movzx	edx, BYTE PTR -53[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L1234
.L1235:
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], 2
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	BYTE PTR -53[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1236
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L1236
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 28[rax], 0
.L1236:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	mov	edx, eax
	movzx	eax, BYTE PTR -53[rbp]
	xor	eax, edx
	mov	BYTE PTR -53[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	je	.L1265
	movzx	edx, BYTE PTR -53[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	edx, eax
	je	.L1238
	movzx	edx, BYTE PTR -53[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L1234
.L1238:
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], 3
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	BYTE PTR -53[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1239
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L1239
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 28[rax], 0
.L1239:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	mov	edx, eax
	movzx	eax, BYTE PTR -53[rbp]
	xor	eax, edx
	mov	BYTE PTR -53[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	je	.L1266
	movzx	edx, BYTE PTR -53[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	edx, eax
	je	.L1241
	movzx	edx, BYTE PTR -53[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L1234
.L1241:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	BYTE PTR -53[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1242
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L1242
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 28[rax], 0
.L1242:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	mov	edx, eax
	movzx	eax, BYTE PTR -53[rbp]
	xor	eax, edx
	mov	BYTE PTR -53[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 1092[rax], edx
	movzx	eax, BYTE PTR -53[rbp]
	lea	edx, 4[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax, 8
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1243
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L1243
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 28[rax], 0
.L1243:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	movzx	eax, al
	xor	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 1092[rax], edx
	jmp	.L1229
.L1264:
	nop
	jmp	.L1229
.L1265:
	nop
	jmp	.L1229
.L1266:
	nop
.L1234:
	jmp	.L1229
.L1223:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 3184[rax]
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR 12[rax]
	mov	BYTE PTR -54[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 1092[rax]
	mov	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64[rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 3152[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	mov	DWORD PTR -24[rbp], eax
.L1260:
	cmp	DWORD PTR -48[rbp], 0
	jle	.L1244
.L1249:
	cmp	DWORD PTR -32[rbp], 0
	je	.L1267
	cmp	DWORD PTR -48[rbp], 1
	je	.L1268
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR -54[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -52[rbp]
	sal	eax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 24
	mov	edx, eax
	movzx	eax, BYTE PTR -54[rbp]
	xor	eax, edx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_crc32Table[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	eax, ecx
	mov	DWORD PTR -52[rbp], eax
	sub	DWORD PTR -48[rbp], 1
	add	QWORD PTR -16[rbp], 1
	sub	DWORD PTR -32[rbp], 1
	jmp	.L1249
.L1268:
	nop
	jmp	.L1248
.L1269:
	nop
.L1248:
	cmp	DWORD PTR -32[rbp], 0
	jne	.L1250
	mov	DWORD PTR -48[rbp], 1
	jmp	.L1246
.L1250:
	mov	rax, QWORD PTR -16[rbp]
	movzx	edx, BYTE PTR -54[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -52[rbp]
	sal	eax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 24
	mov	edx, eax
	movzx	eax, BYTE PTR -54[rbp]
	xor	eax, edx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_crc32Table[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	eax, ecx
	mov	DWORD PTR -52[rbp], eax
	add	QWORD PTR -16[rbp], 1
	sub	DWORD PTR -32[rbp], 1
.L1244:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jle	.L1251
	mov	eax, 1
	jmp	.L1225
.L1251:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jne	.L1252
	mov	DWORD PTR -48[rbp], 0
	jmp	.L1246
.L1252:
	mov	eax, DWORD PTR -40[rbp]
	mov	BYTE PTR -54[rbp], al
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	BYTE PTR -53[rbp], al
	shr	DWORD PTR -36[rbp], 8
	add	DWORD PTR -44[rbp], 1
	movzx	eax, BYTE PTR -53[rbp]
	cmp	DWORD PTR -40[rbp], eax
	je	.L1253
	movzx	eax, BYTE PTR -53[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L1248
.L1253:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	je	.L1269
	mov	DWORD PTR -48[rbp], 2
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	BYTE PTR -53[rbp], al
	shr	DWORD PTR -36[rbp], 8
	add	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	je	.L1270
	movzx	eax, BYTE PTR -53[rbp]
	cmp	DWORD PTR -40[rbp], eax
	je	.L1257
	movzx	eax, BYTE PTR -53[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L1256
.L1257:
	mov	DWORD PTR -48[rbp], 3
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	BYTE PTR -53[rbp], al
	shr	DWORD PTR -36[rbp], 8
	add	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	je	.L1271
	movzx	eax, BYTE PTR -53[rbp]
	cmp	DWORD PTR -40[rbp], eax
	je	.L1259
	movzx	eax, BYTE PTR -53[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L1256
.L1259:
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	BYTE PTR -53[rbp], al
	shr	DWORD PTR -36[rbp], 8
	add	DWORD PTR -44[rbp], 1
	movzx	eax, BYTE PTR -53[rbp]
	add	eax, 4
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	movzx	eax, al
	mov	DWORD PTR -40[rbp], eax
	shr	DWORD PTR -36[rbp], 8
	add	DWORD PTR -44[rbp], 1
	jmp	.L1260
.L1270:
	nop
	jmp	.L1260
.L1271:
	nop
.L1256:
	jmp	.L1260
.L1267:
	nop
.L1246:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 36[rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 36[rax]
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, DWORD PTR -32[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	add	edx, ecx
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -20[rbp], eax
	jbe	.L1261
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 40[rax]
	add	edx, 1
	mov	DWORD PTR 40[rax], edx
.L1261:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -52[rbp]
	mov	DWORD PTR 3184[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	movzx	edx, BYTE PTR -54[rbp]
	mov	BYTE PTR 12[rax], dl
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 3152[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	eax, 0
.L1225:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	unRLE_obuf_to_output_FAST, .-unRLE_obuf_to_output_FAST
	.type	unRLE_obuf_to_output_SMALL, @function
unRLE_obuf_to_output_SMALL:
.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, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 20[rax]
	test	al, al
	je	.L1273
.L1279:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L1274
	mov	eax, 0
	jmp	.L1275
.L1274:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L1309
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR 12[rdx]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 3184[rax]
	sal	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 3184[rax]
	shr	eax, 24
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 12[rax]
	movzx	eax, al
	xor	eax, edx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_crc32Table[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 3184[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 24[rax]
	add	rdx, 1
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 32[rax]
	sub	edx, 1
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 36[rax]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L1279
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 40[rax]
	add	edx, 1
	mov	DWORD PTR 40[rax], edx
	jmp	.L1279
.L1309:
	nop
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	jne	.L1280
	mov	eax, 0
	jmp	.L1275
.L1280:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	jle	.L1281
	mov	eax, 1
	jmp	.L1275
.L1281:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 12[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1282
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L1282
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], 0
.L1282:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	mov	edx, eax
	movzx	eax, BYTE PTR -1[rbp]
	xor	eax, edx
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	je	.L1310
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	edx, eax
	je	.L1285
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L1284
.L1285:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 2
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1286
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L1286
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], 0
.L1286:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	mov	edx, eax
	movzx	eax, BYTE PTR -1[rbp]
	xor	eax, edx
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	je	.L1311
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	edx, eax
	je	.L1288
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L1284
.L1288:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 3
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1289
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L1289
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], 0
.L1289:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	mov	edx, eax
	movzx	eax, BYTE PTR -1[rbp]
	xor	eax, edx
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	je	.L1312
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	edx, eax
	je	.L1291
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L1284
.L1291:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1292
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L1292
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], 0
.L1292:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	mov	edx, eax
	movzx	eax, BYTE PTR -1[rbp]
	xor	eax, edx
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 1092[rax], edx
	movzx	eax, BYTE PTR -1[rbp]
	lea	edx, 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR 64[rdx], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1293
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_rNums[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 512
	jne	.L1293
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], 0
.L1293:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, 1
	sete	al
	movzx	eax, al
	xor	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 1092[rax], edx
	jmp	.L1279
.L1310:
	nop
	jmp	.L1279
.L1311:
	nop
	jmp	.L1279
.L1312:
	nop
.L1284:
	jmp	.L1279
.L1273:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L1294
	mov	eax, 0
	jmp	.L1275
.L1294:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L1313
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR 12[rdx]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 3184[rax]
	sal	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 3184[rax]
	shr	eax, 24
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 12[rax]
	movzx	eax, al
	xor	eax, edx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, BZ2_crc32Table[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 3184[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 24[rax]
	add	rdx, 1
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 32[rax]
	sub	edx, 1
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 36[rax]
	add	edx, 1
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jne	.L1273
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 40[rax]
	add	edx, 1
	mov	DWORD PTR 40[rax], edx
	jmp	.L1273
.L1313:
	nop
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	jne	.L1298
	mov	eax, 0
	jmp	.L1275
.L1298:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	jle	.L1299
	mov	eax, 1
	jmp	.L1275
.L1299:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR 12[rax], dl
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	je	.L1314
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	edx, eax
	je	.L1302
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L1301
.L1302:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 2
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	je	.L1315
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	edx, eax
	je	.L1304
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L1301
.L1304:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], 3
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 1092[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	je	.L1316
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 64[rax]
	cmp	edx, eax
	je	.L1306
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 64[rax], edx
	jmp	.L1301
.L1306:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 1092[rax], edx
	movzx	eax, BYTE PTR -1[rbp]
	lea	edx, 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1096
	mov	rdx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 60[rdx]
	mov	rsi, rax
	mov	edi, edx
	call	BZ2_indexIntoF
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR 64[rdx], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	mov	eax, eax
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	esi, ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	shr	eax
	mov	eax, eax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 60[rax]
	sal	eax, 2
	and	eax, 4
	mov	ecx, eax
	shr	edx, cl
	mov	eax, edx
	sal	eax, 16
	and	eax, 983040
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 60[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 1092[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 1092[rax], edx
	jmp	.L1273
.L1314:
	nop
	jmp	.L1273
.L1315:
	nop
	jmp	.L1273
.L1316:
	nop
.L1301:
	jmp	.L1273
.L1275:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	unRLE_obuf_to_output_SMALL, .-unRLE_obuf_to_output_SMALL
	.section	.rodata
.LC24:
	.string	" {0x%08x, 0x%08x}"
.LC25:
	.string	"]"
	.align 8
.LC26:
	.string	"\n    combined CRCs: stored = 0x%08x, computed = 0x%08x"
	.text
	.globl	BZ2_bzDecompress
	.type	BZ2_bzDecompress, @function
BZ2_bzDecompress:
.LFB59:
	.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
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1318
	mov	eax, -2
	jmp	.L1319
.L1318:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1320
	mov	eax, -2
	jmp	.L1319
.L1320:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L1321
	mov	eax, -2
	jmp	.L1319
.L1321:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jne	.L1322
	mov	eax, -1
	jmp	.L1319
.L1322:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L1323
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 44[rax]
	test	al, al
	je	.L1324
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	unRLE_obuf_to_output_SMALL
	mov	BYTE PTR -13[rbp], al
	jmp	.L1325
.L1324:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	unRLE_obuf_to_output_FAST
	mov	BYTE PTR -13[rbp], al
.L1325:
	cmp	BYTE PTR -13[rbp], 0
	je	.L1326
	mov	eax, -4
	jmp	.L1319
.L1326:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 1092[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 64080[rax]
	add	eax, 1
	cmp	edx, eax
	jne	.L1327
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L1327
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 3184[rax]
	not	eax
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 3184[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	eax, 2
	jle	.L1328
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 3184[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 3176[rax]
	mov	esi, eax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	vex_printf
.L1328:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	eax, 1
	jle	.L1329
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	vex_printf
.L1329:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 3184[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 3176[rax]
	cmp	edx, eax
	je	.L1330
	mov	eax, -4
	jmp	.L1319
.L1330:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 3188[rax]
	rol	eax
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 3188[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 3188[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 3184[rax]
	xor	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 3188[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 14
	jmp	.L1323
.L1327:
	mov	eax, 0
	jmp	.L1319
.L1323:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 9
	jle	.L1321
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	BZ2_decompress
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 4
	jne	.L1332
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	eax, 2
	jle	.L1333
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 3188[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 3180[rax]
	mov	esi, eax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	vex_printf
.L1333:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 3188[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 3180[rax]
	cmp	edx, eax
	je	.L1334
	mov	eax, -4
	jmp	.L1319
.L1334:
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L1319
.L1332:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	je	.L1321
	mov	eax, DWORD PTR -12[rbp]
.L1319:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	BZ2_bzDecompress, .-BZ2_bzDecompress
	.globl	BZ2_bzDecompressEnd
	.type	BZ2_bzDecompressEnd, @function
BZ2_bzDecompressEnd:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1336
	mov	eax, -2
	jmp	.L1337
.L1336:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1338
	mov	eax, -2
	jmp	.L1337
.L1338:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L1339
	mov	eax, -2
	jmp	.L1337
.L1339:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 3152[rax]
	test	rax, rax
	je	.L1340
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 3152[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1340:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 3160[rax]
	test	rax, rax
	je	.L1341
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 3160[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1341:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 3168[rax]
	test	rax, rax
	je	.L1342
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 3168[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1342:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	eax, 0
.L1337:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	BZ2_bzDecompressEnd, .-BZ2_bzDecompressEnd
	.globl	BZ2_bzBuffToBuffCompress
	.type	BZ2_bzBuffToBuffCompress, @function
BZ2_bzBuffToBuffCompress:
.LFB61:
	.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 -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	DWORD PTR -140[rbp], ecx
	mov	DWORD PTR -144[rbp], r8d
	mov	DWORD PTR -148[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -120[rbp], 0
	je	.L1344
	cmp	QWORD PTR -128[rbp], 0
	je	.L1344
	cmp	QWORD PTR -136[rbp], 0
	je	.L1344
	cmp	DWORD PTR -144[rbp], 0
	jle	.L1344
	cmp	DWORD PTR -144[rbp], 9
	jg	.L1344
	cmp	DWORD PTR -148[rbp], 0
	js	.L1344
	cmp	DWORD PTR -148[rbp], 4
	jg	.L1344
	cmp	DWORD PTR 16[rbp], 0
	js	.L1344
	cmp	DWORD PTR 16[rbp], 250
	jle	.L1345
.L1344:
	mov	eax, -2
	jmp	.L1353
.L1345:
	cmp	DWORD PTR 16[rbp], 0
	jne	.L1347
	mov	DWORD PTR 16[rbp], 30
.L1347:
	mov	QWORD PTR -40[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	edx, DWORD PTR -148[rbp]
	mov	esi, DWORD PTR -144[rbp]
	lea	rax, -96[rbp]
	mov	ecx, DWORD PTR 16[rbp]
	mov	rdi, rax
	call	BZ2_bzCompressInit
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	je	.L1348
	mov	eax, DWORD PTR -100[rbp]
	jmp	.L1353
.L1348:
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -140[rbp]
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -64[rbp], eax
	lea	rax, -96[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	BZ2_bzCompress
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 3
	je	.L1357
	cmp	DWORD PTR -100[rbp], 4
	jne	.L1358
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR [rax]
	mov	ecx, DWORD PTR -64[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR [rax], edx
	lea	rax, -96[rbp]
	mov	rdi, rax
	call	BZ2_bzCompressEnd
	mov	eax, 0
	jmp	.L1353
.L1357:
	nop
.L1350:
	lea	rax, -96[rbp]
	mov	rdi, rax
	call	BZ2_bzCompressEnd
	mov	eax, -8
	jmp	.L1353
.L1358:
	nop
.L1352:
	lea	rax, -96[rbp]
	mov	rdi, rax
	call	BZ2_bzCompressEnd
	mov	eax, DWORD PTR -100[rbp]
.L1353:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1354
	call	__stack_chk_fail@PLT
.L1354:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	BZ2_bzBuffToBuffCompress, .-BZ2_bzBuffToBuffCompress
	.globl	BZ2_bzBuffToBuffDecompress
	.type	BZ2_bzBuffToBuffDecompress, @function
BZ2_bzBuffToBuffDecompress:
.LFB62:
	.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 -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	DWORD PTR -140[rbp], ecx
	mov	DWORD PTR -144[rbp], r8d
	mov	DWORD PTR -148[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -120[rbp], 0
	je	.L1360
	cmp	QWORD PTR -128[rbp], 0
	je	.L1360
	cmp	QWORD PTR -136[rbp], 0
	je	.L1360
	cmp	DWORD PTR -144[rbp], 0
	je	.L1361
	cmp	DWORD PTR -144[rbp], 1
	jne	.L1360
.L1361:
	cmp	DWORD PTR -148[rbp], 0
	js	.L1360
	cmp	DWORD PTR -148[rbp], 4
	jle	.L1362
.L1360:
	mov	eax, -2
	jmp	.L1370
.L1362:
	mov	QWORD PTR -40[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	edx, DWORD PTR -144[rbp]
	mov	ecx, DWORD PTR -148[rbp]
	lea	rax, -96[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BZ2_bzDecompressInit
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	je	.L1364
	mov	eax, DWORD PTR -100[rbp]
	jmp	.L1370
.L1364:
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -140[rbp]
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -64[rbp], eax
	lea	rax, -96[rbp]
	mov	rdi, rax
	call	BZ2_bzDecompress
	mov	DWORD PTR -100[rbp], eax
	cmp	DWORD PTR -100[rbp], 0
	je	.L1374
	cmp	DWORD PTR -100[rbp], 4
	jne	.L1375
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR [rax]
	mov	ecx, DWORD PTR -64[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR [rax], edx
	lea	rax, -96[rbp]
	mov	rdi, rax
	call	BZ2_bzDecompressEnd
	mov	eax, 0
	jmp	.L1370
.L1374:
	nop
.L1366:
	mov	eax, DWORD PTR -64[rbp]
	test	eax, eax
	je	.L1369
	lea	rax, -96[rbp]
	mov	rdi, rax
	call	BZ2_bzDecompressEnd
	mov	eax, -7
	jmp	.L1370
.L1369:
	lea	rax, -96[rbp]
	mov	rdi, rax
	call	BZ2_bzDecompressEnd
	mov	eax, -8
	jmp	.L1370
.L1375:
	nop
.L1368:
	lea	rax, -96[rbp]
	mov	rdi, rax
	call	BZ2_bzDecompressEnd
	mov	eax, DWORD PTR -100[rbp]
.L1370:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L1371
	call	__stack_chk_fail@PLT
.L1371:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	BZ2_bzBuffToBuffDecompress, .-BZ2_bzBuffToBuffDecompress
	.section	.rodata
.LC27:
	.string	"1.0.3, 17-Oct-2004"
	.text
	.globl	BZ2_bzlibVersion
	.type	BZ2_bzlibVersion, @function
BZ2_bzlibVersion:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rax, .LC27[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	BZ2_bzlibVersion, .-BZ2_bzlibVersion
	.globl	inbuf
	.bss
	.align 32
	.type	inbuf, @object
	.size	inbuf, 1000000
inbuf:
	.zero	1000000
	.globl	outbuf
	.align 32
	.type	outbuf, @object
	.size	outbuf, 2000000
outbuf:
	.zero	2000000
	.globl	zbuf
	.align 32
	.type	zbuf, @object
	.size	zbuf, 1010600
zbuf:
	.zero	1010600
	.globl	nIn
	.align 4
	.type	nIn, @object
	.size	nIn, 4
nIn:
	.zero	4
	.globl	nOut
	.align 4
	.type	nOut, @object
	.size	nOut, 4
nOut:
	.zero	4
	.globl	nZ
	.align 4
	.type	nZ, @object
	.size	nZ, 4
nZ:
	.zero	4
	.text
	.globl	flip_bit
	.type	flip_bit, @function
flip_bit:
.LFB64:
	.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	eax, DWORD PTR -20[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cdq
	shr	edx, 29
	add	eax, edx
	and	eax, 7
	sub	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	BYTE PTR -9[rbp], al
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, zbuf[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -9[rbp]
	mov	ecx, edx
	xor	ecx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, zbuf[rip]
	mov	BYTE PTR [rax+rdx], cl
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	flip_bit, .-flip_bit
	.section	.rodata
	.align 8
.LC28:
	.string	"At her sixtieth birthday party, Margaret Thatcher "
	.align 8
.LC29:
	.string	"blew on the cake to light the candles.\n"
	.align 8
.LC30:
	.string	"This program, bzip2, the associated library libbzip2, and all\n"
	.align 8
.LC31:
	.string	"documentation, are copyright (C) 1996-2004 Julian R Seward.  All\n"
.LC32:
	.string	"rights reserved.\n"
	.align 8
.LC33:
	.string	"Redistribution and use in source and binary forms, with or without\n"
	.align 8
.LC34:
	.string	"modification, are permitted provided that the following conditions\n"
.LC35:
	.string	"are met:\n"
	.align 8
.LC36:
	.string	"1. Redistributions of source code must retain the above copyright\n"
	.align 8
.LC37:
	.string	"   notice, this list of conditions and the following disclaimer.\n"
	.align 8
.LC38:
	.string	"2. The origin of this software must not be misrepresented; you must\n"
	.align 8
.LC39:
	.string	"   not claim that you wrote the original software.  If you use this\n"
	.align 8
.LC40:
	.string	"   software in a product, an acknowledgment in the product\n"
	.align 8
.LC41:
	.string	"   documentation would be appreciated but is not required.\n"
	.align 8
.LC42:
	.string	"3. Altered source versions must be plainly marked as such, and must\n"
	.align 8
.LC43:
	.string	"   not be misrepresented as being the original software.\n"
	.align 8
.LC44:
	.string	"4. The name of the author may not be used to endorse or promote\n"
	.align 8
.LC45:
	.string	"   products derived from this software without specific prior written\n"
.LC46:
	.string	"   permission.\n"
	.align 8
.LC47:
	.string	"THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\n"
	.align 8
.LC48:
	.string	"OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n"
	.align 8
.LC49:
	.string	"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
	.align 8
.LC50:
	.string	"ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\n"
	.align 8
.LC51:
	.string	"DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
	.align 8
.LC52:
	.string	"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\n"
	.align 8
.LC53:
	.string	"GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n"
	.align 8
.LC54:
	.string	"INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n"
	.align 8
.LC55:
	.string	"WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n"
	.align 8
.LC56:
	.string	"NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n"
	.align 8
.LC57:
	.string	"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
	.align 8
.LC58:
	.string	"ababababababababababababababababababababababababababababababab"
	.align 8
.LC59:
	.string	"\t\t    GNU GENERAL PUBLIC LICENSE\n"
	.align 8
.LC60:
	.string	"\t\t       Version 2, June 1991\n"
	.align 8
.LC61:
	.string	" Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n"
	.align 8
.LC62:
	.string	"     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n"
	.align 8
.LC63:
	.string	" Everyone is permitted to copy and distribute verbatim copies\n"
	.align 8
.LC64:
	.string	" of this license document, but changing it is not allowed.\n"
.LC65:
	.string	"\t\t\t    Preamble\n"
	.align 8
.LC66:
	.string	"  The licenses for most software are designed to take away your\n"
	.align 8
.LC67:
	.string	"freedom to share and change it.  By contrast, the GNU General Public\n"
	.align 8
.LC68:
	.string	"License is intended to guarantee your freedom to share and change free\n"
	.align 8
.LC69:
	.string	"software--to make sure the software is free for all its users.  This\n"
	.align 8
.LC70:
	.string	"General Public License applies to most of the Free Software\n"
	.align 8
.LC71:
	.string	"Foundation's software and to any other program whose authors commit to\n"
	.align 8
.LC72:
	.string	"using it.  (Some other Free Software Foundation software is covered by\n"
	.align 8
.LC73:
	.string	"the GNU Library General Public License instead.)  You can apply it to\n"
.LC74:
	.string	"your programs, too.\n"
	.align 8
.LC75:
	.string	"  When we speak of free software, we are referring to freedom, not\n"
	.align 8
.LC76:
	.string	"price.  Our General Public Licenses are designed to make sure that you\n"
	.align 8
.LC77:
	.string	"have the freedom to distribute copies of free software (and charge for\n"
	.align 8
.LC78:
	.string	"this service if you wish), that you receive source code or can get it\n"
	.align 8
.LC79:
	.string	"if you want it, that you can change the software or use pieces of it\n"
	.align 8
.LC80:
	.string	"in new free programs; and that you know you can do these things.\n"
	.align 8
.LC81:
	.string	"  To protect your rights, we need to make restrictions that forbid\n"
	.align 8
.LC82:
	.string	"anyone to deny you these rights or to ask you to surrender the rights.\n"
	.align 8
.LC83:
	.string	"These restrictions translate to certain responsibilities for you if you\n"
	.align 8
.LC84:
	.string	"distribute copies of the software, or if you modify it.\n"
	.align 8
.LC85:
	.string	"  For example, if you distribute copies of such a program, whether\n"
	.align 8
.LC86:
	.string	"gratis or for a fee, you must give the recipients all the rights that\n"
	.align 8
.LC87:
	.string	"you have.  You must make sure that they, too, receive or can get the\n"
	.align 8
.LC88:
	.string	"source code.  And you must show them these terms so they know their\n"
.LC89:
	.string	"rights.\n"
	.align 8
.LC90:
	.string	"  We protect your rights with two steps: (1) copyright the software, and\n"
	.align 8
.LC91:
	.string	"(2) offer you this license which gives you legal permission to copy,\n"
	.align 8
.LC92:
	.string	"distribute and/or modify the software.\n"
	.align 8
.LC93:
	.string	"  Also, for each author's protection and ours, we want to make certain\n"
	.align 8
.LC94:
	.string	"that everyone understands that there is no warranty for this free\n"
	.align 8
.LC95:
	.string	"software.  If the software is modified by someone else and passed on, we\n"
	.align 8
.LC96:
	.string	"want its recipients to know that what they have is not the original, so\n"
	.align 8
.LC97:
	.string	"that any problems introduced by others will not reflect on the original\n"
.LC98:
	.string	"authors' reputations.\n"
	.align 8
.LC99:
	.string	"  Finally, any free program is threatened constantly by software\n"
	.align 8
.LC100:
	.string	"patents.  We wish to avoid the danger that redistributors of a free\n"
	.align 8
.LC101:
	.string	"program will individually obtain patent licenses, in effect making the\n"
	.align 8
.LC102:
	.string	"program proprietary.  To prevent this, we have made it clear that any\n"
	.align 8
.LC103:
	.string	"patent must be licensed for everyone's free use or not licensed at all.\n"
	.align 8
.LC104:
	.string	"  The precise terms and conditions for copying, distribution and\n"
.LC105:
	.string	"modification follow.\n"
	.align 8
.LC106:
	.string	"   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n"
	.align 8
.LC107:
	.string	"  0. This License applies to any program or other work which contains\n"
	.align 8
.LC108:
	.string	"a notice placed by the copyright holder saying it may be distributed\n"
	.align 8
.LC109:
	.string	"under the terms of this General Public License.  The Program, below,\n"
	.align 8
.LC110:
	.string	"refers to any such program or work, and a work based on the Program\n"
	.align 8
.LC111:
	.string	"means either the Program or any derivative work under copyright law:\n"
	.align 8
.LC112:
	.string	"that is to say, a work containing the Program or a portion of it,\n"
	.align 8
.LC113:
	.string	"either verbatim or with modifications and/or translated into another\n"
	.align 8
.LC114:
	.string	"language.  (Hereinafter, translation is included without limitation in\n"
	.align 8
.LC115:
	.string	"the term modification.)  Each licensee is addressed as you.\n"
	.align 8
.LC116:
	.string	"Activities other than copying, distribution and modification are not\n"
	.align 8
.LC117:
	.string	"covered by this License; they are outside its scope.  The act of\n"
	.align 8
.LC118:
	.string	"running the Program is not restricted, and the output from the Program\n"
	.align 8
.LC119:
	.string	"is covered only if its contents constitute a work based on the\n"
	.align 8
.LC120:
	.string	"Program (independent of having been made by running the Program).\n"
	.align 8
.LC121:
	.string	"Whether that is true depends on what the Program does.\n"
	.align 8
.LC122:
	.string	"  1. You may copy and distribute verbatim copies of the Program's\n"
	.align 8
.LC123:
	.string	"source code as you receive it, in any medium, provided that you\n"
	.align 8
.LC124:
	.string	"conspicuously and appropriately publish on each copy an appropriate\n"
	.align 8
.LC125:
	.string	"copyright notice and disclaimer of warranty; keep intact all the\n"
	.align 8
.LC126:
	.string	"notices that refer to this License and to the absence of any warranty;\n"
	.align 8
.LC127:
	.string	"and give any other recipients of the Program a copy of this License\n"
.LC128:
	.string	"along with the Program.\n"
	.align 8
.LC129:
	.string	"You may charge a fee for the physical act of transferring a copy, and\n"
	.align 8
.LC130:
	.string	"you may at your option offer warranty protection in exchange for a fee.\n"
	.align 8
.LC131:
	.string	"  2. You may modify your copy or copies of the Program or any portion\n"
	.align 8
.LC132:
	.string	"of it, thus forming a work based on the Program, and copy and\n"
	.align 8
.LC133:
	.string	"distribute such modifications or work under the terms of Section 1\n"
	.align 8
.LC134:
	.string	"above, provided that you also meet all of these conditions:\n"
	.align 8
.LC135:
	.string	"    a) You must cause the modified files to carry prominent notices\n"
	.align 8
.LC136:
	.string	"    stating that you changed the files and the date of any change.\n"
	.align 8
.LC137:
	.string	"    b) You must cause any work that you distribute or publish, that in\n"
	.align 8
.LC138:
	.string	"    whole or in part contains or is derived from the Program or any\n"
	.align 8
.LC139:
	.string	"    part thereof, to be licensed as a whole at no charge to all third\n"
	.align 8
.LC140:
	.string	"    parties under the terms of this License.\n"
	.align 8
.LC141:
	.string	"    c) If the modified program normally reads commands interactively\n"
	.align 8
.LC142:
	.string	"    when run, you must cause it, when started running for such\n"
	.align 8
.LC143:
	.string	"    interactive use in the most ordinary way, to print or display an\n"
	.align 8
.LC144:
	.string	"    announcement including an appropriate copyright notice and a\n"
	.align 8
.LC145:
	.string	"    notice that there is no warranty (or else, saying that you provide\n"
	.align 8
.LC146:
	.string	"    a warranty) and that users may redistribute the program under\n"
	.align 8
.LC147:
	.string	"    these conditions, and telling the user how to view a copy of this\n"
	.align 8
.LC148:
	.string	"    License.  (Exception: if the Program itself is interactive but\n"
	.align 8
.LC149:
	.string	"    does not normally print such an announcement, your work based on\n"
	.align 8
.LC150:
	.string	"    the Program is not required to print an announcement.)\n"
	.align 8
.LC151:
	.string	"These requirements apply to the modified work as a whole.  If\n"
	.align 8
.LC152:
	.string	"identifiable sections of that work are not derived from the Program,\n"
	.align 8
.LC153:
	.string	"and can be reasonably considered independent and separate works in\n"
	.align 8
.LC154:
	.string	"themselves, then this License, and its terms, do not apply to those\n"
	.align 8
.LC155:
	.string	"sections when you distribute them as separate works.  But when you\n"
	.align 8
.LC156:
	.string	"distribute the same sections as part of a whole which is a work based\n"
	.align 8
.LC157:
	.string	"on the Program, the distribution of the whole must be on the terms of\n"
	.align 8
.LC158:
	.string	"this License, whose permissions for other licensees extend to the\n"
	.align 8
.LC159:
	.string	"entire whole, and thus to each and every part regardless of who wrote it.\n"
	.align 8
.LC160:
	.string	"Thus, it is not the intent of this section to claim rights or contest\n"
	.align 8
.LC161:
	.string	"your rights to work written entirely by you; rather, the intent is to\n"
	.align 8
.LC162:
	.string	"exercise the right to control the distribution of derivative or\n"
	.align 8
.LC163:
	.string	"collective works based on the Program.\n"
	.align 8
.LC164:
	.string	"In addition, mere aggregation of another work not based on the Program\n"
	.align 8
.LC165:
	.string	"with the Program (or with a work based on the Program) on a volume of\n"
	.align 8
.LC166:
	.string	"a storage or distribution medium does not bring the other work under\n"
.LC167:
	.string	"the scope of this License.\n"
	.align 8
.LC168:
	.string	"  3. You may copy and distribute the Program (or a work based on it,\n"
	.align 8
.LC169:
	.string	"under Section 2) in object code or executable form under the terms of\n"
	.align 8
.LC170:
	.string	"Sections 1 and 2 above provided that you also do one of the following:\n"
	.align 8
.LC171:
	.string	"    a) Accompany it with the complete corresponding machine-readable\n"
	.align 8
.LC172:
	.string	"    source code, which must be distributed under the terms of Sections\n"
	.align 8
.LC173:
	.string	"    1 and 2 above on a medium customarily used for software interchange; or,\n"
	.align 8
.LC174:
	.string	"    b) Accompany it with a written offer, valid for at least three\n"
	.align 8
.LC175:
	.string	"    years, to give any third party, for a charge no more than your\n"
	.align 8
.LC176:
	.string	"    cost of physically performing source distribution, a complete\n"
	.align 8
.LC177:
	.string	"    machine-readable copy of the corresponding source code, to be\n"
	.align 8
.LC178:
	.string	"    distributed under the terms of Sections 1 and 2 above on a medium\n"
	.align 8
.LC179:
	.string	"    customarily used for software interchange; or,\n"
	.align 8
.LC180:
	.string	"    c) Accompany it with the information you received as to the offer\n"
	.align 8
.LC181:
	.string	"    to distribute corresponding source code.  (This alternative is\n"
	.align 8
.LC182:
	.string	"    allowed only for noncommercial distribution and only if you\n"
	.align 8
.LC183:
	.string	"    received the program in object code or executable form with such\n"
	.align 8
.LC184:
	.string	"    an offer, in accord with Subsection b above.)\n"
	.align 8
.LC185:
	.string	"The source code for a work means the preferred form of the work for\n"
	.align 8
.LC186:
	.string	"making modifications to it.  For an executable work, complete source\n"
	.align 8
.LC187:
	.string	"code means all the source code for all modules it contains, plus any\n"
	.align 8
.LC188:
	.string	"associated interface definition files, plus the scripts used to\n"
	.align 8
.LC189:
	.string	"control compilation and installation of the executable.  However, as a\n"
	.align 8
.LC190:
	.string	"special exception, the source code distributed need not include\n"
	.align 8
.LC191:
	.string	"anything that is normally distributed (in either source or binary\n"
	.align 8
.LC192:
	.string	"form) with the major components (compiler, kernel, and so on) of the\n"
	.align 8
.LC193:
	.string	"operating system on which the executable runs, unless that component\n"
	.align 8
.LC194:
	.string	"itself accompanies the executable.\n"
	.align 8
.LC195:
	.string	"If distribution of executable or object code is made by offering\n"
	.align 8
.LC196:
	.string	"access to copy from a designated place, then offering equivalent\n"
	.align 8
.LC197:
	.string	"access to copy the source code from the same place counts as\n"
	.align 8
.LC198:
	.string	"distribution of the source code, even though third parties are not\n"
	.align 8
.LC199:
	.string	"compelled to copy the source along with the object code.\n"
	.align 8
.LC200:
	.string	"  4. You may not copy, modify, sublicense, or distribute the Program\n"
	.align 8
.LC201:
	.string	"except as expressly provided under this License.  Any attempt\n"
	.align 8
.LC202:
	.string	"otherwise to copy, modify, sublicense or distribute the Program is\n"
	.align 8
.LC203:
	.string	"void, and will automatically terminate your rights under this License.\n"
	.align 8
.LC204:
	.string	"However, parties who have received copies, or rights, from you under\n"
	.align 8
.LC205:
	.string	"this License will not have their licenses terminated so long as such\n"
	.align 8
.LC206:
	.string	"parties remain in full compliance.\n"
	.align 8
.LC207:
	.string	"  5. You are not required to accept this License, since you have not\n"
	.align 8
.LC208:
	.string	"signed it.  However, nothing else grants you permission to modify or\n"
	.align 8
.LC209:
	.string	"distribute the Program or its derivative works.  These actions are\n"
	.align 8
.LC210:
	.string	"prohibited by law if you do not accept this License.  Therefore, by\n"
	.align 8
.LC211:
	.string	"modifying or distributing the Program (or any work based on the\n"
	.align 8
.LC212:
	.string	"Program), you indicate your acceptance of this License to do so, and\n"
	.align 8
.LC213:
	.string	"all its terms and conditions for copying, distributing or modifying\n"
	.align 8
.LC214:
	.string	"the Program or works based on it.\n"
	.align 8
.LC215:
	.string	"  6. Each time you redistribute the Program (or any work based on the\n"
	.align 8
.LC216:
	.string	"Program), the recipient automatically receives a license from the\n"
	.align 8
.LC217:
	.string	"original licensor to copy, distribute or modify the Program subject to\n"
	.align 8
.LC218:
	.string	"these terms and conditions.  You may not impose any further\n"
	.align 8
.LC219:
	.string	"restrictions on the recipients' exercise of the rights granted herein.\n"
	.align 8
.LC220:
	.string	"You are not responsible for enforcing compliance by third parties to\n"
.LC221:
	.string	"this License.\n"
	.align 8
.LC222:
	.string	"  7. If, as a consequence of a court judgment or allegation of patent\n"
	.align 8
.LC223:
	.string	"infringement or for any other reason (not limited to patent issues),\n"
	.align 8
.LC224:
	.string	"conditions are imposed on you (whether by court order, agreement or\n"
	.align 8
.LC225:
	.string	"otherwise) that contradict the conditions of this License, they do not\n"
	.align 8
.LC226:
	.string	"excuse you from the conditions of this License.  If you cannot\n"
	.align 8
.LC227:
	.string	"distribute so as to satisfy simultaneously your obligations under this\n"
	.align 8
.LC228:
	.string	"License and any other pertinent obligations, then as a consequence you\n"
	.align 8
.LC229:
	.string	"may not distribute the Program at all.  For example, if a patent\n"
	.align 8
.LC230:
	.string	"license would not permit royalty-free redistribution of the Program by\n"
	.align 8
.LC231:
	.string	"all those who receive copies directly or indirectly through you, then\n"
	.align 8
.LC232:
	.string	"the only way you could satisfy both it and this License would be to\n"
	.align 8
.LC233:
	.string	"refrain entirely from distribution of the Program.\n"
	.align 8
.LC234:
	.string	"If any portion of this section is held invalid or unenforceable under\n"
	.align 8
.LC235:
	.string	"any particular circumstance, the balance of the section is intended to\n"
	.align 8
.LC236:
	.string	"apply and the section as a whole is intended to apply in other\n"
.LC237:
	.string	"circumstances.\n"
	.align 8
.LC238:
	.string	"It is not the purpose of this section to induce you to infringe any\n"
	.align 8
.LC239:
	.string	"patents or other property right claims or to contest validity of any\n"
	.align 8
.LC240:
	.string	"such claims; this section has the sole purpose of protecting the\n"
	.align 8
.LC241:
	.string	"integrity of the free software distribution system, which is\n"
	.align 8
.LC242:
	.string	"implemented by public license practices.  Many people have made\n"
	.align 8
.LC243:
	.string	"generous contributions to the wide range of software distributed\n"
	.align 8
.LC244:
	.string	"through that system in reliance on consistent application of that\n"
	.align 8
.LC245:
	.string	"system; it is up to the author/donor to decide if he or she is willing\n"
	.align 8
.LC246:
	.string	"to distribute software through any other system and a licensee cannot\n"
.LC247:
	.string	"impose that choice.\n"
	.align 8
.LC248:
	.string	"This section is intended to make thoroughly clear what is believed to\n"
	.align 8
.LC249:
	.string	"be a consequence of the rest of this License.\n"
	.align 8
.LC250:
	.string	"  8. If the distribution and/or use of the Program is restricted in\n"
	.align 8
.LC251:
	.string	"certain countries either by patents or by copyrighted interfaces, the\n"
	.align 8
.LC252:
	.string	"original copyright holder who places the Program under this License\n"
	.align 8
.LC253:
	.string	"may add an explicit geographical distribution limitation excluding\n"
	.align 8
.LC254:
	.string	"those countries, so that distribution is permitted only in or among\n"
	.align 8
.LC255:
	.string	"countries not thus excluded.  In such case, this License incorporates\n"
	.align 8
.LC256:
	.string	"the limitation as if written in the body of this License.\n"
	.align 8
.LC257:
	.string	"  9. The Free Software Foundation may publish revised and/or new versions\n"
	.align 8
.LC258:
	.string	"of the General Public License from time to time.  Such new versions will\n"
	.align 8
.LC259:
	.string	"be similar in spirit to the present version, but may differ in detail to\n"
	.align 8
.LC260:
	.string	"address new problems or concerns.\n"
	.align 8
.LC261:
	.string	"Each version is given a distinguishing version number.  If the Program\n"
	.align 8
.LC262:
	.string	"specifies a version number of this License which applies to it and any\n"
	.align 8
.LC263:
	.string	"later version, you have the option of following the terms and conditions\n"
	.align 8
.LC264:
	.string	"either of that version or of any later version published by the Free\n"
	.align 8
.LC265:
	.string	"Software Foundation.  If the Program does not specify a version number of\n"
	.align 8
.LC266:
	.string	"this License, you may choose any version ever published by the Free Software\n"
.LC267:
	.string	"Foundation.\n"
	.align 8
.LC268:
	.string	"  10. If you wish to incorporate parts of the Program into other free\n"
	.align 8
.LC269:
	.string	"programs whose distribution conditions are different, write to the author\n"
	.align 8
.LC270:
	.string	"to ask for permission.  For software which is copyrighted by the Free\n"
	.align 8
.LC271:
	.string	"Software Foundation, write to the Free Software Foundation; we sometimes\n"
	.align 8
.LC272:
	.string	"make exceptions for this.  Our decision will be guided by the two goals\n"
	.align 8
.LC273:
	.string	"of preserving the free status of all derivatives of our free software and\n"
	.align 8
.LC274:
	.string	"of promoting the sharing and reuse of software generally.\n"
.LC275:
	.string	"\t\t\t    NO WARRANTY\n"
	.align 8
.LC276:
	.string	"  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n"
	.align 8
.LC277:
	.string	"FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\n"
	.align 8
.LC278:
	.string	"OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n"
	.align 8
.LC279:
	.string	"PROVIDE THE PROGRAM AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\n"
	.align 8
.LC280:
	.string	"OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n"
	.align 8
.LC281:
	.string	"MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\n"
	.align 8
.LC282:
	.string	"TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\n"
	.align 8
.LC283:
	.string	"PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n"
.LC284:
	.string	"REPAIR OR CORRECTION.\n"
	.align 8
.LC285:
	.string	"  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n"
	.align 8
.LC286:
	.string	"WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n"
	.align 8
.LC287:
	.string	"REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n"
	.align 8
.LC288:
	.string	"INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n"
	.align 8
.LC289:
	.string	"OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n"
	.align 8
.LC290:
	.string	"TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n"
	.align 8
.LC291:
	.string	"YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n"
	.align 8
.LC292:
	.string	"PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n"
.LC293:
	.string	"POSSIBILITY OF SUCH DAMAGES.\n"
	.align 8
.LC294:
	.string	"\t\t     END OF TERMS AND CONDITIONS\n"
	.align 8
.LC295:
	.string	"\t    How to Apply These Terms to Your New Programs\n"
	.align 8
.LC296:
	.string	"  If you develop a new program, and you want it to be of the greatest\n"
	.align 8
.LC297:
	.string	"possible use to the public, the best way to achieve this is to make it\n"
	.align 8
.LC298:
	.string	"free software which everyone can redistribute and change under these terms.\n"
	.align 8
.LC299:
	.string	"  To do so, attach the following notices to the program.  It is safest\n"
	.align 8
.LC300:
	.string	"to attach them to the start of each source file to most effectively\n"
	.align 8
.LC301:
	.string	"convey the exclusion of warranty; and each file should have at least\n"
	.align 8
.LC302:
	.string	"the copyright line and a pointer to where the full notice is found.\n"
	.align 8
.LC303:
	.string	"    <one line to give the program's name and a brief idea of what it does.>\n"
	.align 8
.LC304:
	.string	"    Copyright (C) <year>  <name of author>\n"
	.align 8
.LC305:
	.string	"    This program is free software; you can redistribute it and/or modify\n"
	.align 8
.LC306:
	.string	"    it under the terms of the GNU General Public License as published by\n"
	.align 8
.LC307:
	.string	"    the Free Software Foundation; either version 2 of the License, or\n"
	.align 8
.LC308:
	.string	"    (at your option) any later version.\n"
	.align 8
.LC309:
	.string	"    This program is distributed in the hope that it will be useful,\n"
	.align 8
.LC310:
	.string	"    but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
	.align 8
.LC311:
	.string	"    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
	.align 8
.LC312:
	.string	"    GNU General Public License for more details.\n"
	.align 8
.LC313:
	.string	"    You should have received a copy of the GNU General Public License\n"
	.align 8
.LC314:
	.string	"    along with this program; if not, write to the Free Software\n"
	.align 8
.LC315:
	.string	"    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n"
	.align 8
.LC316:
	.string	"Also add information on how to contact you by electronic and paper mail.\n"
	.align 8
.LC317:
	.string	"If the program is interactive, make it output a short notice like this\n"
	.align 8
.LC318:
	.string	"when it starts in an interactive mode:\n"
	.align 8
.LC319:
	.string	"    Gnomovision version 69, Copyright (C) year  name of author\n"
	.align 8
.LC320:
	.string	"    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n"
	.align 8
.LC321:
	.string	"    This is free software, and you are welcome to redistribute it\n"
	.align 8
.LC322:
	.string	"    under certain conditions; type `show c' for details.\n"
	.align 8
.LC323:
	.string	"The hypothetical commands `show w' and `show c' should show the appropriate\n"
	.align 8
.LC324:
	.string	"parts of the General Public License.  Of course, the commands you use may\n"
	.align 8
.LC325:
	.string	"be called something other than `show w' and `show c'; they could even be\n"
	.align 8
.LC326:
	.string	"mouse-clicks or menu items--whatever suits your program.\n"
	.align 8
.LC327:
	.string	"You should also get your employer (if you work as a programmer) or your\n"
	.align 8
.LC328:
	.string	"school, if any, to sign a copyright disclaimer for the program, if\n"
	.align 8
.LC329:
	.string	"necessary.  Here is a sample; alter the names:\n"
	.align 8
.LC330:
	.string	"  Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n"
	.align 8
.LC331:
	.string	"  `Gnomovision' (which makes passes at compilers) written by James Hacker.\n"
	.align 8
.LC332:
	.string	"  <signature of Ty Coon>, 1 April 1989\n"
.LC333:
	.string	"  Ty Coon, President of Vice\n"
	.align 8
.LC334:
	.string	"This General Public License does not permit incorporating your program into\n"
	.align 8
.LC335:
	.string	"proprietary programs.  If your program is a subroutine library, you may\n"
	.align 8
.LC336:
	.string	"consider it more useful to permit linking proprietary applications with the\n"
	.align 8
.LC337:
	.string	"library.  If this is what you want to do, use the GNU Library General\n"
	.align 8
.LC338:
	.string	"Public License instead of this License.\n"
	.text
	.globl	set_inbuf
	.type	set_inbuf, @function
set_inbuf:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	BYTE PTR inbuf[rip], 0
	lea	rsi, .LC28[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC29[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC30[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC31[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC32[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC33[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC34[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC35[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC36[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC37[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC38[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC39[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC40[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC41[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC42[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC43[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC44[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC45[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC46[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC47[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC48[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC49[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC50[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC51[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC52[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC53[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC54[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC55[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC56[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC57[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC58[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC59[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC60[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC61[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC62[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC63[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC64[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC65[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC66[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC67[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC68[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC69[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC70[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC71[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC72[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC73[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC74[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC75[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC76[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC77[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC78[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC79[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC80[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC81[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC82[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC83[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC84[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC85[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC86[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC87[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC88[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC89[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC90[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC91[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC92[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC93[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC94[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC95[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC96[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC97[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC98[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC99[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC100[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC101[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC102[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC103[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC104[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC105[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC59[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC106[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC107[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC108[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC109[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC110[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC111[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC112[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC113[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC114[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC115[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC116[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC117[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC118[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC119[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC120[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC121[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC122[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC123[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC124[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC125[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC126[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC127[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC128[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC129[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC130[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC131[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC132[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC133[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC134[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC135[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC136[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC137[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC138[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC139[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC140[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC141[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC142[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC143[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC144[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC145[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC146[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC147[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC148[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC149[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC150[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC151[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC152[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC153[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC154[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC155[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC156[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC157[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC158[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC159[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC160[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC161[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC162[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC163[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC164[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC165[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC166[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC167[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC168[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC169[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC170[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC171[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC172[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC173[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC174[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC175[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC176[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC177[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC178[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC179[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC180[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC181[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC182[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC183[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC184[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC185[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC186[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC187[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC188[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC189[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC190[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC191[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC192[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC193[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC194[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC195[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC196[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC197[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC198[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC199[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC200[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC201[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC202[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC203[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC204[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC205[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC206[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC207[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC208[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC209[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC210[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC211[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC212[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC213[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC214[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC215[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC216[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC217[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC218[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC219[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC220[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC221[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC222[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC223[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC224[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC225[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC226[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC227[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC228[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC229[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC230[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC231[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC232[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC233[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC234[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC235[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC236[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC237[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC238[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC239[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC240[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC241[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC242[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC243[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC244[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC245[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC246[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC247[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC248[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC249[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC250[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC251[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC252[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC253[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC254[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC255[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC256[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC257[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC258[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC259[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC260[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC261[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC262[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC263[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC264[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC265[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC266[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC267[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC268[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC269[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC270[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC271[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC272[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC273[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC274[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC275[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC276[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC277[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC278[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC279[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC280[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC281[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC282[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC283[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC284[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC285[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC286[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC287[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC288[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC289[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC290[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC291[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC292[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC293[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC294[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC295[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC296[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC297[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC298[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC299[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC300[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC301[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC302[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC303[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC304[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC305[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC306[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC307[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC308[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC309[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC310[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC311[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC312[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC313[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC314[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC315[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC316[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC317[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC318[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC319[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC320[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC321[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC322[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC323[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC324[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC325[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC326[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC327[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC328[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC329[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC330[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC331[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC332[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC333[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC334[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC335[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC336[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC337[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC338[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	lea	rsi, .LC15[rip]
	lea	rdi, inbuf[rip]
	call	my_strcat
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	set_inbuf, .-set_inbuf
	.section	.rodata
.LC339:
	.string	"the_stack_data/152086.c"
.LC340:
	.string	"0"
	.text
	.type	g_serviceFn, @function
g_serviceFn:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	cmp	QWORD PTR -8[rbp], 3
	je	.L1381
	cmp	QWORD PTR -8[rbp], 3
	ja	.L1382
	cmp	QWORD PTR -8[rbp], 2
	je	.L1383
	cmp	QWORD PTR -8[rbp], 2
	ja	.L1382
	cmp	QWORD PTR -8[rbp], 0
	je	.L1384
	cmp	QWORD PTR -8[rbp], 1
	je	.L1385
	jmp	.L1382
.L1384:
	mov	edi, 0
	call	exit@PLT
.L1385:
	mov	rax, QWORD PTR -16[rbp]
	mov	edi, eax
	call	putchar@PLT
	mov	eax, 0
	jmp	.L1386
.L1383:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	malloc@PLT
	jmp	.L1386
.L1381:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L1386
.L1382:
	lea	rcx, __PRETTY_FUNCTION__.1[rip]
	mov	edx, 6441
	lea	rsi, .LC339[rip]
	lea	rdi, .LC340[rip]
	call	__assert_fail@PLT
.L1386:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	g_serviceFn, .-g_serviceFn
	.section	.rodata
.LC341:
	.string	"OK"
.LC342:
	.string	"SEQUENCE_ERROR"
.LC343:
	.string	"PARAM_ERROR"
.LC344:
	.string	"MEM_ERROR"
.LC345:
	.string	"DATA_ERROR"
.LC346:
	.string	"DATA_ERROR_MAGIC"
.LC347:
	.string	"IO_ERROR"
.LC348:
	.string	"UNEXPECTED_EOF"
.LC349:
	.string	"OUTBUFF_FULL"
.LC350:
	.string	"CONFIG_ERROR"
.LC351:
	.string	"???"
	.section	.data.rel.local,"aw"
	.align 32
	.type	bzerrorstrings, @object
	.size	bzerrorstrings, 128
bzerrorstrings:
	.quad	.LC341
	.quad	.LC342
	.quad	.LC343
	.quad	.LC344
	.quad	.LC345
	.quad	.LC346
	.quad	.LC347
	.quad	.LC348
	.quad	.LC349
	.quad	.LC350
	.quad	.LC351
	.quad	.LC351
	.quad	.LC351
	.quad	.LC351
	.quad	.LC351
	.quad	.LC351
	.section	.rodata
.LC352:
	.string	"argc == 1 || argc == 2"
.LC353:
	.string	"%d bytes read\n"
.LC354:
	.string	"initial compress failed!\n"
.LC355:
	.string	"%d after compression\n"
.LC356:
	.string	"bit %d  "
.LC357:
	.string	" %d  %s "
.LC358:
	.string	"nIn/nOut mismatch %d %d\n"
.LC359:
	.string	"mismatch at %d\n"
.LC360:
	.string	"really ok!\n"
.LC361:
	.string	"all ok\n"
	.text
	.globl	main
	.type	main, @function
main:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	cmp	DWORD PTR -20[rbp], 1
	je	.L1388
	cmp	DWORD PTR -20[rbp], 2
	je	.L1388
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 6474
	lea	rsi, .LC339[rip]
	lea	rdi, .LC352[rip]
	call	__assert_fail@PLT
.L1388:
	cmp	DWORD PTR -20[rbp], 2
	sete	al
	movzx	eax, al
	mov	DWORD PTR -8[rbp], eax
	mov	DWORD PTR -8[rbp], 1
	lea	rax, g_serviceFn[rip]
	mov	QWORD PTR serviceFn[rip], rax
	call	set_inbuf
	lea	rdi, inbuf[rip]
	call	vex_strlen
	add	eax, 1
	mov	DWORD PTR nIn[rip], eax
	mov	eax, DWORD PTR nIn[rip]
	mov	esi, eax
	lea	rdi, .LC353[rip]
	mov	eax, 0
	call	vex_printf
	mov	DWORD PTR nZ[rip], 1000000
	mov	eax, DWORD PTR nIn[rip]
	sub	rsp, 8
	push	30
	mov	r9d, 3
	mov	r8d, 9
	mov	ecx, eax
	lea	rdx, inbuf[rip]
	lea	rsi, nZ[rip]
	lea	rdi, zbuf[rip]
	call	BZ2_bzBuffToBuffCompress
	add	rsp, 16
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L1389
	lea	rdi, .LC354[rip]
	mov	eax, 0
	call	vex_printf
	mov	rax, QWORD PTR serviceFn[rip]
	mov	esi, 0
	mov	edi, 0
	call	rax
.L1389:
	mov	eax, DWORD PTR nZ[rip]
	mov	esi, eax
	lea	rdi, .LC355[rip]
	mov	eax, 0
	call	vex_printf
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1390
.L1403:
	cmp	DWORD PTR -8[rbp], 0
	je	.L1391
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, eax
	lea	rdi, .LC356[rip]
	mov	eax, 0
	call	vex_printf
.L1391:
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	flip_bit
	mov	DWORD PTR nOut[rip], 2000000
	mov	eax, DWORD PTR nZ[rip]
	mov	r9d, 0
	mov	r8d, 1
	mov	ecx, eax
	lea	rdx, zbuf[rip]
	lea	rsi, nOut[rip]
	lea	rdi, outbuf[rip]
	call	BZ2_bzBuffToBuffDecompress
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L1392
	mov	eax, DWORD PTR -4[rbp]
	neg	eax
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, bzerrorstrings[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC357[rip]
	mov	eax, 0
	call	vex_printf
.L1392:
	cmp	DWORD PTR -4[rbp], 0
	je	.L1393
	cmp	DWORD PTR -8[rbp], 0
	je	.L1394
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	vex_printf
	jmp	.L1394
.L1393:
	mov	eax, DWORD PTR nOut[rip]
	mov	edx, DWORD PTR nIn[rip]
	cmp	eax, edx
	je	.L1395
	mov	edx, DWORD PTR nOut[rip]
	mov	eax, DWORD PTR nIn[rip]
	mov	esi, eax
	lea	rdi, .LC358[rip]
	mov	eax, 0
	call	vex_printf
	mov	rax, QWORD PTR serviceFn[rip]
	mov	esi, 0
	mov	edi, 0
	call	rax
	jmp	.L1394
.L1395:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L1396
.L1398:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, inbuf[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rcx, outbuf[rip]
	movzx	eax, BYTE PTR [rax+rcx]
	cmp	dl, al
	je	.L1397
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, eax
	lea	rdi, .LC359[rip]
	mov	eax, 0
	call	vex_printf
	mov	rax, QWORD PTR serviceFn[rip]
	mov	esi, 0
	mov	edi, 0
	call	rax
.L1397:
	add	DWORD PTR -12[rbp], 1
.L1396:
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR nOut[rip]
	cmp	edx, eax
	jb	.L1398
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR nOut[rip]
	cmp	edx, eax
	jne	.L1394
	lea	rdi, .LC360[rip]
	mov	eax, 0
	call	vex_printf
.L1394:
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	flip_bit
	cmp	DWORD PTR -16[rbp], 34
	jle	.L1399
	cmp	DWORD PTR -8[rbp], 0
	je	.L1400
	mov	eax, 2377
	jmp	.L1402
.L1400:
	mov	eax, 137
	jmp	.L1402
.L1399:
	mov	eax, 1
.L1402:
	add	DWORD PTR -16[rbp], eax
.L1390:
	mov	eax, DWORD PTR nZ[rip]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -16[rbp]
	cmp	edx, eax
	ja	.L1403
	lea	rdi, .LC361[rip]
	mov	eax, 0
	call	vex_printf
	mov	rax, QWORD PTR serviceFn[rip]
	mov	esi, 0
	mov	edi, 0
	call	rax
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	main, .-main
	.section	.rodata
	.align 8
	.type	__PRETTY_FUNCTION__.1, @object
	.size	__PRETTY_FUNCTION__.1, 12
__PRETTY_FUNCTION__.1:
	.string	"g_serviceFn"
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 5
__PRETTY_FUNCTION__.0:
	.string	"main"
	.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	"152086.c"
	.text
	.local	serviceFn
	.comm	serviceFn,4,4
	.align	2
	.global	my_strcat
	.syntax unified
	.arm
	.fpu softvfp
	.type	my_strcat, %function
my_strcat:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L2
.L3:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L2:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L3
	b	.L4
.L5:
	ldr	r2, [fp, #-20]
	add	r3, r2, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L4:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L5
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	my_strcat, .-my_strcat
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vex_log_bytes, %function
vex_log_bytes:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L8
.L9:
	ldr	r3, .L10
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	mov	r1, r2
	mov	r0, #1
	blx	r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L8:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L9
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L11:
	.align	2
.L10:
	.word	serviceFn
	.size	vex_log_bytes, .-vex_log_bytes
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vex_toupper, %function
vex_toupper:
	@ 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
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L13
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #122
	bhi	.L13
	ldrb	r3, [fp, #-5]
	sub	r3, r3, #32
	and	r3, r3, #255
	b	.L14
.L13:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
.L14:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	vex_toupper, .-vex_toupper
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vex_strlen, %function
vex_strlen:
	@ 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	.L16
.L17:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L16:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L17
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	vex_strlen, .-vex_strlen
	.align	2
	.global	vex_streq
	.syntax unified
	.arm
	.fpu softvfp
	.type	vex_streq, %function
vex_streq:
	@ 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]
.L23:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L20
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L20
	mov	r3, #1
	b	.L21
.L20:
	ldr	r3, [fp, #-8]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L22
	mov	r3, #0
	b	.L21
.L22:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L23
.L21:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	vex_streq, .-vex_streq
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	myvprintf_str, %function
myvprintf_str:
	@ args = 4, 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]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r0, [fp, #-36]
	bl	vex_strlen
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L25
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L26
.L29:
	ldrb	r3, [fp, #4]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L27
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	vex_toupper
	mov	r3, r0
	mov	r2, r3
	b	.L28
.L27:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
.L28:
	ldr	r3, [fp, #-24]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L26:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L29
	ldr	r3, [fp, #-20]
	b	.L30
.L25:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	ble	.L31
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L32
.L35:
	ldrb	r3, [fp, #4]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L33
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	vex_toupper
	mov	r3, r0
	mov	r2, r3
	b	.L34
.L33:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
.L34:
	ldr	r3, [fp, #-24]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L32:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L35
	ldr	r3, [fp, #-20]
	b	.L30
.L31:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L36
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L37
.L38:
	ldr	r3, [fp, #-24]
	mov	r0, #32
	blx	r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L37:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L38
.L36:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L39
.L42:
	ldrb	r3, [fp, #4]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L40
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	vex_toupper
	mov	r3, r0
	mov	r2, r3
	b	.L41
.L40:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
.L41:
	ldr	r3, [fp, #-24]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L39:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L42
	ldr	r3, [fp, #-28]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L43
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L44
.L45:
	ldr	r3, [fp, #-24]
	mov	r0, #32
	blx	r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L44:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L45
.L43:
	ldr	r3, [fp, #-20]
.L30:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	myvprintf_str, .-myvprintf_str
	.section	.rodata
	.align	2
.LC0:
	.ascii	"0123456789ABCDEF\000"
	.global	__aeabi_uidivmod
	.global	__aeabi_uidiv
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	myvprintf_int64, %function
myvprintf_int64:
	@ args = 8, 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, #-80]
	str	r1, [fp, #-84]
	str	r2, [fp, #-88]
	str	r3, [fp, #-92]
	ldr	r3, .L69
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r3, #0
	strb	r3, [fp, #-73]
	ldr	r3, .L69+4
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-88]
	cmp	r3, #1
	ble	.L47
	ldr	r3, [fp, #-88]
	cmp	r3, #16
	ble	.L48
.L47:
	ldr	r3, [fp, #-60]
	b	.L67
.L48:
	ldr	r3, [fp, #-84]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L50
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bge	.L50
	ldr	r3, [fp, #-56]
	rsb	r3, r3, #0
	str	r3, [fp, #-56]
	mov	r3, #1
	strb	r3, [fp, #-73]
.L50:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L53
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #48
	strb	r2, [r3, #-44]
	b	.L52
.L55:
	ldr	r3, [fp, #-84]
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L54
	ldr	r3, [fp, #-88]
	cmp	r3, #10
	bne	.L54
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-64]
	sub	r1, r2, r3
	ldr	r3, .L69+8
	smull	r0, r2, r3, r1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L54
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L54
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #44
	strb	r2, [r3, #-44]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L54:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-56]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	mov	r2, r3
	ldr	r3, [fp, #-52]
	add	r2, r3, r2
	ldr	r3, [fp, #-72]
	add	r1, r3, #1
	str	r1, [fp, #-72]
	ldrb	r2, [r2]	@ zero_extendqisi2
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-44]
	ldr	r3, [fp, #-88]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	__aeabi_uidiv
	mov	r3, r0
	str	r3, [fp, #-56]
.L53:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L55
.L52:
	ldrb	r3, [fp, #-73]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L56
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #45
	strb	r2, [r3, #-44]
.L56:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	ble	.L57
	ldr	r3, [fp, #-84]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L57
	b	.L58
.L61:
	ldr	r3, [fp, #-84]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L59
	mov	r1, #48
	b	.L60
.L59:
	mov	r1, #32
.L60:
	sub	r2, fp, #48
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L58:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-92]
	cmp	r2, r3
	blt	.L61
.L57:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	str	r3, [fp, #-68]
	b	.L62
.L63:
	sub	r2, fp, #48
	ldr	r3, [fp, #-68]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-80]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	str	r3, [fp, #-68]
.L62:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bge	.L63
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	ble	.L64
	ldr	r3, [fp, #-84]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L64
	b	.L65
.L66:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-80]
	mov	r0, #32
	blx	r3
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L65:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-92]
	cmp	r2, r3
	blt	.L66
.L64:
	ldr	r3, [fp, #-60]
.L67:
	ldr	r2, .L69
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L68
	bl	__stack_chk_fail
.L68:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L70:
	.align	2
.L69:
	.word	.LC1
	.word	.LC0
	.word	1431655766
	.size	myvprintf_int64, .-myvprintf_int64
	.section	.rodata
	.align	2
.LC2:
	.ascii	"(null)\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vprintf_wrk, %function
vprintf_wrk:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L72
.L102:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	beq	.L73
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L74
.L73:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L104
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L77
	ldr	r3, [fp, #-32]
	mov	r0, #37
	blx	r3
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L74
.L77:
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	strb	r3, [fp, #-25]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	bne	.L78
	ldr	r3, [fp, #-16]
	orr	r3, r3, #8
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L78:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #44
	bne	.L79
	ldr	r3, [fp, #-16]
	orr	r3, r3, #16
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L79:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L80
	ldr	r3, [fp, #-16]
	orr	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L80:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #48
	bne	.L82
	ldr	r3, [fp, #-16]
	orr	r3, r3, #2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L82
.L84:
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
.L82:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L85
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L84
	b	.L85
.L86:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	mov	r3, #1
	strb	r3, [fp, #-25]
.L85:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #108
	beq	.L86
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #83
	cmp	r3, #37
	ldrls	pc, [pc, r3, asl #2]
	b	.L105
.L89:
	.word	.L91
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L94
	.word	.L93
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L92
	.word	.L105
	.word	.L105
	.word	.L91
	.word	.L105
	.word	.L90
	.word	.L105
	.word	.L105
	.word	.L88
.L93:
	ldr	r3, [fp, #-16]
	orr	r3, r3, #1
	str	r3, [fp, #-16]
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L95
	ldr	r3, [fp, #-40]
	add	r3, r3, #7
	bic	r3, r3, #7
	add	r2, r3, #8
	str	r2, [fp, #-40]
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-12]
	mov	r2, #10
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	myvprintf_int64
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	b	.L74
.L95:
	ldr	r3, [fp, #-40]
	add	r2, r3, #4
	str	r2, [fp, #-40]
	ldr	r3, [r3]
	mov	r2, r3
	asr	r3, r2, #31
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-12]
	mov	r2, #10
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	myvprintf_int64
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	b	.L74
.L90:
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L97
	ldr	r3, [fp, #-40]
	add	r3, r3, #7
	bic	r3, r3, #7
	add	r2, r3, #8
	str	r2, [fp, #-40]
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-12]
	mov	r2, #10
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	myvprintf_int64
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	b	.L74
.L97:
	ldr	r3, [fp, #-40]
	add	r2, r3, #4
	str	r2, [fp, #-40]
	ldr	r3, [r3]
	mov	r2, r3
	mov	r3, #0
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-12]
	mov	r2, #10
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	myvprintf_int64
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	b	.L74
.L92:
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	mov	r0, #48
	blx	r3
	ldr	r3, [fp, #-32]
	mov	r0, #120
	blx	r3
	ldr	r3, [fp, #-40]
	add	r2, r3, #4
	str	r2, [fp, #-40]
	ldr	r3, [r3]
	mov	r2, r3
	mov	r3, #0
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-12]
	mov	r2, #16
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	myvprintf_int64
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	b	.L74
.L88:
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L99
	ldr	r3, [fp, #-40]
	add	r3, r3, #7
	bic	r3, r3, #7
	add	r2, r3, #8
	str	r2, [fp, #-40]
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-12]
	mov	r2, #16
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	myvprintf_int64
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	b	.L74
.L99:
	ldr	r3, [fp, #-40]
	add	r2, r3, #4
	str	r2, [fp, #-40]
	ldr	r3, [r3]
	mov	r2, r3
	mov	r3, #0
	stm	sp, {r2-r3}
	ldr	r3, [fp, #-12]
	mov	r2, #16
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	myvprintf_int64
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	b	.L74
.L94:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	add	r2, r3, #4
	str	r2, [fp, #-40]
	ldr	r3, [r3]
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	mov	r0, r2
	blx	r3
	b	.L74
.L91:
	ldr	r3, [fp, #-40]
	add	r2, r3, #4
	str	r2, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L101
	ldr	r3, .L106
	str	r3, [fp, #-8]
.L101:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #83
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	myvprintf_str
	mov	r2, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	b	.L74
.L105:
	nop
.L74:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L72:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L102
	b	.L76
.L104:
	nop
.L76:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L107:
	.align	2
.L106:
	.word	.LC2
	.size	vprintf_wrk, .-vprintf_wrk
	.local	myprintf_buf
	.comm	myprintf_buf,70,4
	.local	n_myprintf_buf
	.comm	n_myprintf_buf,4,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_to_myprintf_buf, %function
add_to_myprintf_buf:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L109
	ldr	r3, .L111
	ldr	r3, [r3]
	ldr	r2, .L111+4
	cmp	r3, r2
	ble	.L110
.L109:
	ldr	r0, .L111+8
	bl	vex_strlen
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L111+8
	bl	vex_log_bytes
	ldr	r3, .L111
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L111
	ldr	r3, [r3]
	ldr	r2, .L111+8
	mov	r1, #0
	strb	r1, [r2, r3]
.L110:
	ldr	r3, .L111
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L111
	str	r2, [r1]
	ldr	r1, .L111+8
	ldrb	r2, [fp, #-5]
	strb	r2, [r1, r3]
	ldr	r3, .L111
	ldr	r3, [r3]
	ldr	r2, .L111+8
	mov	r1, #0
	strb	r1, [r2, r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L112:
	.align	2
.L111:
	.word	n_myprintf_buf
	.word	989
	.word	myprintf_buf
	.size	add_to_myprintf_buf, .-add_to_myprintf_buf
	.section	.rodata
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vex_printf, %function
vex_printf:
	@ args = 4, pretend = 16, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, [fp, #4]
	str	r3, [fp, #-24]
	ldr	r3, .L117
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-16]
	ldr	r3, .L117+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L117+4
	ldr	r3, [r3]
	ldr	r2, .L117+8
	mov	r1, #0
	strb	r1, [r2, r3]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-24]
	ldr	r0, .L117+12
	bl	vprintf_wrk
	str	r0, [fp, #-12]
	ldr	r3, .L117+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L114
	ldr	r3, .L117+4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L117+8
	bl	vex_log_bytes
.L114:
	ldr	r3, [fp, #-12]
	ldr	r2, .L117
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L116
	bl	__stack_chk_fail
.L116:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #16
	bx	lr
.L118:
	.align	2
.L117:
	.word	.LC3
	.word	n_myprintf_buf
	.word	myprintf_buf
	.word	add_to_myprintf_buf
	.size	vex_printf, .-vex_printf
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	makeMaps_d, %function
makeMaps_d:
	@ 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]
	mov	r2, #0
	str	r2, [r3, #3176]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L120
.L122:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #3168
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L121
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #3176]
	ldr	r2, [fp, #-8]
	and	r1, r2, #255
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #3452]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #3176]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #3176]
.L121:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L120:
	ldr	r3, [fp, #-8]
	cmp	r3, #255
	ble	.L122
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	makeMaps_d, .-makeMaps_d
	.align	2
	.global	BZ2_indexIntoF
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_indexIntoF, %function
BZ2_indexIntoF:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #256
	str	r3, [fp, #-12]
.L126:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L124
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	b	.L125
.L124:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L125:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	cmp	r3, #1
	bne	.L126
	ldr	r3, [fp, #-16]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	BZ2_indexIntoF, .-BZ2_indexIntoF
	.section	.rodata
	.align	2
.LC4:
	.ascii	"\012    [%d: huff+mtf \000"
	.align	2
.LC5:
	.ascii	"rt+rld\000"
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	BZ2_decompress
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_decompress, %function
BZ2_decompress:
	@ args = 0, pretend = 0, frame = 352
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #368
	str	r0, [fp, #-352]
	ldr	r3, .L549
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #4]
	cmp	r3, #10
	bne	.L129
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2580]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2584]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2588]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2592]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2596]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2600]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2604]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2608]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2612]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2616]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2620]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2624]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2628]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2632]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2636]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2640]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2644]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2648]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2652]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2656]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2660]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2664]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2668]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #2672]
.L129:
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2580]
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2584]
	str	r3, [fp, #-324]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2588]
	str	r3, [fp, #-320]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2592]
	str	r3, [fp, #-316]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2596]
	str	r3, [fp, #-312]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2600]
	str	r3, [fp, #-308]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2604]
	str	r3, [fp, #-304]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2608]
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2612]
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2616]
	str	r3, [fp, #-292]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2620]
	str	r3, [fp, #-288]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2628]
	str	r3, [fp, #-280]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2632]
	str	r3, [fp, #-276]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2636]
	str	r3, [fp, #-272]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2640]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2644]
	str	r3, [fp, #-268]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2648]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2652]
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2656]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2660]
	str	r3, [fp, #-252]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2664]
	str	r3, [fp, #-248]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2668]
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	ldr	r3, [r3, #2672]
	str	r3, [fp, #-240]
	mov	r3, #0
	str	r3, [fp, #-340]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #4]
	sub	r3, r3, #10
	cmp	r3, #40
	ldrls	pc, [pc, r3, asl #2]
	b	.L518
.L132:
	.word	.L172
	.word	.L171
	.word	.L170
	.word	.L169
	.word	.L168
	.word	.L167
	.word	.L166
	.word	.L165
	.word	.L164
	.word	.L163
	.word	.L162
	.word	.L161
	.word	.L160
	.word	.L159
	.word	.L158
	.word	.L157
	.word	.L156
	.word	.L155
	.word	.L154
	.word	.L153
	.word	.L152
	.word	.L151
	.word	.L315
	.word	.L149
	.word	.L148
	.word	.L147
	.word	.L146
	.word	.L145
	.word	.L144
	.word	.L143
	.word	.L142
	.word	.L141
	.word	.L140
	.word	.L139
	.word	.L138
	.word	.L137
	.word	.L136
	.word	.L135
	.word	.L134
	.word	.L133
	.word	.L131
.L172:
	ldr	r3, [fp, #-352]
	mov	r2, #10
	str	r2, [r3, #4]
.L178:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L173
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-192]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #66
	beq	.L171
	b	.L519
.L173:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L175
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L175:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L178
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L178
.L519:
	mvn	r3, #4
	str	r3, [fp, #-340]
	b	.L176
.L171:
	ldr	r3, [fp, #-352]
	mov	r2, #11
	str	r2, [r3, #4]
.L183:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L179
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-188]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #90
	beq	.L170
	b	.L520
.L179:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L181
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L181:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L183
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L183
.L520:
	mvn	r3, #4
	str	r3, [fp, #-340]
	b	.L176
.L170:
	ldr	r3, [fp, #-352]
	mov	r2, #12
	str	r2, [r3, #4]
.L188:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L184
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-184]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #104
	beq	.L169
	b	.L521
.L184:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L186
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L186:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L188
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L188
.L521:
	mvn	r3, #4
	str	r3, [fp, #-340]
	b	.L176
.L169:
	ldr	r3, [fp, #-352]
	mov	r2, #13
	str	r2, [r3, #4]
.L193:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L189
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-352]
	str	r2, [r3, #36]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #36]
	cmp	r3, #48
	ble	.L194
	b	.L522
.L189:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L191
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L191:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L193
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L193
.L522:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #36]
	cmp	r3, #57
	ble	.L195
.L194:
	mvn	r3, #4
	str	r3, [fp, #-340]
	b	.L176
.L195:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #36]
	sub	r2, r3, #48
	ldr	r3, [fp, #-352]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-352]
	ldrb	r3, [r3, #40]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L196
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-200]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-352]
	ldr	r2, [r2, #36]
	mov	r1, r2
	ldr	r2, .L549+4
	mul	r2, r1, r2
	mov	r1, r2
	mov	r2, #1
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3152]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-200]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-352]
	ldr	r2, [r2, #36]
	ldr	r1, .L549+16
	mul	r2, r1, r2
	add	r2, r2, #1
	asr	r1, r2, #1
	mov	r2, #1
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3156]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3152]
	cmp	r3, #0
	beq	.L197
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	cmp	r3, #0
	bne	.L168
.L197:
	mvn	r3, #2
	str	r3, [fp, #-340]
	b	.L176
.L196:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-200]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-352]
	ldr	r2, [r2, #36]
	mov	r1, r2
	ldr	r2, .L549+8
	mul	r2, r1, r2
	mov	r1, r2
	mov	r2, #1
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3148]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3148]
	cmp	r3, #0
	bne	.L168
	mvn	r3, #2
	str	r3, [fp, #-340]
	b	.L176
.L168:
	ldr	r3, [fp, #-352]
	mov	r2, #14
	str	r2, [r3, #4]
.L202:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L198
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-176]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #23
	bne	.L203
	b	.L140
.L198:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L200
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L200:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L202
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L202
.L203:
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #49
	beq	.L167
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L167:
	ldr	r3, [fp, #-352]
	mov	r2, #15
	str	r2, [r3, #4]
.L208:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L204
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-172]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #65
	beq	.L166
	b	.L523
.L204:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L206
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L206:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L208
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L208
.L523:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L166:
	ldr	r3, [fp, #-352]
	mov	r2, #16
	str	r2, [r3, #4]
.L213:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L209
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-168]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #89
	beq	.L165
	b	.L524
.L209:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L211
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L211:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L213
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L213
.L524:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L165:
	ldr	r3, [fp, #-352]
	mov	r2, #17
	str	r2, [r3, #4]
.L218:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L214
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-164]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #38
	beq	.L164
	b	.L525
.L214:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L216
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L216:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L218
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L218
.L525:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L164:
	ldr	r3, [fp, #-352]
	mov	r2, #18
	str	r2, [r3, #4]
.L223:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L219
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-160]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #83
	beq	.L163
	b	.L526
.L550:
	.align	2
.L549:
	.word	.LC6
	.word	200000
	.word	400000
	.word	.LC4
	.word	100000
.L219:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L221
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L221:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L223
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L223
.L526:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L163:
	ldr	r3, [fp, #-352]
	mov	r2, #19
	str	r2, [r3, #4]
.L228:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L224
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-156]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #89
	beq	.L229
	b	.L527
.L224:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L226
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L226:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L228
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L228
.L527:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L229:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #44]
	add	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #48]
	cmp	r3, #1
	ble	.L230
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #44]
	mov	r1, r3
	ldr	r0, .L549+12
	bl	vex_printf
.L230:
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #3160]
.L162:
	ldr	r3, [fp, #-352]
	mov	r2, #20
	str	r2, [r3, #4]
.L235:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L231
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-152]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3160]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3160]
	b	.L161
.L231:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L233
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L233:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L235
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L235
.L161:
	ldr	r3, [fp, #-352]
	mov	r2, #21
	str	r2, [r3, #4]
.L240:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L236
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-148]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3160]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3160]
	b	.L160
.L236:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L238
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L238:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L240
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L240
.L160:
	ldr	r3, [fp, #-352]
	mov	r2, #22
	str	r2, [r3, #4]
.L245:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L241
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-144]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3160]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3160]
	b	.L159
.L241:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L243
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L243:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L245
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L245
.L159:
	ldr	r3, [fp, #-352]
	mov	r2, #23
	str	r2, [r3, #4]
.L250:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L246
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-140]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3160]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3160]
	b	.L158
.L246:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L248
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L248:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L250
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L250
.L158:
	ldr	r3, [fp, #-352]
	mov	r2, #24
	str	r2, [r3, #4]
.L255:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L251
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	lsr	r3, r2, r3
	and	r3, r3, #1
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-136]
	and	r2, r3, #255
	ldr	r3, [fp, #-352]
	strb	r2, [r3, #16]
	nop
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #52]
	b	.L157
.L251:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L253
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L253:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L255
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L255
.L157:
	ldr	r3, [fp, #-352]
	mov	r2, #25
	str	r2, [r3, #4]
.L260:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L256
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-132]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #52]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #52]
	b	.L156
.L256:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L258
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L258:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L260
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L260
.L156:
	ldr	r3, [fp, #-352]
	mov	r2, #26
	str	r2, [r3, #4]
.L265:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L261
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-128]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #52]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #52]
	b	.L155
.L261:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L263
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L263:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L265
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L265
.L155:
	ldr	r3, [fp, #-352]
	mov	r2, #27
	str	r2, [r3, #4]
.L270:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L266
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-124]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #52]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	bge	.L271
	b	.L528
.L266:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L268
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L268:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L270
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L270
.L528:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L271:
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #36]
	ldr	r1, .L549+16
	mul	r3, r1, r3
	add	r3, r3, #10
	cmp	r2, r3
	ble	.L272
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L272:
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L273
.L154:
	ldr	r3, [fp, #-352]
	mov	r2, #28
	str	r2, [r3, #4]
.L278:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L274
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	lsr	r3, r2, r3
	and	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-56]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L279
	b	.L529
.L274:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L276
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L276:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L278
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L278
.L529:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #3424
	add	r3, r3, #12
	mov	r2, #1
	strb	r2, [r3]
	b	.L280
.L279:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #3424
	add	r3, r3, #12
	mov	r2, #0
	strb	r2, [r3]
.L280:
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L273:
	ldr	r3, [fp, #-328]
	cmp	r3, #15
	ble	.L154
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L281
.L282:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #3168
	add	r3, r3, #12
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L281:
	ldr	r3, [fp, #-328]
	cmp	r3, #255
	ble	.L282
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L283
.L292:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #3424
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L284
	mov	r3, #0
	str	r3, [fp, #-324]
	b	.L285
.L153:
	ldr	r3, [fp, #-352]
	mov	r2, #29
	str	r2, [r3, #4]
.L290:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L286
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	lsr	r3, r2, r3
	and	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-60]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L291
	b	.L530
.L286:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L288
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L288:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L290
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L290
.L530:
	ldr	r3, [fp, #-328]
	lsl	r2, r3, #4
	ldr	r3, [fp, #-324]
	add	r3, r2, r3
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #3180]
.L291:
	ldr	r3, [fp, #-324]
	add	r3, r3, #1
	str	r3, [fp, #-324]
.L285:
	ldr	r3, [fp, #-324]
	cmp	r3, #15
	ble	.L153
.L284:
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L283:
	ldr	r3, [fp, #-328]
	cmp	r3, #15
	ble	.L292
	ldr	r0, [fp, #-352]
	bl	makeMaps_d
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3176]
	cmp	r3, #0
	bne	.L293
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L293:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3176]
	add	r3, r3, #2
	str	r3, [fp, #-316]
.L152:
	ldr	r3, [fp, #-352]
	mov	r2, #30
	str	r2, [r3, #4]
.L298:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #2
	ble	.L294
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #3
	lsr	r3, r2, r3
	and	r3, r3, #7
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-120]
	str	r3, [fp, #-312]
	nop
	ldr	r3, [fp, #-312]
	cmp	r3, #1
	ble	.L299
	b	.L531
.L294:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L296
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L296:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L298
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L298
.L531:
	ldr	r3, [fp, #-312]
	cmp	r3, #6
	ble	.L151
.L299:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L151:
	ldr	r3, [fp, #-352]
	mov	r2, #31
	str	r2, [r3, #4]
.L304:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #14
	ble	.L300
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #15
	lsr	r3, r2, r3
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #15
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-116]
	str	r3, [fp, #-308]
	nop
	ldr	r3, [fp, #-308]
	cmp	r3, #0
	bgt	.L305
	b	.L532
.L300:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L302
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L302:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L304
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L304
.L532:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L305:
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L306
.L316:
	mov	r3, #0
	str	r3, [fp, #-324]
.L315:
	ldr	r3, [fp, #-352]
	mov	r2, #32
	str	r2, [r3, #4]
.L311:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L307
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	lsr	r3, r2, r3
	and	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-64]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L312
	b	.L533
.L307:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L309
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L309:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L311
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L311
.L312:
	ldr	r3, [fp, #-324]
	add	r3, r3, #1
	str	r3, [fp, #-324]
	ldr	r2, [fp, #-324]
	ldr	r3, [fp, #-312]
	cmp	r2, r3
	blt	.L315
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L533:
	ldr	r3, [fp, #-324]
	and	r1, r3, #255
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #25856
	add	r3, r3, #14
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L306:
	ldr	r2, [fp, #-328]
	ldr	r3, [fp, #-308]
	cmp	r2, r3
	blt	.L316
	mov	r3, #0
	strb	r3, [fp, #-342]
	b	.L317
.L318:
	ldrb	r3, [fp, #-342]	@ zero_extendqisi2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r2, [fp, #-342]
	strb	r2, [r3, #-12]
	ldrb	r3, [fp, #-342]	@ zero_extendqisi2
	add	r3, r3, #1
	strb	r3, [fp, #-342]
.L317:
	ldrb	r3, [fp, #-342]	@ zero_extendqisi2
	ldr	r2, [fp, #-312]
	cmp	r2, r3
	bgt	.L318
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L319
.L322:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #25856
	add	r3, r3, #14
	ldrb	r3, [r3]
	strb	r3, [fp, #-342]
	ldrb	r3, [fp, #-342]	@ zero_extendqisi2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #-12]
	strb	r3, [fp, #-341]
	b	.L320
.L321:
	ldrb	r3, [fp, #-342]	@ zero_extendqisi2
	sub	r2, r3, #1
	ldrb	r3, [fp, #-342]	@ zero_extendqisi2
	sub	r1, fp, #4
	add	r2, r1, r2
	ldrb	r2, [r2, #-12]	@ zero_extendqisi2
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-12]
	ldrb	r3, [fp, #-342]	@ zero_extendqisi2
	sub	r3, r3, #1
	strb	r3, [fp, #-342]
.L320:
	ldrb	r3, [fp, #-342]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L321
	ldrb	r3, [fp, #-341]
	strb	r3, [fp, #-16]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #7808
	add	r3, r3, #60
	ldrb	r2, [fp, #-341]
	strb	r2, [r3]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L319:
	ldr	r2, [fp, #-328]
	ldr	r3, [fp, #-308]
	cmp	r2, r3
	blt	.L322
	mov	r3, #0
	str	r3, [fp, #-320]
	b	.L323
.L149:
	ldr	r3, [fp, #-352]
	mov	r2, #33
	str	r2, [r3, #4]
.L328:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #4
	ble	.L324
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #5
	lsr	r3, r2, r3
	and	r3, r3, #31
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #5
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-272]
	nop
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L329
.L324:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L326
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L326:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L328
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L328
.L344:
	ldr	r3, [fp, #-272]
	cmp	r3, #0
	ble	.L330
	ldr	r3, [fp, #-272]
	cmp	r3, #20
	ble	.L148
.L330:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L148:
	ldr	r3, [fp, #-352]
	mov	r2, #34
	str	r2, [r3, #4]
.L335:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L331
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	lsr	r3, r2, r3
	and	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-72]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L147
	b	.L534
.L331:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L333
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L333:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L335
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L335
.L147:
	ldr	r3, [fp, #-352]
	mov	r2, #35
	str	r2, [r3, #4]
.L341:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L337
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	lsr	r3, r2, r3
	and	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-68]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L342
	b	.L535
.L337:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L339
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L339:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L341
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L341
.L535:
	ldr	r3, [fp, #-272]
	add	r3, r3, #1
	str	r3, [fp, #-272]
	b	.L344
.L342:
	ldr	r3, [fp, #-272]
	sub	r3, r3, #1
	str	r3, [fp, #-272]
	b	.L344
.L534:
	ldr	r3, [fp, #-272]
	and	r0, r3, #255
	ldr	r1, [fp, #-352]
	ldr	r2, [fp, #-320]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #43776
	add	r3, r3, #96
	mov	r2, r0
	strb	r2, [r3]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L329:
	ldr	r2, [fp, #-328]
	ldr	r3, [fp, #-316]
	cmp	r2, r3
	blt	.L344
	ldr	r3, [fp, #-320]
	add	r3, r3, #1
	str	r3, [fp, #-320]
.L323:
	ldr	r2, [fp, #-320]
	ldr	r3, [fp, #-312]
	cmp	r2, r3
	blt	.L149
	mov	r3, #0
	str	r3, [fp, #-320]
	b	.L345
.L350:
	mov	r3, #32
	str	r3, [fp, #-336]
	mov	r3, #0
	str	r3, [fp, #-332]
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L346
.L349:
	ldr	r1, [fp, #-352]
	ldr	r2, [fp, #-320]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #43776
	add	r3, r3, #96
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-332]
	cmp	r3, r2
	bge	.L347
	ldr	r1, [fp, #-352]
	ldr	r2, [fp, #-320]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #43776
	add	r3, r3, #96
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-332]
.L347:
	ldr	r1, [fp, #-352]
	ldr	r2, [fp, #-320]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #43776
	add	r3, r3, #96
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-336]
	cmp	r3, r2
	ble	.L348
	ldr	r1, [fp, #-352]
	ldr	r2, [fp, #-320]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-328]
	add	r3, r2, r3
	add	r3, r3, #43776
	add	r3, r3, #96
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-336]
.L348:
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L346:
	ldr	r2, [fp, #-328]
	ldr	r3, [fp, #-316]
	cmp	r2, r3
	blt	.L349
	ldr	r2, [fp, #-320]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #45312
	add	r3, r3, #104
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r0, r3, #4
	ldr	r2, [fp, #-320]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r1, r3, #4
	ldr	r2, [fp, #-320]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #57600
	add	r3, r3, #200
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	ip, r3, #4
	ldr	r2, [fp, #-320]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #43776
	add	r3, r3, #96
	ldr	r2, [fp, #-352]
	add	r2, r2, r3
	ldr	r3, [fp, #-316]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-332]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-336]
	str	r3, [sp]
	mov	r3, r2
	mov	r2, ip
	bl	BZ2_hbCreateDecodeTables
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-320]
	add	r3, r3, #15936
	add	r3, r3, #62
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-336]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-320]
	add	r3, r3, #1
	str	r3, [fp, #-320]
.L345:
	ldr	r2, [fp, #-320]
	ldr	r3, [fp, #-312]
	cmp	r2, r3
	blt	.L350
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3176]
	add	r3, r3, #1
	str	r3, [fp, #-304]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #36]
	ldr	r2, .L551
	mul	r3, r2, r3
	str	r3, [fp, #-288]
	mvn	r3, #0
	str	r3, [fp, #-300]
	mov	r3, #0
	str	r3, [fp, #-296]
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L351
.L352:
	ldr	r3, [fp, #-352]
	ldr	r2, [fp, #-328]
	add	r2, r2, #16
	mov	r1, #0
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L351:
	ldr	r3, [fp, #-328]
	cmp	r3, #255
	ble	.L352
	ldr	r3, .L551+4
	str	r3, [fp, #-228]
	mov	r3, #15
	str	r3, [fp, #-236]
	b	.L353
.L356:
	mov	r3, #15
	str	r3, [fp, #-232]
	b	.L354
.L355:
	ldr	r3, [fp, #-236]
	and	r3, r3, #255
	lsl	r3, r3, #4
	and	r2, r3, #255
	ldr	r3, [fp, #-232]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-228]
	add	r3, r2, r3
	add	r3, r3, #3696
	add	r3, r3, #12
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-228]
	sub	r3, r3, #1
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-232]
	sub	r3, r3, #1
	str	r3, [fp, #-232]
.L354:
	ldr	r3, [fp, #-232]
	cmp	r3, #0
	bge	.L355
	ldr	r3, [fp, #-228]
	add	r2, r3, #1
	ldr	r1, [fp, #-352]
	ldr	r3, [fp, #-236]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	ldr	r3, [fp, #-236]
	sub	r3, r3, #1
	str	r3, [fp, #-236]
.L353:
	ldr	r3, [fp, #-236]
	cmp	r3, #0
	bge	.L356
	mov	r3, #0
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-296]
	cmp	r3, #0
	bne	.L357
	ldr	r3, [fp, #-300]
	add	r3, r3, #1
	str	r3, [fp, #-300]
	ldr	r2, [fp, #-300]
	ldr	r3, [fp, #-308]
	cmp	r2, r3
	blt	.L358
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L358:
	mov	r3, #50
	str	r3, [fp, #-296]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-300]
	add	r3, r2, r3
	add	r3, r3, #7808
	add	r3, r3, #60
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-256]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-256]
	add	r3, r3, #15936
	add	r3, r3, #62
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-252]
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #45312
	add	r3, r3, #104
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-248]
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #57600
	add	r3, r3, #200
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-240]
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-244]
.L357:
	ldr	r3, [fp, #-296]
	sub	r3, r3, #1
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-252]
	str	r3, [fp, #-268]
.L146:
	ldr	r3, [fp, #-352]
	mov	r2, #36
	str	r2, [r3, #4]
.L363:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	bgt	.L359
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r1, [r3, #32]
	ldr	r3, [fp, #-268]
	sub	r3, r1, r3
	lsr	r3, r2, r3
	mov	r1, #1
	ldr	r2, [fp, #-268]
	lsl	r2, r1, r2
	sub	r2, r2, #1
	and	r3, r3, r2
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-268]
	sub	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-112]
	str	r3, [fp, #-264]
	b	.L360
.L359:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L361
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L361:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L363
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L363
.L360:
	ldr	r3, [fp, #-268]
	cmp	r3, #20
	ble	.L364
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L364:
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-248]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	cmp	r2, r3
	ble	.L545
	ldr	r3, [fp, #-268]
	add	r3, r3, #1
	str	r3, [fp, #-268]
.L145:
	ldr	r3, [fp, #-352]
	mov	r2, #37
	str	r2, [r3, #4]
.L371:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L367
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	lsr	r3, r2, r3
	and	r3, r3, #1
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-108]
	str	r3, [fp, #-260]
	nop
	ldr	r3, [fp, #-264]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-260]
	orr	r3, r2, r3
	str	r3, [fp, #-264]
	b	.L360
.L367:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L369
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L369:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L371
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L371
.L545:
	nop
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-244]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	sub	r3, r2, r3
	cmp	r3, #0
	blt	.L372
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-244]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	sub	r3, r2, r3
	ldr	r2, .L551+8
	cmp	r3, r2
	ble	.L373
.L372:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L373:
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-244]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-240]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-292]
.L441:
	ldr	r2, [fp, #-292]
	ldr	r3, [fp, #-304]
	cmp	r2, r3
	beq	.L546
	ldr	r3, [fp, #-292]
	cmp	r3, #0
	beq	.L376
	ldr	r3, [fp, #-292]
	cmp	r3, #1
	bne	.L377
.L376:
	mvn	r3, #0
	str	r3, [fp, #-280]
	mov	r3, #1
	str	r3, [fp, #-276]
.L397:
	ldr	r3, [fp, #-292]
	cmp	r3, #0
	bne	.L378
	ldr	r2, [fp, #-280]
	ldr	r3, [fp, #-276]
	add	r3, r2, r3
	str	r3, [fp, #-280]
	b	.L379
.L378:
	ldr	r3, [fp, #-292]
	cmp	r3, #1
	bne	.L379
	ldr	r3, [fp, #-276]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-280]
	add	r3, r2, r3
	str	r3, [fp, #-280]
.L379:
	ldr	r3, [fp, #-276]
	lsl	r3, r3, #1
	str	r3, [fp, #-276]
	ldr	r3, [fp, #-296]
	cmp	r3, #0
	bne	.L380
	ldr	r3, [fp, #-300]
	add	r3, r3, #1
	str	r3, [fp, #-300]
	ldr	r2, [fp, #-300]
	ldr	r3, [fp, #-308]
	cmp	r2, r3
	blt	.L381
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L381:
	mov	r3, #50
	str	r3, [fp, #-296]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-300]
	add	r3, r2, r3
	add	r3, r3, #7808
	add	r3, r3, #60
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-256]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-256]
	add	r3, r3, #15936
	add	r3, r3, #62
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-252]
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #45312
	add	r3, r3, #104
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-248]
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #57600
	add	r3, r3, #200
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-240]
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-244]
.L380:
	ldr	r3, [fp, #-296]
	sub	r3, r3, #1
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-252]
	str	r3, [fp, #-268]
.L144:
	ldr	r3, [fp, #-352]
	mov	r2, #38
	str	r2, [r3, #4]
.L386:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	bgt	.L382
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r1, [r3, #32]
	ldr	r3, [fp, #-268]
	sub	r3, r1, r3
	lsr	r3, r2, r3
	mov	r1, #1
	ldr	r2, [fp, #-268]
	lsl	r2, r1, r2
	sub	r2, r2, #1
	and	r3, r3, r2
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-268]
	sub	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-264]
	b	.L383
.L382:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L384
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L384:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L386
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L386
.L383:
	ldr	r3, [fp, #-268]
	cmp	r3, #20
	ble	.L387
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L387:
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-248]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	cmp	r2, r3
	ble	.L547
	ldr	r3, [fp, #-268]
	add	r3, r3, #1
	str	r3, [fp, #-268]
.L143:
	ldr	r3, [fp, #-352]
	mov	r2, #39
	str	r2, [r3, #4]
.L394:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L390
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	lsr	r3, r2, r3
	and	r3, r3, #1
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-260]
	nop
	ldr	r3, [fp, #-264]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-260]
	orr	r3, r2, r3
	str	r3, [fp, #-264]
	b	.L383
.L390:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L392
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L392:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L394
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L394
.L547:
	nop
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-244]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	sub	r3, r2, r3
	cmp	r3, #0
	blt	.L395
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-244]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	sub	r3, r2, r3
	ldr	r2, .L551+8
	cmp	r3, r2
	ble	.L396
.L395:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L396:
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-244]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-240]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-292]
	ldr	r3, [fp, #-292]
	cmp	r3, #0
	beq	.L397
	ldr	r3, [fp, #-292]
	cmp	r3, #1
	beq	.L397
	ldr	r3, [fp, #-280]
	add	r3, r3, #1
	str	r3, [fp, #-280]
	ldr	r3, [fp, #-352]
	add	r3, r3, #4096
	ldr	r3, [r3, #3708]
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	ldrb	r3, [r3, #3708]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-352]
	add	r3, r3, r2
	ldrb	r3, [r3, #3452]
	strb	r3, [fp, #-343]
	ldrb	r2, [fp, #-343]	@ zero_extendqisi2
	ldr	r3, [fp, #-352]
	add	r2, r2, #16
	ldr	r1, [r3, r2, lsl #2]
	ldrb	r2, [fp, #-343]	@ zero_extendqisi2
	ldr	r3, [fp, #-280]
	add	r1, r1, r3
	ldr	r3, [fp, #-352]
	add	r2, r2, #16
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-352]
	ldrb	r3, [r3, #40]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L403
	b	.L399
.L401:
	ldr	r2, [fp, #-284]
	ldr	r3, [fp, #-288]
	cmp	r2, r3
	blt	.L400
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L400:
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-284]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrb	r2, [fp, #-343]	@ zero_extendqisi2
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-284]
	add	r3, r3, #1
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-280]
	sub	r3, r3, #1
	str	r3, [fp, #-280]
.L399:
	ldr	r3, [fp, #-280]
	cmp	r3, #0
	bgt	.L401
	b	.L406
.L405:
	ldr	r2, [fp, #-284]
	ldr	r3, [fp, #-288]
	cmp	r2, r3
	blt	.L404
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L404:
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-284]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldrb	r2, [fp, #-343]	@ zero_extendqisi2
	str	r2, [r3]
	ldr	r3, [fp, #-284]
	add	r3, r3, #1
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-280]
	sub	r3, r3, #1
	str	r3, [fp, #-280]
.L403:
	ldr	r3, [fp, #-280]
	cmp	r3, #0
	bgt	.L405
	b	.L406
.L377:
	ldr	r2, [fp, #-284]
	ldr	r3, [fp, #-288]
	cmp	r2, r3
	blt	.L407
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L407:
	ldr	r3, [fp, #-292]
	sub	r3, r3, #1
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-204]
	cmp	r3, #15
	bhi	.L408
	ldr	r3, [fp, #-352]
	add	r3, r3, #4096
	ldr	r3, [r3, #3708]
	str	r3, [fp, #-212]
	ldr	r2, [fp, #-212]
	ldr	r3, [fp, #-204]
	add	r3, r2, r3
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	ldrb	r3, [r3, #3708]
	strb	r3, [fp, #-343]
	b	.L409
.L410:
	ldr	r2, [fp, #-212]
	ldr	r3, [fp, #-204]
	add	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	sub	r3, r3, #1
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	ldrb	r1, [r3, #3708]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-100]
	add	r3, r2, r3
	add	r3, r3, #3696
	add	r3, r3, #12
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-100]
	sub	r2, r3, #2
	ldr	r3, [fp, #-100]
	sub	r3, r3, #1
	ldr	r1, [fp, #-352]
	add	r2, r1, r2
	ldrb	r1, [r2, #3708]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #3708]
	ldr	r3, [fp, #-100]
	sub	r2, r3, #3
	ldr	r3, [fp, #-100]
	sub	r3, r3, #2
	ldr	r1, [fp, #-352]
	add	r2, r1, r2
	ldrb	r1, [r2, #3708]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #3708]
	ldr	r3, [fp, #-100]
	sub	r2, r3, #4
	ldr	r3, [fp, #-100]
	sub	r3, r3, #3
	ldr	r1, [fp, #-352]
	add	r2, r1, r2
	ldrb	r1, [r2, #3708]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #3708]
	ldr	r3, [fp, #-204]
	sub	r3, r3, #4
	str	r3, [fp, #-204]
.L409:
	ldr	r3, [fp, #-204]
	cmp	r3, #3
	bhi	.L410
	b	.L411
.L412:
	ldr	r2, [fp, #-212]
	ldr	r3, [fp, #-204]
	add	r3, r2, r3
	sub	r2, r3, #1
	ldr	r1, [fp, #-212]
	ldr	r3, [fp, #-204]
	add	r3, r1, r3
	ldr	r1, [fp, #-352]
	add	r2, r1, r2
	ldrb	r1, [r2, #3708]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #3708]
	ldr	r3, [fp, #-204]
	sub	r3, r3, #1
	str	r3, [fp, #-204]
.L411:
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	bne	.L412
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-212]
	add	r3, r2, r3
	add	r3, r3, #3696
	add	r3, r3, #12
	ldrb	r2, [fp, #-343]
	strb	r2, [r3]
	b	.L413
.L408:
	ldr	r3, [fp, #-204]
	lsr	r3, r3, #4
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-204]
	and	r3, r3, #15
	str	r3, [fp, #-104]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-104]
	add	r3, r2, r3
	str	r3, [fp, #-212]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-212]
	add	r3, r2, r3
	add	r3, r3, #3696
	add	r3, r3, #12
	ldrb	r3, [r3]
	strb	r3, [fp, #-343]
	b	.L414
.L415:
	ldr	r3, [fp, #-212]
	sub	r3, r3, #1
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	ldrb	r1, [r3, #3708]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-212]
	add	r3, r2, r3
	add	r3, r3, #3696
	add	r3, r3, #12
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-212]
	sub	r3, r3, #1
	str	r3, [fp, #-212]
.L414:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-212]
	cmp	r2, r3
	bgt	.L415
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r1, [fp, #-352]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	b	.L416
.L417:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r1, [fp, #-352]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	ldr	r3, [fp, #-208]
	sub	r3, r3, #1
	ldr	r2, [fp, #-352]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	add	r2, r3, #15
	ldr	r1, [fp, #-352]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-352]
	add	r2, r1, r2
	ldrb	r1, [r2, #3708]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #3708]
	ldr	r3, [fp, #-208]
	sub	r3, r3, #1
	str	r3, [fp, #-208]
.L416:
	ldr	r3, [fp, #-208]
	cmp	r3, #0
	bgt	.L417
	ldr	r3, [fp, #-352]
	add	r3, r3, #4096
	ldr	r3, [r3, #3708]
	sub	r3, r3, #1
	ldr	r2, [fp, #-352]
	add	r2, r2, #4096
	str	r3, [r2, #3708]
	ldr	r3, [fp, #-352]
	add	r3, r3, #4096
	ldr	r3, [r3, #3708]
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	ldrb	r2, [fp, #-343]
	strb	r2, [r3, #3708]
	ldr	r3, [fp, #-352]
	add	r3, r3, #4096
	ldr	r3, [r3, #3708]
	cmp	r3, #0
	bne	.L413
	ldr	r3, .L551+4
	str	r3, [fp, #-216]
	mov	r3, #15
	str	r3, [fp, #-224]
	b	.L418
.L421:
	mov	r3, #15
	str	r3, [fp, #-220]
	b	.L419
.L552:
	.align	2
.L551:
	.word	100000
	.word	4095
	.word	257
	.word	.LC5
	.word	BZ2_rNums
.L420:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-224]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-220]
	add	r3, r2, r3
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	ldrb	r1, [r3, #3708]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-216]
	add	r3, r2, r3
	add	r3, r3, #3696
	add	r3, r3, #12
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-216]
	sub	r3, r3, #1
	str	r3, [fp, #-216]
	ldr	r3, [fp, #-220]
	sub	r3, r3, #1
	str	r3, [fp, #-220]
.L419:
	ldr	r3, [fp, #-220]
	cmp	r3, #0
	bge	.L420
	ldr	r3, [fp, #-216]
	add	r2, r3, #1
	ldr	r1, [fp, #-352]
	ldr	r3, [fp, #-224]
	add	r3, r3, #1936
	add	r3, r3, #14
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	ldr	r3, [fp, #-224]
	sub	r3, r3, #1
	str	r3, [fp, #-224]
.L418:
	ldr	r3, [fp, #-224]
	cmp	r3, #0
	bge	.L421
.L413:
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	ldrb	r3, [r3, #3452]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	add	r1, r3, #16
	ldr	r2, [r2, r1, lsl #2]
	add	r1, r2, #1
	ldr	r2, [fp, #-352]
	add	r3, r3, #16
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-352]
	ldrb	r3, [r3, #40]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L422
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	ldrb	r2, [r3, #3452]	@ zero_extendqisi2
	ldr	r3, [fp, #-352]
	ldr	r1, [r3, #3152]
	ldr	r3, [fp, #-284]
	lsl	r3, r3, #1
	add	r3, r1, r3
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	b	.L423
.L422:
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	ldrb	r1, [r3, #3452]	@ zero_extendqisi2
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-284]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
.L423:
	ldr	r3, [fp, #-284]
	add	r3, r3, #1
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-296]
	cmp	r3, #0
	bne	.L424
	ldr	r3, [fp, #-300]
	add	r3, r3, #1
	str	r3, [fp, #-300]
	ldr	r2, [fp, #-300]
	ldr	r3, [fp, #-308]
	cmp	r2, r3
	blt	.L425
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L425:
	mov	r3, #50
	str	r3, [fp, #-296]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-300]
	add	r3, r2, r3
	add	r3, r3, #7808
	add	r3, r3, #60
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-256]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-256]
	add	r3, r3, #15936
	add	r3, r3, #62
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-252]
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #45312
	add	r3, r3, #104
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-248]
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #57600
	add	r3, r3, #200
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-240]
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r2, [fp, #-352]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-244]
.L424:
	ldr	r3, [fp, #-296]
	sub	r3, r3, #1
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-252]
	str	r3, [fp, #-268]
.L142:
	ldr	r3, [fp, #-352]
	mov	r2, #40
	str	r2, [r3, #4]
.L430:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-268]
	cmp	r2, r3
	bgt	.L426
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r1, [r3, #32]
	ldr	r3, [fp, #-268]
	sub	r3, r1, r3
	lsr	r3, r2, r3
	mov	r1, #1
	ldr	r2, [fp, #-268]
	lsl	r2, r1, r2
	sub	r2, r2, #1
	and	r3, r3, r2
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-268]
	sub	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-264]
	b	.L427
.L426:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L428
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L428:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L430
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L430
.L427:
	ldr	r3, [fp, #-268]
	cmp	r3, #20
	ble	.L431
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L431:
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-248]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	cmp	r2, r3
	ble	.L548
	ldr	r3, [fp, #-268]
	add	r3, r3, #1
	str	r3, [fp, #-268]
.L141:
	ldr	r3, [fp, #-352]
	mov	r2, #41
	str	r2, [r3, #4]
.L438:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L434
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #1
	lsr	r3, r2, r3
	and	r3, r3, #1
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-260]
	nop
	ldr	r3, [fp, #-264]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-260]
	orr	r3, r2, r3
	str	r3, [fp, #-264]
	b	.L427
.L434:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L436
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L436:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L438
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L438
.L548:
	nop
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-244]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	sub	r3, r2, r3
	cmp	r3, #0
	blt	.L439
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-244]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	sub	r3, r2, r3
	ldr	r2, .L551+8
	cmp	r3, r2
	ble	.L440
.L439:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L440:
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-244]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-264]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-240]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-292]
	nop
.L406:
	b	.L441
.L546:
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	blt	.L442
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-284]
	cmp	r2, r3
	bgt	.L443
.L442:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L443:
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #1092]
	mov	r3, #1
	str	r3, [fp, #-328]
	b	.L444
.L445:
	ldr	r3, [fp, #-328]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	add	r2, r2, #16
	ldr	r2, [r3, r2, lsl #2]
	ldr	r1, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r3, #272
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L444:
	ldr	r3, [fp, #-328]
	cmp	r3, #256
	ble	.L445
	mov	r3, #1
	str	r3, [fp, #-328]
	b	.L446
.L447:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r3, #272
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-328]
	sub	r3, r3, #1
	ldr	r1, [fp, #-352]
	add	r3, r3, #272
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	add	r2, r2, r3
	ldr	r1, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r3, #272
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L446:
	ldr	r3, [fp, #-328]
	cmp	r3, #256
	ble	.L447
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L448
.L451:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r3, #272
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	blt	.L449
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r3, #272
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-284]
	cmp	r2, r3
	bge	.L450
.L449:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L450:
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L448:
	ldr	r3, [fp, #-328]
	cmp	r3, #256
	ble	.L451
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-352]
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	mvn	r2, #0
	str	r2, [r3, #3168]
	ldr	r3, [fp, #-352]
	mov	r2, #2
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #48]
	cmp	r3, #1
	ble	.L452
	ldr	r0, .L551+12
	bl	vex_printf
.L452:
	ldr	r3, [fp, #-352]
	ldrb	r3, [r3, #40]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L453
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L454
.L455:
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r3, #272
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3, #4]
	ldr	r2, [fp, #-352]
	ldr	r3, [fp, #-328]
	add	r3, r3, #528
	add	r3, r3, #2
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L454:
	ldr	r3, [fp, #-328]
	cmp	r3, #256
	ble	.L455
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L456
.L459:
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-328]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	strb	r3, [fp, #-343]
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	ldr	r2, [fp, #-352]
	add	r3, r3, #528
	add	r3, r3, #2
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-352]
	ldr	r1, [r3, #3152]
	ldr	r3, [fp, #-328]
	lsl	r3, r3, #1
	add	r3, r1, r3
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-328]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L457
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	ldr	r2, [fp, #-328]
	asr	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #15
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	ldr	r1, [fp, #-352]
	add	r3, r3, #528
	add	r3, r3, #2
	ldr	r3, [r1, r3, lsl #2]
	asr	r3, r3, #16
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	ldr	r1, [fp, #-328]
	asr	r1, r1, #1
	add	r3, r3, r1
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L458
.L457:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	ldr	r2, [fp, #-328]
	asr	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #15
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	ldr	r1, [fp, #-352]
	add	r3, r3, #528
	add	r3, r3, #2
	ldr	r3, [r1, r3, lsl #2]
	asr	r3, r3, #16
	lsl	r3, r3, #4
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	ldr	r1, [fp, #-328]
	asr	r1, r1, #1
	add	r3, r3, r1
	and	r2, r2, #255
	strb	r2, [r3]
.L458:
	ldrb	r2, [fp, #-343]	@ zero_extendqisi2
	ldr	r1, [fp, #-352]
	add	r3, r2, #528
	add	r3, r3, #2
	ldr	r3, [r1, r3, lsl #2]
	add	r0, r3, #1
	ldr	r1, [fp, #-352]
	add	r3, r2, #528
	add	r3, r3, #2
	str	r0, [r1, r3, lsl #2]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L456:
	ldr	r2, [fp, #-328]
	ldr	r3, [fp, #-284]
	cmp	r2, r3
	blt	.L459
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #52]
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-328]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	ldr	r2, [fp, #-328]
	asr	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-328]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r3, r1, r3
	str	r3, [fp, #-324]
.L462:
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-324]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	ldr	r2, [fp, #-324]
	asr	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-324]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r3, r1, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-324]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldr	r2, [fp, #-328]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-324]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L460
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	ldr	r2, [fp, #-324]
	asr	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #15
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-328]
	asr	r3, r3, #16
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	ldr	r1, [fp, #-324]
	asr	r1, r1, #1
	add	r3, r3, r1
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L461
.L460:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	ldr	r2, [fp, #-324]
	asr	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #15
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-328]
	asr	r3, r3, #16
	lsl	r3, r3, #4
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3156]
	ldr	r1, [fp, #-324]
	asr	r1, r1, #1
	add	r3, r3, r1
	and	r2, r2, #255
	strb	r2, [r3]
.L461:
	ldr	r3, [fp, #-324]
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-324]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-328]
	cmp	r2, r3
	bne	.L462
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-352]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L463
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-352]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r2, r0
	ldr	r3, [fp, #-352]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L464
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #24]
	ldr	r2, .L551+16
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-352]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L464
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #24]
.L464:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-352]
	ldr	r2, [r2, #20]
	cmp	r2, #1
	moveq	r2, #1
	movne	r2, #0
	and	r2, r2, #255
	eor	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #60]
	b	.L465
.L463:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-352]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r2, r0
	ldr	r3, [fp, #-352]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #1088]
	b	.L465
.L453:
	mov	r3, #0
	str	r3, [fp, #-328]
	b	.L466
.L467:
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-328]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	strb	r3, [fp, #-343]
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3148]
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	ldr	r1, [fp, #-352]
	add	r3, r3, #272
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-328]
	lsl	r3, r3, #8
	mov	ip, r3
	ldr	r3, [fp, #-352]
	ldr	r1, [r3, #3148]
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	ldr	r0, [fp, #-352]
	add	r3, r3, #272
	lsl	r3, r3, #2
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r1, r3
	orr	r2, r2, ip
	str	r2, [r3]
	ldrb	r2, [fp, #-343]	@ zero_extendqisi2
	ldr	r1, [fp, #-352]
	add	r3, r2, #272
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	add	r1, r3, #1
	ldr	r0, [fp, #-352]
	add	r3, r2, #272
	lsl	r3, r3, #2
	add	r3, r0, r3
	str	r1, [r3, #4]
	ldr	r3, [fp, #-328]
	add	r3, r3, #1
	str	r3, [fp, #-328]
.L466:
	ldr	r2, [fp, #-328]
	ldr	r3, [fp, #-284]
	cmp	r2, r3
	blt	.L467
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #52]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-352]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L468
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-352]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L469
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #24]
	ldr	r2, .L551+16
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-352]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L469
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #24]
.L469:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-352]
	ldr	r2, [r2, #20]
	cmp	r2, #1
	moveq	r2, #1
	movne	r2, #0
	and	r2, r2, #255
	eor	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #60]
	b	.L465
.L468:
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-352]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #56]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-352]
	str	r2, [r3, #1088]
.L465:
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L140:
	ldr	r3, [fp, #-352]
	mov	r2, #42
	str	r2, [r3, #4]
.L474:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L470
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-52]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #114
	beq	.L139
	b	.L540
.L470:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L472
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L472:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L474
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L474
.L540:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L139:
	ldr	r3, [fp, #-352]
	mov	r2, #43
	str	r2, [r3, #4]
.L479:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L475
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-48]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #69
	beq	.L138
	b	.L541
.L475:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L477
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L477:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L479
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L479
.L541:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L138:
	ldr	r3, [fp, #-352]
	mov	r2, #44
	str	r2, [r3, #4]
.L484:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L480
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-44]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #56
	beq	.L137
	b	.L542
.L480:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L482
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L482:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L484
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L484
.L542:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L137:
	ldr	r3, [fp, #-352]
	mov	r2, #45
	str	r2, [r3, #4]
.L489:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L485
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-40]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #80
	beq	.L136
	b	.L543
.L485:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L487
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L487:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L489
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L489
.L543:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L136:
	ldr	r3, [fp, #-352]
	mov	r2, #46
	str	r2, [r3, #4]
.L494:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L490
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-36]
	strb	r3, [fp, #-343]
	nop
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	cmp	r3, #144
	beq	.L495
	b	.L544
.L490:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L492
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L492:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L494
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L494
.L544:
	mvn	r3, #3
	str	r3, [fp, #-340]
	b	.L176
.L495:
	ldr	r3, [fp, #-352]
	mov	r2, #0
	str	r2, [r3, #3164]
.L135:
	ldr	r3, [fp, #-352]
	mov	r2, #47
	str	r2, [r3, #4]
.L500:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L496
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3164]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3164]
	b	.L134
.L496:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L498
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L498:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L500
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L500
.L134:
	ldr	r3, [fp, #-352]
	mov	r2, #48
	str	r2, [r3, #4]
.L505:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L501
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-28]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3164]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3164]
	b	.L133
.L501:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L503
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L503:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L505
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L505
.L133:
	ldr	r3, [fp, #-352]
	mov	r2, #49
	str	r2, [r3, #4]
.L510:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L506
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3164]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3164]
	b	.L131
.L506:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L508
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L508:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L510
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L510
.L131:
	ldr	r3, [fp, #-352]
	mov	r2, #50
	str	r2, [r3, #4]
.L515:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	cmp	r3, #7
	ble	.L511
	ldr	r3, [fp, #-352]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r3, r3, #8
	lsr	r3, r2, r3
	and	r3, r3, #255
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	sub	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-20]
	strb	r3, [fp, #-343]
	nop
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #3164]
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-343]	@ zero_extendqisi2
	orr	r2, r2, r3
	ldr	r3, [fp, #-352]
	str	r2, [r3, #3164]
	ldr	r3, [fp, #-352]
	mov	r2, #1
	str	r2, [r3, #4]
	mov	r3, #4
	str	r3, [fp, #-340]
	b	.L176
.L511:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L513
	mov	r3, #0
	str	r3, [fp, #-340]
	b	.L176
.L513:
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #28]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-352]
	ldr	r2, [r2]
	ldr	r2, [r2]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-352]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3, #32]
	add	r2, r3, #8
	ldr	r3, [fp, #-352]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L515
	ldr	r3, [fp, #-352]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L515
.L518:
	ldr	r0, .L553
	bl	bz_internal_error
	ldr	r0, .L553+4
	bl	bz_internal_error
.L176:
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-328]
	str	r3, [r2, #2580]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-324]
	str	r3, [r2, #2584]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-320]
	str	r3, [r2, #2588]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-316]
	str	r3, [r2, #2592]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-312]
	str	r3, [r2, #2596]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-308]
	str	r3, [r2, #2600]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-304]
	str	r3, [r2, #2604]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-300]
	str	r3, [r2, #2608]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-296]
	str	r3, [r2, #2612]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-292]
	str	r3, [r2, #2616]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-288]
	str	r3, [r2, #2620]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-284]
	str	r3, [r2, #2624]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-280]
	str	r3, [r2, #2628]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-276]
	str	r3, [r2, #2632]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-272]
	str	r3, [r2, #2636]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-196]
	str	r3, [r2, #2640]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-268]
	str	r3, [r2, #2644]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-264]
	str	r3, [r2, #2648]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-260]
	str	r3, [r2, #2652]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-256]
	str	r3, [r2, #2656]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-252]
	str	r3, [r2, #2660]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-248]
	str	r3, [r2, #2664]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-244]
	str	r3, [r2, #2668]
	ldr	r3, [fp, #-352]
	add	r3, r3, #61440
	mov	r2, r3
	ldr	r3, [fp, #-240]
	str	r3, [r2, #2672]
	ldr	r3, [fp, #-340]
	ldr	r2, .L553+8
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L517
	bl	__stack_chk_fail
.L517:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L554:
	.align	2
.L553:
	.word	4001
	.word	4002
	.word	.LC6
	.size	BZ2_decompress, .-BZ2_decompress
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fallbackSimpleSort, %function
fallbackSimpleSort:
	@ 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]
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	beq	.L569
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	cmp	r3, #3
	ble	.L558
	ldr	r3, [fp, #-36]
	sub	r3, r3, #4
	str	r3, [fp, #-20]
	b	.L559
.L563:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	str	r3, [fp, #-16]
	b	.L560
.L562:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741820
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	str	r3, [fp, #-16]
.L560:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bgt	.L561
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bhi	.L562
.L561:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741820
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L559:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bge	.L563
.L558:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L564
.L568:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L565
.L567:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L565:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bgt	.L566
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bhi	.L567
.L566:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L564:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bge	.L568
	b	.L555
.L569:
	nop
.L555:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fallbackSimpleSort, .-fallbackSimpleSort
	.section	.rodata
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fallbackQSort3, %function
fallbackQSort3:
	@ args = 0, pretend = 0, frame = 912
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #912
	str	r0, [fp, #-904]
	str	r1, [fp, #-908]
	str	r2, [fp, #-912]
	str	r3, [fp, #-916]
	ldr	r3, .L605
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-876]
	mov	r3, #0
	str	r3, [fp, #-884]
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-912]
	str	r2, [r3, #-804]
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-916]
	str	r2, [r3, #-404]
	ldr	r3, [fp, #-884]
	add	r3, r3, #1
	str	r3, [fp, #-884]
	b	.L571
.L597:
	ldr	r3, [fp, #-884]
	cmp	r3, #99
	ble	.L572
	mov	r0, #1004
	bl	bz_internal_error
.L572:
	ldr	r3, [fp, #-884]
	sub	r3, r3, #1
	str	r3, [fp, #-884]
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-804]
	str	r3, [fp, #-848]
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-404]
	str	r3, [fp, #-844]
	ldr	r2, [fp, #-844]
	ldr	r3, [fp, #-848]
	sub	r3, r2, r3
	cmp	r3, #9
	bgt	.L573
	ldr	r3, [fp, #-844]
	ldr	r2, [fp, #-848]
	ldr	r1, [fp, #-908]
	ldr	r0, [fp, #-904]
	bl	fallbackSimpleSort
	b	.L571
.L573:
	ldr	r1, [fp, #-876]
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	lsl	r2, r3, #7
	sub	r2, r2, r3
	lsl	r2, r2, #2
	add	r3, r2, r1
	add	r3, r3, #1
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	str	r3, [fp, #-876]
	ldr	r2, [fp, #-876]
	ldr	r3, .L605+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #1
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	sub	r3, r2, r3
	str	r3, [fp, #-840]
	ldr	r3, [fp, #-840]
	cmp	r3, #0
	bne	.L574
	ldr	r3, [fp, #-848]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-908]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-880]
	b	.L575
.L574:
	ldr	r3, [fp, #-840]
	cmp	r3, #1
	bne	.L576
	ldr	r2, [fp, #-848]
	ldr	r3, [fp, #-844]
	add	r3, r2, r3
	asr	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-908]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-880]
	b	.L575
.L576:
	ldr	r3, [fp, #-844]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-908]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-880]
.L575:
	ldr	r3, [fp, #-848]
	str	r3, [fp, #-892]
	ldr	r3, [fp, #-892]
	str	r3, [fp, #-900]
	ldr	r3, [fp, #-844]
	str	r3, [fp, #-888]
	ldr	r3, [fp, #-888]
	str	r3, [fp, #-896]
.L582:
	ldr	r2, [fp, #-900]
	ldr	r3, [fp, #-896]
	cmp	r2, r3
	bgt	.L600
	ldr	r3, [fp, #-900]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-908]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-880]
	sub	r3, r2, r3
	str	r3, [fp, #-836]
	ldr	r3, [fp, #-836]
	cmp	r3, #0
	bne	.L579
	ldr	r3, [fp, #-900]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-832]
	ldr	r3, [fp, #-892]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r2, r2, r3
	ldr	r3, [fp, #-900]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-904]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-892]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r2, [fp, #-832]
	str	r2, [r3]
	ldr	r3, [fp, #-892]
	add	r3, r3, #1
	str	r3, [fp, #-892]
	ldr	r3, [fp, #-900]
	add	r3, r3, #1
	str	r3, [fp, #-900]
	b	.L580
.L579:
	ldr	r3, [fp, #-836]
	cmp	r3, #0
	bgt	.L601
	ldr	r3, [fp, #-900]
	add	r3, r3, #1
	str	r3, [fp, #-900]
.L580:
	b	.L582
.L600:
	nop
	b	.L588
.L601:
	nop
.L588:
	ldr	r2, [fp, #-900]
	ldr	r3, [fp, #-896]
	cmp	r2, r3
	bgt	.L602
	ldr	r3, [fp, #-896]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-908]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-880]
	sub	r3, r2, r3
	str	r3, [fp, #-836]
	ldr	r3, [fp, #-836]
	cmp	r3, #0
	bne	.L585
	ldr	r3, [fp, #-896]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-828]
	ldr	r3, [fp, #-888]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r2, r2, r3
	ldr	r3, [fp, #-896]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-904]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-888]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r2, [fp, #-828]
	str	r2, [r3]
	ldr	r3, [fp, #-888]
	sub	r3, r3, #1
	str	r3, [fp, #-888]
	ldr	r3, [fp, #-896]
	sub	r3, r3, #1
	str	r3, [fp, #-896]
	b	.L586
.L585:
	ldr	r3, [fp, #-836]
	cmp	r3, #0
	blt	.L603
	ldr	r3, [fp, #-896]
	sub	r3, r3, #1
	str	r3, [fp, #-896]
.L586:
	b	.L588
.L602:
	nop
	b	.L584
.L603:
	nop
.L584:
	ldr	r2, [fp, #-900]
	ldr	r3, [fp, #-896]
	cmp	r2, r3
	bgt	.L604
	ldr	r3, [fp, #-900]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-824]
	ldr	r3, [fp, #-896]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r2, r2, r3
	ldr	r3, [fp, #-900]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-904]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-896]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r2, [fp, #-824]
	str	r2, [r3]
	ldr	r3, [fp, #-900]
	add	r3, r3, #1
	str	r3, [fp, #-900]
	ldr	r3, [fp, #-896]
	sub	r3, r3, #1
	str	r3, [fp, #-896]
	b	.L582
.L604:
	nop
	ldr	r2, [fp, #-888]
	ldr	r3, [fp, #-892]
	cmp	r2, r3
	bge	.L591
	b	.L571
.L591:
	ldr	r2, [fp, #-900]
	ldr	r3, [fp, #-892]
	sub	r2, r2, r3
	ldr	r1, [fp, #-892]
	ldr	r3, [fp, #-848]
	sub	r3, r1, r3
	cmp	r2, r3
	movlt	r3, r2
	movge	r3, r3
	str	r3, [fp, #-836]
	ldr	r3, [fp, #-848]
	str	r3, [fp, #-872]
	ldr	r2, [fp, #-900]
	ldr	r3, [fp, #-836]
	sub	r3, r2, r3
	str	r3, [fp, #-868]
	ldr	r3, [fp, #-836]
	str	r3, [fp, #-864]
	b	.L592
.L593:
	ldr	r3, [fp, #-872]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-812]
	ldr	r3, [fp, #-868]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r2, r2, r3
	ldr	r3, [fp, #-872]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-904]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-868]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r2, [fp, #-812]
	str	r2, [r3]
	ldr	r3, [fp, #-872]
	add	r3, r3, #1
	str	r3, [fp, #-872]
	ldr	r3, [fp, #-868]
	add	r3, r3, #1
	str	r3, [fp, #-868]
	ldr	r3, [fp, #-864]
	sub	r3, r3, #1
	str	r3, [fp, #-864]
.L592:
	ldr	r3, [fp, #-864]
	cmp	r3, #0
	bgt	.L593
	ldr	r2, [fp, #-888]
	ldr	r3, [fp, #-896]
	sub	r2, r2, r3
	ldr	r1, [fp, #-844]
	ldr	r3, [fp, #-888]
	sub	r3, r1, r3
	cmp	r2, r3
	movlt	r3, r2
	movge	r3, r3
	str	r3, [fp, #-820]
	ldr	r3, [fp, #-900]
	str	r3, [fp, #-860]
	ldr	r2, [fp, #-844]
	ldr	r3, [fp, #-820]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-856]
	ldr	r3, [fp, #-820]
	str	r3, [fp, #-852]
	b	.L594
.L595:
	ldr	r3, [fp, #-860]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-816]
	ldr	r3, [fp, #-856]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r2, r2, r3
	ldr	r3, [fp, #-860]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-904]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-856]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-904]
	add	r3, r2, r3
	ldr	r2, [fp, #-816]
	str	r2, [r3]
	ldr	r3, [fp, #-860]
	add	r3, r3, #1
	str	r3, [fp, #-860]
	ldr	r3, [fp, #-856]
	add	r3, r3, #1
	str	r3, [fp, #-856]
	ldr	r3, [fp, #-852]
	sub	r3, r3, #1
	str	r3, [fp, #-852]
.L594:
	ldr	r3, [fp, #-852]
	cmp	r3, #0
	bgt	.L595
	ldr	r2, [fp, #-848]
	ldr	r3, [fp, #-900]
	add	r2, r2, r3
	ldr	r3, [fp, #-892]
	sub	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-836]
	ldr	r2, [fp, #-888]
	ldr	r3, [fp, #-896]
	sub	r3, r2, r3
	ldr	r2, [fp, #-844]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-820]
	ldr	r2, [fp, #-836]
	ldr	r3, [fp, #-848]
	sub	r2, r2, r3
	ldr	r1, [fp, #-844]
	ldr	r3, [fp, #-820]
	sub	r3, r1, r3
	cmp	r2, r3
	ble	.L596
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-848]
	str	r2, [r3, #-804]
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-836]
	str	r2, [r3, #-404]
	ldr	r3, [fp, #-884]
	add	r3, r3, #1
	str	r3, [fp, #-884]
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-820]
	str	r2, [r3, #-804]
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-844]
	str	r2, [r3, #-404]
	ldr	r3, [fp, #-884]
	add	r3, r3, #1
	str	r3, [fp, #-884]
	b	.L571
.L596:
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-820]
	str	r2, [r3, #-804]
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-844]
	str	r2, [r3, #-404]
	ldr	r3, [fp, #-884]
	add	r3, r3, #1
	str	r3, [fp, #-884]
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-848]
	str	r2, [r3, #-804]
	ldr	r3, [fp, #-884]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-836]
	str	r2, [r3, #-404]
	ldr	r3, [fp, #-884]
	add	r3, r3, #1
	str	r3, [fp, #-884]
.L571:
	ldr	r3, [fp, #-884]
	cmp	r3, #0
	bgt	.L597
	nop
	ldr	r3, .L605
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L598
	bl	__stack_chk_fail
.L598:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L606:
	.align	2
.L605:
	.word	.LC7
	.word	-1431655765
	.size	fallbackQSort3, .-fallbackQSort3
	.section	.rodata
	.align	2
.LC8:
	.ascii	"        bucket sorting ...\012\000"
	.align	2
.LC9:
	.ascii	"        depth %6d has \000"
	.align	2
.LC10:
	.ascii	"%6d unresolved strings\012\000"
	.align	2
.LC11:
	.ascii	"        reconstructing block ...\012\000"
	.align	2
.LC12:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fallbackSort, %function
fallbackSort:
	@ args = 4, pretend = 0, frame = 2120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #2112
	sub	sp, sp, #8
	str	r0, [fp, #-2112]
	str	r1, [fp, #-2116]
	str	r2, [fp, #-2120]
	str	r3, [fp, #-2124]
	ldr	r3, .L667
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-2116]
	str	r3, [fp, #-2076]
	ldr	r3, [fp, #4]
	cmp	r3, #3
	ble	.L608
	ldr	r0, .L667+4
	bl	vex_printf
.L608:
	mov	r3, #0
	str	r3, [fp, #-2100]
	b	.L609
.L610:
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-1032]
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L609:
	ldr	r3, [fp, #-2100]
	cmp	r3, #256
	ble	.L610
	mov	r3, #0
	str	r3, [fp, #-2100]
	b	.L611
.L612:
	ldr	r3, [fp, #-2100]
	ldr	r2, [fp, #-2076]
	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, #-1032]
	add	r1, r3, #1
	lsl	r3, r2, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	str	r1, [r3, #-1032]
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L611:
	ldr	r2, [fp, #-2100]
	ldr	r3, [fp, #-2124]
	cmp	r2, r3
	blt	.L612
	mov	r3, #0
	str	r3, [fp, #-2100]
	b	.L613
.L614:
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-1032]
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-2056]
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L613:
	ldr	r3, [fp, #-2100]
	cmp	r3, #255
	ble	.L614
	mov	r3, #1
	str	r3, [fp, #-2100]
	b	.L615
.L616:
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-1032]
	ldr	r3, [fp, #-2100]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-1032]
	add	r2, r2, r3
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-1032]
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L615:
	ldr	r3, [fp, #-2100]
	cmp	r3, #256
	ble	.L616
	mov	r3, #0
	str	r3, [fp, #-2100]
	b	.L617
.L618:
	ldr	r3, [fp, #-2100]
	ldr	r2, [fp, #-2076]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-2096]
	ldr	r3, [fp, #-2096]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-1032]
	sub	r3, r3, #1
	str	r3, [fp, #-2092]
	ldr	r3, [fp, #-2096]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-2092]
	str	r2, [r3, #-1032]
	ldr	r3, [fp, #-2092]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2112]
	add	r3, r2, r3
	ldr	r2, [fp, #-2100]
	str	r2, [r3]
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L617:
	ldr	r2, [fp, #-2100]
	ldr	r3, [fp, #-2124]
	cmp	r2, r3
	blt	.L618
	ldr	r3, [fp, #-2124]
	add	r2, r3, #31
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #5
	add	r3, r3, #2
	str	r3, [fp, #-2072]
	mov	r3, #0
	str	r3, [fp, #-2100]
	b	.L619
.L620:
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L619:
	ldr	r2, [fp, #-2100]
	ldr	r3, [fp, #-2072]
	cmp	r2, r3
	blt	.L620
	mov	r3, #0
	str	r3, [fp, #-2100]
	b	.L621
.L622:
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-1032]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-1032]
	and	r3, r3, #31
	mov	r1, #1
	lsl	r3, r1, r3
	mov	r0, r3
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-1032]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2120]
	add	r3, r1, r3
	orr	r2, r2, r0
	str	r2, [r3]
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L621:
	ldr	r3, [fp, #-2100]
	cmp	r3, #255
	ble	.L622
	mov	r3, #0
	str	r3, [fp, #-2100]
	b	.L623
.L624:
	ldr	r3, [fp, #-2100]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-2124]
	add	r3, r2, r3
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2100]
	lsl	r1, r3, #1
	ldr	r3, [fp, #-2124]
	add	r3, r1, r3
	and	r3, r3, #31
	mov	r1, #1
	lsl	r3, r1, r3
	mov	r0, r3
	ldr	r3, [fp, #-2100]
	lsl	r1, r3, #1
	ldr	r3, [fp, #-2124]
	add	r3, r1, r3
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2120]
	add	r3, r1, r3
	orr	r2, r2, r0
	str	r2, [r3]
	ldr	r3, [fp, #-2100]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-2124]
	add	r3, r2, r3
	add	r3, r3, #1
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2100]
	lsl	r1, r3, #1
	ldr	r3, [fp, #-2124]
	add	r3, r1, r3
	add	r3, r3, #1
	and	r3, r3, #31
	mov	r1, #1
	lsl	r3, r1, r3
	mvn	r3, r3
	mov	r0, r3
	ldr	r3, [fp, #-2100]
	lsl	r1, r3, #1
	ldr	r3, [fp, #-2124]
	add	r3, r1, r3
	add	r3, r3, #1
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2120]
	add	r3, r1, r3
	and	r2, r2, r0
	str	r2, [r3]
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L623:
	ldr	r3, [fp, #-2100]
	cmp	r3, #31
	ble	.L624
	mov	r3, #1
	str	r3, [fp, #-2104]
.L656:
	ldr	r3, [fp, #4]
	cmp	r3, #3
	ble	.L625
	ldr	r1, [fp, #-2104]
	ldr	r0, .L667+8
	bl	vex_printf
.L625:
	mov	r3, #0
	str	r3, [fp, #-2096]
	mov	r3, #0
	str	r3, [fp, #-2100]
	b	.L626
.L629:
	ldr	r3, [fp, #-2100]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-2100]
	and	r2, r2, #31
	mov	r1, #1
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L627
	ldr	r3, [fp, #-2100]
	str	r3, [fp, #-2096]
.L627:
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2112]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2104]
	sub	r3, r2, r3
	str	r3, [fp, #-2092]
	ldr	r3, [fp, #-2092]
	cmp	r3, #0
	bge	.L628
	ldr	r2, [fp, #-2092]
	ldr	r3, [fp, #-2124]
	add	r3, r2, r3
	str	r3, [fp, #-2092]
.L628:
	ldr	r3, [fp, #-2092]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2116]
	add	r3, r2, r3
	ldr	r2, [fp, #-2096]
	str	r2, [r3]
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L626:
	ldr	r2, [fp, #-2100]
	ldr	r3, [fp, #-2124]
	cmp	r2, r3
	blt	.L629
	mov	r3, #0
	str	r3, [fp, #-2080]
	mvn	r3, #0
	str	r3, [fp, #-2088]
.L653:
	ldr	r3, [fp, #-2088]
	add	r3, r3, #1
	str	r3, [fp, #-2092]
	b	.L630
.L632:
	ldr	r3, [fp, #-2092]
	add	r3, r3, #1
	str	r3, [fp, #-2092]
.L630:
	ldr	r3, [fp, #-2092]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-2092]
	and	r2, r2, #31
	mov	r1, #1
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L631
	ldr	r3, [fp, #-2092]
	and	r3, r3, #31
	cmp	r3, #0
	bne	.L632
.L631:
	ldr	r3, [fp, #-2092]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-2092]
	and	r2, r2, #31
	mov	r1, #1
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L633
	b	.L634
.L635:
	ldr	r3, [fp, #-2092]
	add	r3, r3, #32
	str	r3, [fp, #-2092]
.L634:
	ldr	r3, [fp, #-2092]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L635
	b	.L636
.L637:
	ldr	r3, [fp, #-2092]
	add	r3, r3, #1
	str	r3, [fp, #-2092]
.L636:
	ldr	r3, [fp, #-2092]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-2092]
	and	r2, r2, #31
	mov	r1, #1
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L637
.L633:
	ldr	r3, [fp, #-2092]
	sub	r3, r3, #1
	str	r3, [fp, #-2068]
	ldr	r2, [fp, #-2068]
	ldr	r3, [fp, #-2124]
	cmp	r2, r3
	bge	.L664
	b	.L640
.L642:
	ldr	r3, [fp, #-2092]
	add	r3, r3, #1
	str	r3, [fp, #-2092]
.L640:
	ldr	r3, [fp, #-2092]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-2092]
	and	r2, r2, #31
	mov	r1, #1
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L641
	ldr	r3, [fp, #-2092]
	and	r3, r3, #31
	cmp	r3, #0
	bne	.L642
.L641:
	ldr	r3, [fp, #-2092]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-2092]
	and	r2, r2, #31
	mov	r1, #1
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L643
	b	.L644
.L645:
	ldr	r3, [fp, #-2092]
	add	r3, r3, #32
	str	r3, [fp, #-2092]
.L644:
	ldr	r3, [fp, #-2092]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L645
	b	.L646
.L647:
	ldr	r3, [fp, #-2092]
	add	r3, r3, #1
	str	r3, [fp, #-2092]
.L646:
	ldr	r3, [fp, #-2092]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-2092]
	and	r2, r2, #31
	mov	r1, #1
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L647
.L643:
	ldr	r3, [fp, #-2092]
	sub	r3, r3, #1
	str	r3, [fp, #-2088]
	ldr	r2, [fp, #-2088]
	ldr	r3, [fp, #-2124]
	cmp	r2, r3
	bge	.L665
	ldr	r2, [fp, #-2088]
	ldr	r3, [fp, #-2068]
	cmp	r2, r3
	ble	.L653
	ldr	r2, [fp, #-2088]
	ldr	r3, [fp, #-2068]
	sub	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-2080]
	add	r3, r2, r3
	str	r3, [fp, #-2080]
	ldr	r3, [fp, #-2088]
	ldr	r2, [fp, #-2068]
	ldr	r1, [fp, #-2116]
	ldr	r0, [fp, #-2112]
	bl	fallbackQSort3
	mvn	r3, #0
	str	r3, [fp, #-2084]
	ldr	r3, [fp, #-2068]
	str	r3, [fp, #-2100]
	b	.L650
.L652:
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2112]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2116]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2064]
	ldr	r2, [fp, #-2084]
	ldr	r3, [fp, #-2064]
	cmp	r2, r3
	beq	.L651
	ldr	r3, [fp, #-2100]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2100]
	and	r3, r3, #31
	mov	r1, #1
	lsl	r3, r1, r3
	mov	r0, r3
	ldr	r3, [fp, #-2100]
	asr	r3, r3, #5
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2120]
	add	r3, r1, r3
	orr	r2, r2, r0
	str	r2, [r3]
	ldr	r3, [fp, #-2064]
	str	r3, [fp, #-2084]
.L651:
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L650:
	ldr	r2, [fp, #-2100]
	ldr	r3, [fp, #-2088]
	cmp	r2, r3
	ble	.L652
	b	.L653
.L664:
	nop
	b	.L639
.L665:
	nop
.L639:
	ldr	r3, [fp, #4]
	cmp	r3, #3
	ble	.L654
	ldr	r1, [fp, #-2080]
	ldr	r0, .L667+12
	bl	vex_printf
.L654:
	ldr	r3, [fp, #-2104]
	lsl	r3, r3, #1
	str	r3, [fp, #-2104]
	ldr	r2, [fp, #-2104]
	ldr	r3, [fp, #-2124]
	cmp	r2, r3
	bgt	.L655
	ldr	r3, [fp, #-2080]
	cmp	r3, #0
	beq	.L655
	b	.L656
.L655:
	ldr	r3, [fp, #4]
	cmp	r3, #3
	ble	.L657
	ldr	r0, .L667+16
	bl	vex_printf
.L657:
	mov	r3, #0
	str	r3, [fp, #-2096]
	mov	r3, #0
	str	r3, [fp, #-2100]
	b	.L658
.L660:
	ldr	r3, [fp, #-2096]
	add	r3, r3, #1
	str	r3, [fp, #-2096]
.L659:
	ldr	r3, [fp, #-2096]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-2056]
	cmp	r3, #0
	beq	.L660
	ldr	r3, [fp, #-2096]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-2056]
	sub	r2, r3, #1
	ldr	r3, [fp, #-2096]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-2056]
	ldr	r3, [fp, #-2100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2112]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-2076]
	add	r3, r2, r3
	ldr	r2, [fp, #-2096]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-2100]
	add	r3, r3, #1
	str	r3, [fp, #-2100]
.L658:
	ldr	r2, [fp, #-2100]
	ldr	r3, [fp, #-2124]
	cmp	r2, r3
	blt	.L659
	ldr	r3, [fp, #-2096]
	cmp	r3, #255
	ble	.L666
	ldr	r0, .L667+20
	bl	bz_internal_error
.L666:
	nop
	ldr	r3, .L667
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L663
	bl	__stack_chk_fail
.L663:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L668:
	.align	2
.L667:
	.word	.LC12
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	1005
	.size	fallbackSort, .-fallbackSort
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mainGtU, %function
mainGtU:
	@ args = 8, 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]
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L670
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L670:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L672
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L672:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L673
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L673:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L674
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L674:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L675
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L675:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L676
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L676:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L677
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L677:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L678
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L678:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L679
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L679:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L680
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L680:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L681
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L681:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L682
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L682:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #4]
	add	r3, r3, #8
	str	r3, [fp, #-8]
.L701:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L683
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L683:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-12]	@ movhi
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	beq	.L684
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L684:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L685
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L685:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-12]	@ movhi
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	beq	.L686
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L686:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L687
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L687:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-12]	@ movhi
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	beq	.L688
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L688:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L689
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L689:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-12]	@ movhi
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	beq	.L690
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L690:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L691
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L691:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-12]	@ movhi
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	beq	.L692
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L692:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L693
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L693:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-12]	@ movhi
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	beq	.L694
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L694:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L695
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L695:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-12]	@ movhi
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	beq	.L696
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L696:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L697
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L697:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-12]	@ movhi
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	beq	.L698
	ldrh	r2, [fp, #-12]
	ldrh	r3, [fp, #-10]
	cmp	r2, r3
	movhi	r3, #1
	movls	r3, #0
	and	r3, r3, #255
	b	.L671
.L698:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #4]
	cmp	r2, r3
	bcc	.L699
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
.L699:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #4]
	cmp	r2, r3
	bcc	.L700
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
.L700:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #8
	str	r3, [fp, #-8]
	ldr	r3, [fp, #8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L701
	mov	r3, #0
.L671:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	mainGtU, .-mainGtU
	.data
	.align	2
	.type	incs, %object
	.size	incs, 56
incs:
	.word	1
	.word	4
	.word	13
	.word	40
	.word	121
	.word	364
	.word	1093
	.word	3280
	.word	9841
	.word	29524
	.word	88573
	.word	265720
	.word	797161
	.word	2391484
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mainSimpleSort, %function
mainSimpleSort:
	@ args = 16, 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	r2, [fp, #8]
	ldr	r3, [fp, #4]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	ble	.L724
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L705
.L706:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L705:
	ldr	r2, .L732
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L706
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L707
.L723:
	ldr	r2, .L732
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-28]
.L722:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #8]
	cmp	r2, r3
	bgt	.L725
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L710
.L712:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L726
.L710:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #12]
	add	r0, r2, r3
	ldr	r2, [fp, #12]
	ldr	r3, [fp, #-8]
	add	r1, r2, r3
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #16]
	str	r2, [sp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-36]
	bl	mainGtU
	mov	r3, r0
	cmp	r3, #0
	bne	.L712
	b	.L711
.L726:
	nop
.L711:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #8]
	cmp	r2, r3
	bgt	.L727
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L714
.L716:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L728
.L714:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #12]
	add	r0, r2, r3
	ldr	r2, [fp, #12]
	ldr	r3, [fp, #-8]
	add	r1, r2, r3
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #16]
	str	r2, [sp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-36]
	bl	mainGtU
	mov	r3, r0
	cmp	r3, #0
	bne	.L716
	b	.L715
.L728:
	nop
.L715:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #8]
	cmp	r2, r3
	bgt	.L729
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L718
.L720:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L730
.L718:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #12]
	add	r0, r2, r3
	ldr	r2, [fp, #12]
	ldr	r3, [fp, #-8]
	add	r1, r2, r3
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #16]
	str	r2, [sp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-36]
	bl	mainGtU
	mov	r3, r0
	cmp	r3, #0
	bne	.L720
	b	.L719
.L730:
	nop
.L719:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #16]
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L731
	b	.L722
.L725:
	nop
	b	.L709
.L727:
	nop
	b	.L709
.L729:
	nop
.L709:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L707:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L723
	b	.L702
.L724:
	nop
	b	.L702
.L731:
	nop
.L702:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L733:
	.align	2
.L732:
	.word	incs
	.size	mainSimpleSort, .-mainSimpleSort
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mmed3, %function
mmed3:
	@ 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
	mov	r3, r0
	strb	r3, [fp, #-13]
	mov	r3, r1
	strb	r3, [fp, #-14]
	mov	r3, r2
	strb	r3, [fp, #-15]
	ldrb	r2, [fp, #-13]	@ zero_extendqisi2
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r2, r3
	bls	.L735
	ldrb	r3, [fp, #-13]
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-14]
	strb	r3, [fp, #-13]
	ldrb	r3, [fp, #-5]
	strb	r3, [fp, #-14]
.L735:
	ldrb	r2, [fp, #-14]	@ zero_extendqisi2
	ldrb	r3, [fp, #-15]	@ zero_extendqisi2
	cmp	r2, r3
	bls	.L736
	ldrb	r3, [fp, #-15]
	strb	r3, [fp, #-14]
	ldrb	r2, [fp, #-13]	@ zero_extendqisi2
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r2, r3
	bls	.L736
	ldrb	r3, [fp, #-13]
	strb	r3, [fp, #-14]
.L736:
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	mmed3, .-mmed3
	.section	.rodata
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mainQSort3, %function
mainQSort3:
	@ args = 16, pretend = 0, frame = 1368
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1376
	sub	sp, sp, #8
	str	r0, [fp, #-1352]
	str	r1, [fp, #-1356]
	str	r2, [fp, #-1360]
	str	r3, [fp, #-1364]
	ldr	r3, [fp, #16]
	str	r3, [fp, #-1368]
	ldr	r3, .L776
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-1328]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #4]
	str	r2, [r3, #-1204]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #8]
	str	r2, [r3, #-804]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #12]
	str	r2, [r3, #-404]
	ldr	r3, [fp, #-1328]
	add	r3, r3, #1
	str	r3, [fp, #-1328]
	b	.L739
.L767:
	ldr	r3, [fp, #-1328]
	cmp	r3, #99
	ble	.L740
	ldr	r0, .L776+4
	bl	bz_internal_error
.L740:
	ldr	r3, [fp, #-1328]
	sub	r3, r3, #1
	str	r3, [fp, #-1328]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-1204]
	str	r3, [fp, #-1300]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-804]
	str	r3, [fp, #-1296]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-404]
	str	r3, [fp, #-1292]
	ldr	r2, [fp, #-1296]
	ldr	r3, [fp, #-1300]
	sub	r3, r2, r3
	cmp	r3, #19
	ble	.L741
	ldr	r3, [fp, #-1292]
	cmp	r3, #14
	ble	.L742
.L741:
	ldr	r3, [fp, #-1368]
	str	r3, [sp, #12]
	ldr	r3, [fp, #-1292]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-1296]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-1300]
	str	r3, [sp]
	ldr	r3, [fp, #-1364]
	ldr	r2, [fp, #-1360]
	ldr	r1, [fp, #-1356]
	ldr	r0, [fp, #-1352]
	bl	mainSimpleSort
	ldr	r3, [fp, #-1368]
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L770
	b	.L739
.L742:
	ldr	r3, [fp, #-1300]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-1292]
	add	r3, r2, r3
	ldr	r2, [fp, #-1356]
	add	r3, r2, r3
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-1296]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-1292]
	add	r3, r2, r3
	ldr	r2, [fp, #-1356]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-1300]
	ldr	r3, [fp, #-1296]
	add	r3, r2, r3
	asr	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-1292]
	add	r3, r2, r3
	ldr	r2, [fp, #-1356]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	bl	mmed3
	mov	r3, r0
	str	r3, [fp, #-1288]
	ldr	r3, [fp, #-1300]
	str	r3, [fp, #-1336]
	ldr	r3, [fp, #-1336]
	str	r3, [fp, #-1344]
	ldr	r3, [fp, #-1296]
	str	r3, [fp, #-1332]
	ldr	r3, [fp, #-1332]
	str	r3, [fp, #-1340]
.L750:
	ldr	r2, [fp, #-1344]
	ldr	r3, [fp, #-1340]
	cmp	r2, r3
	bgt	.L771
	ldr	r3, [fp, #-1344]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-1292]
	add	r3, r2, r3
	ldr	r2, [fp, #-1356]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1288]
	sub	r3, r2, r3
	str	r3, [fp, #-1284]
	ldr	r3, [fp, #-1284]
	cmp	r3, #0
	bne	.L747
	ldr	r3, [fp, #-1344]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1280]
	ldr	r3, [fp, #-1336]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r2, r2, r3
	ldr	r3, [fp, #-1344]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-1352]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-1336]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r2, [fp, #-1280]
	str	r2, [r3]
	ldr	r3, [fp, #-1336]
	add	r3, r3, #1
	str	r3, [fp, #-1336]
	ldr	r3, [fp, #-1344]
	add	r3, r3, #1
	str	r3, [fp, #-1344]
	b	.L748
.L747:
	ldr	r3, [fp, #-1284]
	cmp	r3, #0
	bgt	.L772
	ldr	r3, [fp, #-1344]
	add	r3, r3, #1
	str	r3, [fp, #-1344]
.L748:
	b	.L750
.L771:
	nop
	b	.L756
.L772:
	nop
.L756:
	ldr	r2, [fp, #-1344]
	ldr	r3, [fp, #-1340]
	cmp	r2, r3
	bgt	.L773
	ldr	r3, [fp, #-1340]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-1292]
	add	r3, r2, r3
	ldr	r2, [fp, #-1356]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1288]
	sub	r3, r2, r3
	str	r3, [fp, #-1284]
	ldr	r3, [fp, #-1284]
	cmp	r3, #0
	bne	.L753
	ldr	r3, [fp, #-1340]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1276]
	ldr	r3, [fp, #-1332]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r2, r2, r3
	ldr	r3, [fp, #-1340]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-1352]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-1332]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r2, [fp, #-1276]
	str	r2, [r3]
	ldr	r3, [fp, #-1332]
	sub	r3, r3, #1
	str	r3, [fp, #-1332]
	ldr	r3, [fp, #-1340]
	sub	r3, r3, #1
	str	r3, [fp, #-1340]
	b	.L754
.L753:
	ldr	r3, [fp, #-1284]
	cmp	r3, #0
	blt	.L774
	ldr	r3, [fp, #-1340]
	sub	r3, r3, #1
	str	r3, [fp, #-1340]
.L754:
	b	.L756
.L773:
	nop
	b	.L752
.L774:
	nop
.L752:
	ldr	r2, [fp, #-1344]
	ldr	r3, [fp, #-1340]
	cmp	r2, r3
	bgt	.L775
	ldr	r3, [fp, #-1344]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1272]
	ldr	r3, [fp, #-1340]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r2, r2, r3
	ldr	r3, [fp, #-1344]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-1352]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-1340]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r2, [fp, #-1272]
	str	r2, [r3]
	ldr	r3, [fp, #-1344]
	add	r3, r3, #1
	str	r3, [fp, #-1344]
	ldr	r3, [fp, #-1340]
	sub	r3, r3, #1
	str	r3, [fp, #-1340]
	b	.L750
.L775:
	nop
	ldr	r2, [fp, #-1332]
	ldr	r3, [fp, #-1336]
	cmp	r2, r3
	bge	.L759
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-1300]
	str	r2, [r3, #-1204]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-1296]
	str	r2, [r3, #-804]
	ldr	r3, [fp, #-1292]
	add	r2, r3, #1
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-404]
	ldr	r3, [fp, #-1328]
	add	r3, r3, #1
	str	r3, [fp, #-1328]
	b	.L739
.L759:
	ldr	r2, [fp, #-1344]
	ldr	r3, [fp, #-1336]
	sub	r2, r2, r3
	ldr	r1, [fp, #-1336]
	ldr	r3, [fp, #-1300]
	sub	r3, r1, r3
	cmp	r2, r3
	movlt	r3, r2
	movge	r3, r3
	str	r3, [fp, #-1284]
	ldr	r3, [fp, #-1300]
	str	r3, [fp, #-1324]
	ldr	r2, [fp, #-1344]
	ldr	r3, [fp, #-1284]
	sub	r3, r2, r3
	str	r3, [fp, #-1320]
	ldr	r3, [fp, #-1284]
	str	r3, [fp, #-1316]
	b	.L760
.L761:
	ldr	r3, [fp, #-1324]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1248]
	ldr	r3, [fp, #-1320]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r2, r2, r3
	ldr	r3, [fp, #-1324]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-1352]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-1320]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r2, [fp, #-1248]
	str	r2, [r3]
	ldr	r3, [fp, #-1324]
	add	r3, r3, #1
	str	r3, [fp, #-1324]
	ldr	r3, [fp, #-1320]
	add	r3, r3, #1
	str	r3, [fp, #-1320]
	ldr	r3, [fp, #-1316]
	sub	r3, r3, #1
	str	r3, [fp, #-1316]
.L760:
	ldr	r3, [fp, #-1316]
	cmp	r3, #0
	bgt	.L761
	ldr	r2, [fp, #-1332]
	ldr	r3, [fp, #-1340]
	sub	r2, r2, r3
	ldr	r1, [fp, #-1296]
	ldr	r3, [fp, #-1332]
	sub	r3, r1, r3
	cmp	r2, r3
	movlt	r3, r2
	movge	r3, r3
	str	r3, [fp, #-1268]
	ldr	r3, [fp, #-1344]
	str	r3, [fp, #-1312]
	ldr	r2, [fp, #-1296]
	ldr	r3, [fp, #-1268]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-1308]
	ldr	r3, [fp, #-1268]
	str	r3, [fp, #-1304]
	b	.L762
.L763:
	ldr	r3, [fp, #-1312]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1252]
	ldr	r3, [fp, #-1308]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r2, r2, r3
	ldr	r3, [fp, #-1312]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-1352]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-1308]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1352]
	add	r3, r2, r3
	ldr	r2, [fp, #-1252]
	str	r2, [r3]
	ldr	r3, [fp, #-1312]
	add	r3, r3, #1
	str	r3, [fp, #-1312]
	ldr	r3, [fp, #-1308]
	add	r3, r3, #1
	str	r3, [fp, #-1308]
	ldr	r3, [fp, #-1304]
	sub	r3, r3, #1
	str	r3, [fp, #-1304]
.L762:
	ldr	r3, [fp, #-1304]
	cmp	r3, #0
	bgt	.L763
	ldr	r2, [fp, #-1300]
	ldr	r3, [fp, #-1344]
	add	r2, r2, r3
	ldr	r3, [fp, #-1336]
	sub	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-1284]
	ldr	r2, [fp, #-1332]
	ldr	r3, [fp, #-1340]
	sub	r3, r2, r3
	ldr	r2, [fp, #-1296]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-1268]
	ldr	r3, [fp, #-1300]
	str	r3, [fp, #-1244]
	ldr	r3, [fp, #-1284]
	str	r3, [fp, #-1232]
	ldr	r3, [fp, #-1292]
	str	r3, [fp, #-1220]
	ldr	r3, [fp, #-1268]
	str	r3, [fp, #-1240]
	ldr	r3, [fp, #-1296]
	str	r3, [fp, #-1228]
	ldr	r3, [fp, #-1292]
	str	r3, [fp, #-1216]
	ldr	r3, [fp, #-1284]
	add	r3, r3, #1
	str	r3, [fp, #-1236]
	ldr	r3, [fp, #-1268]
	sub	r3, r3, #1
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1292]
	add	r3, r3, #1
	str	r3, [fp, #-1212]
	ldr	r2, [fp, #-1232]
	ldr	r3, [fp, #-1244]
	sub	r2, r2, r3
	ldr	r1, [fp, #-1228]
	ldr	r3, [fp, #-1240]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L764
	ldr	r3, [fp, #-1244]
	str	r3, [fp, #-1264]
	ldr	r3, [fp, #-1240]
	str	r3, [fp, #-1244]
	ldr	r3, [fp, #-1264]
	str	r3, [fp, #-1240]
	ldr	r3, [fp, #-1232]
	str	r3, [fp, #-1264]
	ldr	r3, [fp, #-1228]
	str	r3, [fp, #-1232]
	ldr	r3, [fp, #-1264]
	str	r3, [fp, #-1228]
	ldr	r3, [fp, #-1220]
	str	r3, [fp, #-1264]
	ldr	r3, [fp, #-1216]
	str	r3, [fp, #-1220]
	ldr	r3, [fp, #-1264]
	str	r3, [fp, #-1216]
.L764:
	ldr	r2, [fp, #-1228]
	ldr	r3, [fp, #-1240]
	sub	r2, r2, r3
	ldr	r1, [fp, #-1224]
	ldr	r3, [fp, #-1236]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L765
	ldr	r3, [fp, #-1240]
	str	r3, [fp, #-1260]
	ldr	r3, [fp, #-1236]
	str	r3, [fp, #-1240]
	ldr	r3, [fp, #-1260]
	str	r3, [fp, #-1236]
	ldr	r3, [fp, #-1228]
	str	r3, [fp, #-1260]
	ldr	r3, [fp, #-1224]
	str	r3, [fp, #-1228]
	ldr	r3, [fp, #-1260]
	str	r3, [fp, #-1224]
	ldr	r3, [fp, #-1216]
	str	r3, [fp, #-1260]
	ldr	r3, [fp, #-1212]
	str	r3, [fp, #-1216]
	ldr	r3, [fp, #-1260]
	str	r3, [fp, #-1212]
.L765:
	ldr	r2, [fp, #-1232]
	ldr	r3, [fp, #-1244]
	sub	r2, r2, r3
	ldr	r1, [fp, #-1228]
	ldr	r3, [fp, #-1240]
	sub	r3, r1, r3
	cmp	r2, r3
	bge	.L766
	ldr	r3, [fp, #-1244]
	str	r3, [fp, #-1256]
	ldr	r3, [fp, #-1240]
	str	r3, [fp, #-1244]
	ldr	r3, [fp, #-1256]
	str	r3, [fp, #-1240]
	ldr	r3, [fp, #-1232]
	str	r3, [fp, #-1256]
	ldr	r3, [fp, #-1228]
	str	r3, [fp, #-1232]
	ldr	r3, [fp, #-1256]
	str	r3, [fp, #-1228]
	ldr	r3, [fp, #-1220]
	str	r3, [fp, #-1256]
	ldr	r3, [fp, #-1216]
	str	r3, [fp, #-1220]
	ldr	r3, [fp, #-1256]
	str	r3, [fp, #-1216]
.L766:
	ldr	r2, [fp, #-1244]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-1204]
	ldr	r2, [fp, #-1232]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-804]
	ldr	r2, [fp, #-1220]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-404]
	ldr	r3, [fp, #-1328]
	add	r3, r3, #1
	str	r3, [fp, #-1328]
	ldr	r2, [fp, #-1240]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-1204]
	ldr	r2, [fp, #-1228]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-804]
	ldr	r2, [fp, #-1216]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-404]
	ldr	r3, [fp, #-1328]
	add	r3, r3, #1
	str	r3, [fp, #-1328]
	ldr	r2, [fp, #-1236]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-1204]
	ldr	r2, [fp, #-1224]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-804]
	ldr	r2, [fp, #-1212]
	ldr	r3, [fp, #-1328]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-404]
	ldr	r3, [fp, #-1328]
	add	r3, r3, #1
	str	r3, [fp, #-1328]
.L739:
	ldr	r3, [fp, #-1328]
	cmp	r3, #0
	bgt	.L767
	b	.L738
.L770:
	nop
.L738:
	ldr	r3, .L776
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L768
	bl	__stack_chk_fail
.L768:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L777:
	.align	2
.L776:
	.word	.LC13
	.word	1001
	.size	mainQSort3, .-mainQSort3
	.section	.rodata
	.align	2
.LC14:
	.ascii	"        main sort initialise ...\012\000"
	.align	2
.LC15:
	.ascii	"        qsort [0x%x, 0x%x]   done %d   this %d\012\000"
	.align	2
.LC16:
	.ascii	"        %d pointers, %d sorted, %d scanned\012\000"
	.align	2
.LC17:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mainSort, %function
mainSort:
	@ args = 12, pretend = 0, frame = 3424
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #3440
	str	r0, [fp, #-3408]
	str	r1, [fp, #-3412]
	str	r2, [fp, #-3416]
	str	r3, [fp, #-3420]
	ldr	r3, [fp, #12]
	str	r3, [fp, #-3424]
	ldr	r3, .L837+36
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #8]
	cmp	r3, #3
	ble	.L779
	ldr	r0, .L837
	bl	vex_printf
.L779:
	mov	r3, #65536
	str	r3, [fp, #-3392]
	b	.L780
.L781:
	ldr	r3, [fp, #-3392]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #1
	str	r3, [fp, #-3392]
.L780:
	ldr	r3, [fp, #-3392]
	cmp	r3, #0
	bge	.L781
	ldr	r3, [fp, #-3412]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	str	r3, [fp, #-3388]
	ldr	r3, [fp, #4]
	sub	r3, r3, #1
	str	r3, [fp, #-3392]
	b	.L782
.L783:
	ldr	r3, [fp, #-3392]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-3416]
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-3388]
	asr	r2, r3, #8
	ldr	r3, [fp, #-3392]
	ldr	r1, [fp, #-3412]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-3388]
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #-2147483647
	lsl	r3, r3, #1
	ldr	r2, [fp, #-3416]
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-3388]
	asr	r2, r3, #8
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #1
	ldr	r1, [fp, #-3412]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-3388]
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #-2147483646
	lsl	r3, r3, #1
	ldr	r2, [fp, #-3416]
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-3388]
	asr	r2, r3, #8
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #2
	ldr	r1, [fp, #-3412]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-3388]
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #-2147483645
	lsl	r3, r3, #1
	ldr	r2, [fp, #-3416]
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-3388]
	asr	r2, r3, #8
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #3
	ldr	r1, [fp, #-3412]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-3388]
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #4
	str	r3, [fp, #-3392]
.L782:
	ldr	r3, [fp, #-3392]
	cmp	r3, #2
	bgt	.L783
	b	.L784
.L785:
	ldr	r3, [fp, #-3392]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-3416]
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-3388]
	asr	r2, r3, #8
	ldr	r3, [fp, #-3392]
	ldr	r1, [fp, #-3412]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	str	r3, [fp, #-3388]
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #1
	str	r3, [fp, #-3392]
.L784:
	ldr	r3, [fp, #-3392]
	cmp	r3, #0
	bge	.L785
	mov	r3, #0
	str	r3, [fp, #-3392]
	b	.L786
.L787:
	ldr	r3, [fp, #-3392]
	ldr	r2, [fp, #-3412]
	add	r2, r2, r3
	ldr	r1, [fp, #4]
	ldr	r3, [fp, #-3392]
	add	r3, r1, r3
	mov	r1, r3
	ldr	r3, [fp, #-3412]
	add	r3, r3, r1
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-3392]
	add	r3, r2, r3
	lsl	r3, r3, #1
	ldr	r2, [fp, #-3416]
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-3392]
	add	r3, r3, #1
	str	r3, [fp, #-3392]
.L786:
	ldr	r3, [fp, #-3392]
	cmp	r3, #33
	ble	.L787
	ldr	r3, [fp, #8]
	cmp	r3, #3
	ble	.L788
	ldr	r0, .L837+4
	bl	vex_printf
.L788:
	mov	r3, #1
	str	r3, [fp, #-3392]
	b	.L789
.L790:
	ldr	r3, [fp, #-3392]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-3392]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-3420]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	add	r3, r3, #1
	str	r3, [fp, #-3392]
.L789:
	ldr	r3, [fp, #-3392]
	cmp	r3, #65536
	ble	.L790
	ldr	r3, [fp, #-3412]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #4
	sub	r3, r3, #3392
	lsl	r2, r2, #8
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #4]
	sub	r3, r3, #1
	str	r3, [fp, #-3392]
	b	.L791
.L792:
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsr	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-3392]
	ldr	r1, [fp, #-3412]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	asr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	asr	r2, r3, #16
	sub	r3, fp, #4
	sub	r3, r3, #3392
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-3388]
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [fp, #-3388]
	str	r2, [r3]
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3408]
	add	r3, r2, r3
	ldr	r2, [fp, #-3392]
	str	r2, [r3]
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsr	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #1
	ldr	r1, [fp, #-3412]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	asr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	asr	r2, r3, #16
	sub	r3, fp, #4
	sub	r3, r3, #3392
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-3388]
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [fp, #-3388]
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r1, r3, #1
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3408]
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsr	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #2
	ldr	r1, [fp, #-3412]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	asr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	asr	r2, r3, #16
	sub	r3, fp, #4
	sub	r3, r3, #3392
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-3388]
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [fp, #-3388]
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r1, r3, #2
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3408]
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsr	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #3
	ldr	r1, [fp, #-3412]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	asr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	asr	r2, r3, #16
	sub	r3, fp, #4
	sub	r3, r3, #3392
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-3388]
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [fp, #-3388]
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r1, r3, #3
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3408]
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #4
	str	r3, [fp, #-3392]
.L791:
	ldr	r3, [fp, #-3392]
	cmp	r3, #2
	bgt	.L792
	b	.L793
.L794:
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsr	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r3, [fp, #-3392]
	ldr	r1, [fp, #-3412]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	asr	r3, r3, #16
	orr	r3, r2, r3
	lsl	r3, r3, #16
	asr	r2, r3, #16
	sub	r3, fp, #4
	sub	r3, r3, #3392
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-3388]
	sub	r3, fp, #4
	sub	r3, r3, #3392
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [fp, #-3388]
	str	r2, [r3]
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3408]
	add	r3, r2, r3
	ldr	r2, [fp, #-3392]
	str	r2, [r3]
	ldr	r3, [fp, #-3392]
	sub	r3, r3, #1
	str	r3, [fp, #-3392]
.L793:
	ldr	r3, [fp, #-3392]
	cmp	r3, #0
	bge	.L794
	mov	r3, #0
	str	r3, [fp, #-3392]
	b	.L795
.L796:
	sub	r2, fp, #264
	ldr	r3, [fp, #-3392]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-3392]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-3392]
	str	r2, [r3, #-3332]
	ldr	r3, [fp, #-3392]
	add	r3, r3, #1
	str	r3, [fp, #-3392]
.L795:
	ldr	r3, [fp, #-3392]
	cmp	r3, #255
	ble	.L796
	mov	r3, #1
	str	r3, [fp, #-3376]
.L797:
	ldr	r2, [fp, #-3376]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #1
	str	r3, [fp, #-3376]
	ldr	r3, [fp, #-3376]
	cmp	r3, #256
	ble	.L797
.L803:
	ldr	r3, [fp, #-3376]
	ldr	r2, .L837+8
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-3376]
	ldr	r3, [fp, #-3376]
	str	r3, [fp, #-3392]
	b	.L798
.L802:
	ldr	r3, [fp, #-3392]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-3332]
	str	r3, [fp, #-3340]
	ldr	r3, [fp, #-3392]
	str	r3, [fp, #-3388]
	b	.L799
.L801:
	ldr	r2, [fp, #-3388]
	ldr	r3, [fp, #-3376]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-3332]
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-3332]
	ldr	r2, [fp, #-3388]
	ldr	r3, [fp, #-3376]
	sub	r3, r2, r3
	str	r3, [fp, #-3388]
	ldr	r2, [fp, #-3376]
	ldr	r3, [fp, #-3388]
	cmp	r2, r3
	bgt	.L835
.L799:
	ldr	r2, [fp, #-3388]
	ldr	r3, [fp, #-3376]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-3332]
	add	r3, r3, #1
	lsl	r3, r3, #8
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r1, [fp, #-3388]
	ldr	r3, [fp, #-3376]
	sub	r3, r1, r3
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-3332]
	lsl	r3, r3, #8
	lsl	r3, r3, #2
	ldr	r1, [fp, #-3420]
	add	r3, r1, r3
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, [fp, #-3340]
	add	r3, r3, #1
	lsl	r3, r3, #8
	lsl	r3, r3, #2
	ldr	r1, [fp, #-3420]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-3340]
	lsl	r3, r3, #8
	lsl	r3, r3, #2
	ldr	r0, [fp, #-3420]
	add	r3, r0, r3
	ldr	r3, [r3]
	sub	r3, r1, r3
	cmp	r2, r3
	bhi	.L801
	b	.L800
.L835:
	nop
.L800:
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-3340]
	str	r2, [r3, #-3332]
	ldr	r3, [fp, #-3392]
	add	r3, r3, #1
	str	r3, [fp, #-3392]
.L798:
	ldr	r3, [fp, #-3392]
	cmp	r3, #255
	ble	.L802
	ldr	r3, [fp, #-3376]
	cmp	r3, #1
	bne	.L803
	mov	r3, #0
	str	r3, [fp, #-3380]
	mov	r3, #0
	str	r3, [fp, #-3392]
	b	.L804
.L832:
	ldr	r3, [fp, #-3392]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-3332]
	str	r3, [fp, #-3368]
	mov	r3, #0
	str	r3, [fp, #-3388]
	b	.L805
.L810:
	ldr	r2, [fp, #-3388]
	ldr	r3, [fp, #-3368]
	cmp	r2, r3
	beq	.L806
	ldr	r3, [fp, #-3368]
	lsl	r3, r3, #8
	ldr	r2, [fp, #-3388]
	add	r3, r2, r3
	str	r3, [fp, #-3352]
	ldr	r3, [fp, #-3352]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	and	r3, r3, #2097152
	cmp	r3, #0
	bne	.L807
	ldr	r3, [fp, #-3352]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	bic	r3, r3, #2097152
	str	r3, [fp, #-3348]
	ldr	r3, [fp, #-3352]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	bic	r3, r3, #2097152
	sub	r3, r3, #1
	str	r3, [fp, #-3344]
	ldr	r2, [fp, #-3344]
	ldr	r3, [fp, #-3348]
	cmp	r2, r3
	ble	.L807
	ldr	r3, [fp, #8]
	cmp	r3, #3
	ble	.L808
	ldr	r2, [fp, #-3344]
	ldr	r3, [fp, #-3348]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-3380]
	ldr	r2, [fp, #-3388]
	ldr	r1, [fp, #-3368]
	ldr	r0, .L837+12
	bl	vex_printf
.L808:
	ldr	r3, [fp, #-3424]
	str	r3, [sp, #12]
	mov	r3, #2
	str	r3, [sp, #8]
	ldr	r3, [fp, #-3344]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-3348]
	str	r3, [sp]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-3416]
	ldr	r1, [fp, #-3412]
	ldr	r0, [fp, #-3408]
	bl	mainQSort3
	ldr	r2, [fp, #-3344]
	ldr	r3, [fp, #-3348]
	sub	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-3380]
	add	r3, r2, r3
	str	r3, [fp, #-3380]
	ldr	r3, [fp, #-3424]
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L836
.L807:
	ldr	r3, [fp, #-3352]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-3352]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-3420]
	add	r3, r1, r3
	orr	r2, r2, #2097152
	str	r2, [r3]
.L806:
	ldr	r3, [fp, #-3388]
	add	r3, r3, #1
	str	r3, [fp, #-3388]
.L805:
	ldr	r3, [fp, #-3388]
	cmp	r3, #255
	ble	.L810
	sub	r2, fp, #264
	ldr	r3, [fp, #-3368]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L811
	ldr	r0, .L837+16
	bl	bz_internal_error
.L811:
	mov	r3, #0
	str	r3, [fp, #-3388]
	b	.L812
.L813:
	ldr	r3, [fp, #-3388]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-3368]
	add	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	bic	r2, r3, #2097152
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-2308]
	ldr	r3, [fp, #-3388]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-3368]
	add	r3, r2, r3
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	bic	r3, r3, #2097152
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-1284]
	ldr	r3, [fp, #-3388]
	add	r3, r3, #1
	str	r3, [fp, #-3388]
.L812:
	ldr	r3, [fp, #-3388]
	cmp	r3, #255
	ble	.L813
	ldr	r3, [fp, #-3368]
	lsl	r3, r3, #8
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	bic	r3, r3, #2097152
	str	r3, [fp, #-3388]
	b	.L814
.L817:
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3408]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-3384]
	ldr	r3, [fp, #-3384]
	cmp	r3, #0
	bge	.L815
	ldr	r2, [fp, #-3384]
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	str	r3, [fp, #-3384]
.L815:
	ldr	r3, [fp, #-3384]
	ldr	r2, [fp, #-3412]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-3397]
	ldrb	r3, [fp, #-3397]	@ zero_extendqisi2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #-260]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L816
	ldrb	r2, [fp, #-3397]	@ zero_extendqisi2
	lsl	r3, r2, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r1, [r3, #-2308]
	add	r0, r1, #1
	lsl	r3, r2, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	str	r0, [r3, #-2308]
	mov	r3, r1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3408]
	add	r3, r2, r3
	ldr	r2, [fp, #-3384]
	str	r2, [r3]
.L816:
	ldr	r3, [fp, #-3388]
	add	r3, r3, #1
	str	r3, [fp, #-3388]
.L814:
	ldr	r3, [fp, #-3368]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-2308]
	ldr	r2, [fp, #-3388]
	cmp	r2, r3
	blt	.L817
	ldr	r3, [fp, #-3368]
	add	r3, r3, #1
	lsl	r3, r3, #8
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	bic	r3, r3, #2097152
	sub	r3, r3, #1
	str	r3, [fp, #-3388]
	b	.L818
.L821:
	ldr	r3, [fp, #-3388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3408]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-3384]
	ldr	r3, [fp, #-3384]
	cmp	r3, #0
	bge	.L819
	ldr	r2, [fp, #-3384]
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	str	r3, [fp, #-3384]
.L819:
	ldr	r3, [fp, #-3384]
	ldr	r2, [fp, #-3412]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-3397]
	ldrb	r3, [fp, #-3397]	@ zero_extendqisi2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #-260]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L820
	ldrb	r2, [fp, #-3397]	@ zero_extendqisi2
	lsl	r3, r2, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r1, [r3, #-1284]
	sub	r0, r1, #1
	lsl	r3, r2, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	str	r0, [r3, #-1284]
	mov	r3, r1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3408]
	add	r3, r2, r3
	ldr	r2, [fp, #-3384]
	str	r2, [r3]
.L820:
	ldr	r3, [fp, #-3388]
	sub	r3, r3, #1
	str	r3, [fp, #-3388]
.L818:
	ldr	r3, [fp, #-3368]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-1284]
	ldr	r2, [fp, #-3388]
	cmp	r2, r3
	bgt	.L821
	ldr	r3, [fp, #-3368]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-2308]
	sub	r2, r3, #1
	ldr	r3, [fp, #-3368]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-1284]
	cmp	r2, r3
	beq	.L822
	ldr	r3, [fp, #-3368]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-2308]
	cmp	r3, #0
	bne	.L823
	ldr	r3, [fp, #-3368]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-1284]
	ldr	r3, [fp, #4]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L822
.L823:
	ldr	r0, .L837+20
	bl	bz_internal_error
.L822:
	mov	r3, #0
	str	r3, [fp, #-3388]
	b	.L824
.L825:
	ldr	r3, [fp, #-3388]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-3368]
	add	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-3388]
	lsl	r1, r3, #8
	ldr	r3, [fp, #-3368]
	add	r3, r1, r3
	lsl	r3, r3, #2
	ldr	r1, [fp, #-3420]
	add	r3, r1, r3
	orr	r2, r2, #2097152
	str	r2, [r3]
	ldr	r3, [fp, #-3388]
	add	r3, r3, #1
	str	r3, [fp, #-3388]
.L824:
	ldr	r3, [fp, #-3388]
	cmp	r3, #255
	ble	.L825
	sub	r2, fp, #264
	ldr	r3, [fp, #-3368]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
	ldr	r3, [fp, #-3392]
	cmp	r3, #254
	bgt	.L826
	ldr	r3, [fp, #-3368]
	lsl	r3, r3, #8
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	bic	r3, r3, #2097152
	str	r3, [fp, #-3364]
	ldr	r3, [fp, #-3368]
	add	r3, r3, #1
	lsl	r3, r3, #8
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3420]
	add	r3, r2, r3
	ldr	r3, [r3]
	bic	r2, r3, #2097152
	ldr	r3, [fp, #-3364]
	sub	r3, r2, r3
	str	r3, [fp, #-3360]
	mov	r3, #0
	str	r3, [fp, #-3372]
	b	.L827
.L828:
	ldr	r3, [fp, #-3372]
	add	r3, r3, #1
	str	r3, [fp, #-3372]
.L827:
	ldr	r2, [fp, #-3360]
	ldr	r3, [fp, #-3372]
	asr	r3, r2, r3
	ldr	r2, .L837+24
	cmp	r3, r2
	bgt	.L828
	ldr	r3, [fp, #-3360]
	sub	r3, r3, #1
	str	r3, [fp, #-3388]
	b	.L829
.L838:
	.align	2
.L837:
	.word	.LC14
	.word	.LC8
	.word	1431655766
	.word	.LC15
	.word	1006
	.word	1007
	.word	65534
	.word	1002
	.word	.LC16
	.word	.LC17
.L831:
	ldr	r2, [fp, #-3364]
	ldr	r3, [fp, #-3388]
	add	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-3408]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-3356]
	ldr	r2, [fp, #-3388]
	ldr	r3, [fp, #-3372]
	asr	r2, r2, r3
	sub	r3, fp, #4
	sub	r3, r3, #3376
	sub	r3, r3, #14
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-3356]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-3416]
	add	r2, r2, r3
	sub	r3, fp, #4
	sub	r3, r3, #3376
	sub	r3, r3, #14
	ldrh	r3, [r3]	@ movhi
	strh	r3, [r2]	@ movhi
	ldr	r3, [fp, #-3356]
	cmp	r3, #33
	bgt	.L830
	ldr	r2, [fp, #-3356]
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	lsl	r3, r3, #1
	ldr	r2, [fp, #-3416]
	add	r2, r2, r3
	sub	r3, fp, #4
	sub	r3, r3, #3376
	sub	r3, r3, #14
	ldrh	r3, [r3]	@ movhi
	strh	r3, [r2]	@ movhi
.L830:
	ldr	r3, [fp, #-3388]
	sub	r3, r3, #1
	str	r3, [fp, #-3388]
.L829:
	ldr	r3, [fp, #-3388]
	cmp	r3, #0
	bge	.L831
	ldr	r3, [fp, #-3360]
	sub	r2, r3, #1
	ldr	r3, [fp, #-3372]
	asr	r3, r2, r3
	cmp	r3, #65536
	blt	.L826
	ldr	r0, .L837+28
	bl	bz_internal_error
.L826:
	ldr	r3, [fp, #-3392]
	add	r3, r3, #1
	str	r3, [fp, #-3392]
.L804:
	ldr	r3, [fp, #-3392]
	cmp	r3, #255
	ble	.L832
	ldr	r3, [fp, #8]
	cmp	r3, #3
	ble	.L778
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-3380]
	sub	r3, r2, r3
	ldr	r2, [fp, #-3380]
	ldr	r1, [fp, #4]
	ldr	r0, .L837+32
	bl	vex_printf
	b	.L778
.L836:
	nop
.L778:
	ldr	r3, .L837+36
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L834
	bl	__stack_chk_fail
.L834:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	mainSort, .-mainSort
	.section	.rodata
	.align	2
.LC18:
	.ascii	"    too repetitive; using fallback sorting algorith"
	.ascii	"m\012\000"
	.align	2
.LC19:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	BZ2_blockSort
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_blockSort, %function
BZ2_blockSort:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-56]
	ldr	r3, .L853
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #68]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #616]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-24]
	cmp	r3, #1000
	bge	.L840
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #20]
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	bl	fallbackSort
	b	.L841
.L840:
	ldr	r3, [fp, #-24]
	add	r3, r3, #34
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L842
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L842:
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bgt	.L843
	mov	r3, #1
	str	r3, [fp, #-40]
.L843:
	ldr	r3, [fp, #-40]
	cmp	r3, #100
	ble	.L844
	mov	r3, #100
	str	r3, [fp, #-40]
.L844:
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	ldr	r2, .L853+4
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r2, r2, r3
	ldr	r3, [fp, #-24]
	mul	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-48]
	sub	r3, fp, #48
	str	r3, [sp, #8]
	ldr	r3, [fp, #-20]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-24]
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	mainSort
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bge	.L841
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	ble	.L845
	ldr	r0, .L853+8
	bl	vex_printf
.L845:
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #20]
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	bl	fallbackSort
.L841:
	ldr	r3, [fp, #-56]
	mvn	r2, #0
	str	r2, [r3, #28]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L846
.L849:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L847
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #28]
	b	.L848
.L847:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L846:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #68]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L849
.L848:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	cmn	r3, #1
	bne	.L852
	ldr	r0, .L853+12
	bl	bz_internal_error
.L852:
	nop
	ldr	r3, .L853
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L851
	bl	__stack_chk_fail
.L851:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L854:
	.align	2
.L853:
	.word	.LC19
	.word	1431655766
	.word	.LC18
	.word	1003
	.size	BZ2_blockSort, .-BZ2_blockSort
	.section	.rodata
	.align	2
.LC20:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	BZ2_hbMakeCodeLengths
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_hbMakeCodeLengths, %function
BZ2_hbMakeCodeLengths:
	@ args = 0, pretend = 0, frame = 5264
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #5248
	sub	sp, sp, #16
	sub	ip, fp, #4096
	sub	ip, ip, #4
	str	r0, [ip, #-1156]
	sub	r0, fp, #4096
	sub	r0, r0, #4
	str	r1, [r0, #-1160]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	str	r2, [r1, #-1164]
	sub	r2, fp, #4096
	sub	r2, r2, #4
	str	r3, [r2, #-1168]
	ldr	r3, .L895
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-1136]
	b	.L856
.L859:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	lsl	r3, r3, #2
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1160]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L857
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	lsl	r3, r3, #2
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1160]
	add	r3, r2, r3
	ldr	r3, [r3]
	lsl	r2, r3, #8
	b	.L858
.L857:
	mov	r2, #256
.L858:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	add	r3, r3, #1
	sub	r1, fp, #4096
	sub	r1, r1, #4
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	add	r3, r3, #1
	str	r3, [r2, #-1136]
.L856:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r2, #-1136]
	ldr	r3, [r3, #-1164]
	cmp	r2, r3
	blt	.L859
.L889:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1164]
	str	r3, [r2, #-1144]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-1140]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-36]
	mvn	r3, #1
	str	r3, [fp, #-2072]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1136]
	b	.L860
.L863:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3, #-2068]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	add	r3, r3, #1
	str	r3, [r2, #-1140]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1136]
	str	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	str	r3, [r2, #-1124]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1124]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-1076]
	str	r3, [r2, #-1080]
	b	.L861
.L862:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1124]
	asr	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1124]
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1124]
	asr	r3, r3, #1
	str	r3, [r2, #-1124]
.L861:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1080]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1124]
	asr	r3, r3, #1
	sub	r1, fp, #4096
	sub	r1, r1, #4
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-1076]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-36]
	cmp	r2, r3
	blt	.L862
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1124]
	lsl	r3, r3, #2
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1080]
	str	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	add	r3, r3, #1
	str	r3, [r2, #-1136]
.L860:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r2, #-1136]
	ldr	r3, [r3, #-1164]
	cmp	r2, r3
	ble	.L863
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	cmp	r3, #260
	blt	.L865
	ldr	r0, .L895+4
	bl	bz_internal_error
	b	.L865
.L878:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1072]
	str	r3, [r2, #-1100]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-1076]
	sub	r2, fp, #4096
	sub	r2, r2, #4
	str	r3, [r2, #-1072]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	sub	r3, r3, #1
	str	r3, [r2, #-1140]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1120]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1120]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-1076]
	str	r3, [r2, #-1096]
.L870:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1120]
	lsl	r3, r3, #1
	str	r3, [r2, #-1116]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r2, #-1116]
	ldr	r3, [r3, #-1140]
	cmp	r2, r3
	bgt	.L892
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r2, #-1116]
	ldr	r3, [r3, #-1140]
	cmp	r2, r3
	bge	.L868
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1116]
	add	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-1076]
	sub	r2, fp, #4096
	sub	r2, r2, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1116]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-1076]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-36]
	cmp	r2, r3
	bge	.L868
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1116]
	add	r3, r3, #1
	str	r3, [r2, #-1116]
.L868:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1096]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1116]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-1076]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-36]
	cmp	r2, r3
	blt	.L892
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1116]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1120]
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1116]
	str	r3, [r2, #-1120]
	b	.L870
.L892:
	nop
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1120]
	lsl	r3, r3, #2
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1096]
	str	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1072]
	str	r3, [r2, #-1092]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-1076]
	sub	r2, fp, #4096
	sub	r2, r2, #4
	str	r3, [r2, #-1072]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	sub	r3, r3, #1
	str	r3, [r2, #-1140]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1112]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1112]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-1076]
	str	r3, [r2, #-1088]
.L875:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1112]
	lsl	r3, r3, #1
	str	r3, [r2, #-1108]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r2, #-1108]
	ldr	r3, [r3, #-1140]
	cmp	r2, r3
	bgt	.L893
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r2, #-1108]
	ldr	r3, [r3, #-1140]
	cmp	r2, r3
	bge	.L873
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1108]
	add	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-1076]
	sub	r2, fp, #4096
	sub	r2, r2, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1108]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-1076]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-36]
	cmp	r2, r3
	bge	.L873
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1108]
	add	r3, r3, #1
	str	r3, [r2, #-1108]
.L873:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1088]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1108]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-1076]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-36]
	cmp	r2, r3
	blt	.L893
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1108]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1112]
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1108]
	str	r3, [r2, #-1112]
	b	.L875
.L893:
	nop
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1112]
	lsl	r3, r3, #2
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1088]
	str	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1144]
	add	r3, r3, #1
	str	r3, [r2, #-1144]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1092]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1144]
	str	r2, [r3, #-2068]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1092]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-2068]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1100]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-2068]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1100]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-36]
	bic	r2, r3, #255
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1092]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-36]
	bic	r3, r3, #255
	add	r1, r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1092]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-36]
	and	r2, r3, #255
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r0, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1100]
	lsl	r3, r3, #2
	add	r3, r0, r3
	ldr	r3, [r3, #-36]
	and	r3, r3, #255
	cmp	r2, r3
	movge	r3, r2
	movlt	r3, r3
	add	r3, r3, #1
	orr	r3, r1, r3
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1144]
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1144]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3, #-2068]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	add	r3, r3, #1
	str	r3, [r2, #-1140]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	lsl	r3, r3, #2
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1144]
	str	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	str	r3, [r2, #-1104]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1104]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-1076]
	str	r3, [r2, #-1084]
	b	.L876
.L877:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1104]
	asr	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1104]
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #-1076]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1104]
	asr	r3, r3, #1
	str	r3, [r2, #-1104]
.L876:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1084]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1104]
	asr	r3, r3, #1
	sub	r1, fp, #4096
	sub	r1, r1, #4
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-1076]
	sub	r1, fp, #4096
	sub	r1, r1, #4
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-36]
	cmp	r2, r3
	blt	.L877
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1104]
	lsl	r3, r3, #2
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1084]
	str	r2, [r3, #-1076]
.L865:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1140]
	cmp	r3, #1
	bgt	.L878
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1144]
	cmp	r3, #516
	blt	.L879
	ldr	r0, .L895+8
	bl	bz_internal_error
.L879:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, #0
	strb	r2, [r3, #-1145]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1136]
	b	.L880
.L884:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-1132]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	str	r3, [r2, #-1128]
	b	.L881
.L882:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1128]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-2068]
	str	r3, [r2, #-1128]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1132]
	add	r3, r3, #1
	str	r3, [r2, #-1132]
.L881:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1128]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-2068]
	cmp	r3, #0
	bge	.L882
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	sub	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1156]
	add	r3, r2, r3
	sub	r2, fp, #4096
	sub	r2, r2, #4
	ldr	r2, [r2, #-1132]
	and	r2, r2, #255
	strb	r2, [r3]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r2, #-1132]
	ldr	r3, [r3, #-1168]
	cmp	r2, r3
	ble	.L883
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, #1
	strb	r2, [r3, #-1145]
.L883:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	add	r3, r3, #1
	str	r3, [r2, #-1136]
.L880:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r2, #-1136]
	ldr	r3, [r3, #-1164]
	cmp	r2, r3
	ble	.L884
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldrb	r3, [r3, #-1145]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L894
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-1136]
	b	.L887
.L888:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-36]
	sub	r2, fp, #4096
	sub	r2, r2, #4
	asr	r3, r3, #8
	str	r3, [r2, #-1132]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1132]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	sub	r2, fp, #4096
	sub	r2, r2, #4
	add	r3, r3, #1
	str	r3, [r2, #-1132]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1132]
	lsl	r2, r3, #8
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #-36]
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r3, [r3, #-1136]
	add	r3, r3, #1
	str	r3, [r2, #-1136]
.L887:
	sub	r3, fp, #4096
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #4
	ldr	r2, [r2, #-1136]
	ldr	r3, [r3, #-1164]
	cmp	r2, r3
	ble	.L888
	b	.L889
.L894:
	nop
	nop
	ldr	r3, .L895
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L890
	bl	__stack_chk_fail
.L890:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L896:
	.align	2
.L895:
	.word	.LC20
	.word	2001
	.word	2002
	.size	BZ2_hbMakeCodeLengths, .-BZ2_hbMakeCodeLengths
	.align	2
	.global	BZ2_hbAssignCodes
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_hbAssignCodes, %function
BZ2_hbAssignCodes:
	@ args = 4, 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]
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	b	.L898
.L902:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L899
.L901:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L900
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L900:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L899:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #4]
	cmp	r2, r3
	blt	.L901
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L898:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L902
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	BZ2_hbAssignCodes, .-BZ2_hbAssignCodes
	.align	2
	.global	BZ2_hbCreateDecodeTables
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_hbCreateDecodeTables, %function
BZ2_hbCreateDecodeTables:
	@ args = 12, 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]
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	b	.L904
.L908:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L905
.L907:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L906
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L906:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L905:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #12]
	cmp	r2, r3
	blt	.L907
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L904:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #8]
	cmp	r2, r3
	ble	.L908
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L909
.L910:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L909:
	ldr	r3, [fp, #-16]
	cmp	r3, #22
	ble	.L910
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L911
.L912:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L911:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #12]
	cmp	r2, r3
	blt	.L912
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L913
.L914:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-28]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L913:
	ldr	r3, [fp, #-16]
	cmp	r3, #22
	ble	.L914
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L915
.L916:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L915:
	ldr	r3, [fp, #-16]
	cmp	r3, #22
	ble	.L916
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	b	.L917
.L918:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-28]
	add	r3, r1, r3
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	sub	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L917:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #8]
	cmp	r2, r3
	ble	.L918
	ldr	r3, [fp, #4]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L919
.L920:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #1
	lsl	r1, r3, #1
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-28]
	add	r3, r0, r3
	sub	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L919:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #8]
	cmp	r2, r3
	ble	.L920
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	BZ2_hbCreateDecodeTables, .-BZ2_hbCreateDecodeTables
	.align	2
	.global	BZ2_bsInitWrite
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bsInitWrite, %function
BZ2_bsInitWrite:
	@ 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]
	mov	r2, #0
	str	r2, [r3, #604]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #600]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	BZ2_bsInitWrite, .-BZ2_bsInitWrite
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsFinishWrite, %function
bsFinishWrite:
	@ 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]
	b	.L923
.L924:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #600]
	lsr	r2, r3, #24
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #44]
	ldr	r1, [fp, #-8]
	ldr	r1, [r1, #76]
	add	r3, r3, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #76]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #76]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #600]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-8]
	str	r2, [r3, #600]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #604]
	sub	r2, r3, #8
	ldr	r3, [fp, #-8]
	str	r2, [r3, #604]
.L923:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #604]
	cmp	r3, #0
	bgt	.L924
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	bsFinishWrite, .-bsFinishWrite
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsW, %function
bsW:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	b	.L926
.L927:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #600]
	lsr	r2, r3, #24
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #44]
	ldr	r1, [fp, #-8]
	ldr	r1, [r1, #76]
	add	r3, r3, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #76]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #76]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #600]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-8]
	str	r2, [r3, #600]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #604]
	sub	r2, r3, #8
	ldr	r3, [fp, #-8]
	str	r2, [r3, #604]
.L926:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #604]
	cmp	r3, #7
	bgt	.L927
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #600]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #604]
	rsb	r1, r3, #32
	ldr	r3, [fp, #-12]
	sub	r3, r1, r3
	ldr	r1, [fp, #-16]
	lsl	r3, r1, r3
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #600]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #604]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #604]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	bsW, .-bsW
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsPutUInt32, %function
bsPutUInt32:
	@ 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]
	lsr	r3, r3, #24
	mov	r2, r3
	mov	r1, #8
	ldr	r0, [fp, #-8]
	bl	bsW
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #16
	and	r3, r3, #255
	mov	r2, r3
	mov	r1, #8
	ldr	r0, [fp, #-8]
	bl	bsW
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #8
	and	r3, r3, #255
	mov	r2, r3
	mov	r1, #8
	ldr	r0, [fp, #-8]
	bl	bsW
	ldr	r3, [fp, #-12]
	and	r3, r3, #255
	mov	r2, r3
	mov	r1, #8
	ldr	r0, [fp, #-8]
	bl	bsW
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	bsPutUInt32, .-bsPutUInt32
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsPutUChar, %function
bsPutUChar:
	@ 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	r3, r1
	strb	r3, [fp, #-9]
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	mov	r2, r3
	mov	r1, #8
	ldr	r0, [fp, #-8]
	bl	bsW
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	bsPutUChar, .-bsPutUChar
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	makeMaps_e, %function
makeMaps_e:
	@ 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]
	mov	r2, #0
	str	r2, [r3, #84]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L931
.L933:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #88
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L932
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #84]
	and	r1, r3, #255
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #344
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #84]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #84]
.L932:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L931:
	ldr	r3, [fp, #-8]
	cmp	r3, #255
	ble	.L933
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	makeMaps_e, .-makeMaps_e
	.section	.rodata
	.align	2
.LC21:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	generateMTFValues, %function
generateMTFValues:
	@ args = 0, pretend = 0, frame = 304
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #304
	str	r0, [fp, #-320]
	ldr	r3, .L963
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-292]
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-288]
	ldr	r0, [fp, #-320]
	bl	makeMaps_e
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #84]
	add	r3, r3, #1
	str	r3, [fp, #-284]
	mov	r3, #0
	str	r3, [fp, #-312]
	b	.L935
.L936:
	ldr	r3, [fp, #-320]
	ldr	r2, [fp, #-312]
	add	r2, r2, #158
	mov	r1, #0
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-312]
	add	r3, r3, #1
	str	r3, [fp, #-312]
.L935:
	ldr	r2, [fp, #-312]
	ldr	r3, [fp, #-284]
	cmp	r2, r3
	ble	.L936
	mov	r3, #0
	str	r3, [fp, #-300]
	mov	r3, #0
	str	r3, [fp, #-304]
	mov	r3, #0
	str	r3, [fp, #-312]
	b	.L937
.L938:
	ldr	r3, [fp, #-312]
	and	r1, r3, #255
	sub	r2, fp, #280
	ldr	r3, [fp, #-312]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-312]
	add	r3, r3, #1
	str	r3, [fp, #-312]
.L937:
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #84]
	ldr	r2, [fp, #-312]
	cmp	r2, r3
	blt	.L938
	mov	r3, #0
	str	r3, [fp, #-312]
	b	.L939
.L951:
	ldr	r3, [fp, #-312]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-296]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-308]
	ldr	r3, [fp, #-308]
	cmp	r3, #0
	bge	.L940
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #68]
	ldr	r2, [fp, #-308]
	add	r3, r2, r3
	str	r3, [fp, #-308]
.L940:
	ldr	r3, [fp, #-308]
	ldr	r2, [fp, #-292]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-320]
	add	r3, r3, r2
	ldrb	r3, [r3, #344]
	strb	r3, [fp, #-313]
	ldrb	r3, [fp, #-280]	@ zero_extendqisi2
	ldrb	r2, [fp, #-313]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L941
	ldr	r3, [fp, #-304]
	add	r3, r3, #1
	str	r3, [fp, #-304]
	b	.L942
.L941:
	ldr	r3, [fp, #-304]
	cmp	r3, #0
	ble	.L943
	ldr	r3, [fp, #-304]
	sub	r3, r3, #1
	str	r3, [fp, #-304]
.L948:
	ldr	r3, [fp, #-304]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L944
	ldr	r3, [fp, #-300]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-288]
	add	r3, r2, r3
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-300]
	add	r3, r3, #1
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #636]
	add	r2, r3, #1
	ldr	r3, [fp, #-320]
	str	r2, [r3, #636]
	b	.L945
.L944:
	ldr	r3, [fp, #-300]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-288]
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-300]
	add	r3, r3, #1
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #632]
	add	r2, r3, #1
	ldr	r3, [fp, #-320]
	str	r2, [r3, #632]
.L945:
	ldr	r3, [fp, #-304]
	cmp	r3, #1
	ble	.L961
	ldr	r3, [fp, #-304]
	sub	r3, r3, #2
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-304]
	b	.L948
.L961:
	nop
	mov	r3, #0
	str	r3, [fp, #-304]
.L943:
	ldrb	r5, [fp, #-279]	@ zero_extendqisi2
	ldrb	r3, [fp, #-280]	@ zero_extendqisi2
	strb	r3, [fp, #-279]
	sub	r3, fp, #280
	add	r4, r3, #1
	ldrb	r6, [fp, #-313]	@ zero_extendqisi2
	b	.L949
.L950:
	add	r4, r4, #1
	mov	r7, r5
	ldrb	r5, [r4]	@ zero_extendqisi2
	mov	r3, r7
	strb	r3, [r4]
.L949:
	cmp	r6, r5
	bne	.L950
	mov	r3, r5
	strb	r3, [fp, #-280]
	sub	r3, fp, #280
	sub	r3, r4, r3
	str	r3, [fp, #-308]
	ldr	r3, [fp, #-308]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-300]
	lsl	r3, r3, #1
	ldr	r1, [fp, #-288]
	add	r3, r1, r3
	add	r2, r2, #1
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-300]
	add	r3, r3, #1
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-308]
	add	r3, r3, #1
	ldr	r2, [fp, #-320]
	add	r1, r3, #158
	ldr	r2, [r2, r1, lsl #2]
	add	r1, r2, #1
	ldr	r2, [fp, #-320]
	add	r3, r3, #158
	str	r1, [r2, r3, lsl #2]
.L942:
	ldr	r3, [fp, #-312]
	add	r3, r3, #1
	str	r3, [fp, #-312]
.L939:
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #68]
	ldr	r2, [fp, #-312]
	cmp	r2, r3
	blt	.L951
	ldr	r3, [fp, #-304]
	cmp	r3, #0
	ble	.L952
	ldr	r3, [fp, #-304]
	sub	r3, r3, #1
	str	r3, [fp, #-304]
.L957:
	ldr	r3, [fp, #-304]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L953
	ldr	r3, [fp, #-300]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-288]
	add	r3, r2, r3
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-300]
	add	r3, r3, #1
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #636]
	add	r2, r3, #1
	ldr	r3, [fp, #-320]
	str	r2, [r3, #636]
	b	.L954
.L953:
	ldr	r3, [fp, #-300]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-288]
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-300]
	add	r3, r3, #1
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-320]
	ldr	r3, [r3, #632]
	add	r2, r3, #1
	ldr	r3, [fp, #-320]
	str	r2, [r3, #632]
.L954:
	ldr	r3, [fp, #-304]
	cmp	r3, #1
	ble	.L962
	ldr	r3, [fp, #-304]
	sub	r3, r3, #2
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-304]
	b	.L957
.L962:
	nop
	mov	r3, #0
	str	r3, [fp, #-304]
.L952:
	ldr	r3, [fp, #-300]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-288]
	add	r3, r2, r3
	ldr	r2, [fp, #-284]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-300]
	add	r3, r3, #1
	str	r3, [fp, #-300]
	ldr	r3, [fp, #-320]
	ldr	r2, [fp, #-284]
	add	r2, r2, #158
	ldr	r3, [r3, r2, lsl #2]
	add	r1, r3, #1
	ldr	r3, [fp, #-320]
	ldr	r2, [fp, #-284]
	add	r2, r2, #158
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-320]
	ldr	r2, [fp, #-300]
	str	r2, [r3, #628]
	nop
	ldr	r3, .L963
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L958
	bl	__stack_chk_fail
.L958:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L964:
	.align	2
.L963:
	.word	.LC21
	.size	generateMTFValues, .-generateMTFValues
	.section	.rodata
	.align	2
.LC22:
	.ascii	"      %d in block, %d after MTF & 1-2 coding, %d+2 "
	.ascii	"syms in use\012\000"
	.global	__aeabi_idiv
	.align	2
.LC23:
	.ascii	"      pass %d: size is %d, grp uses are \000"
	.align	2
.LC24:
	.ascii	"%d \000"
	.align	2
.LC25:
	.ascii	"\012\000"
	.align	2
.LC26:
	.ascii	"      bytes: mapping %d, \000"
	.align	2
.LC27:
	.ascii	"selectors %d, \000"
	.align	2
.LC28:
	.ascii	"code lengths %d, \000"
	.align	2
.LC29:
	.ascii	"codes %d\012\000"
	.align	2
.LC30:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sendMTFValues, %function
sendMTFValues:
	@ args = 0, pretend = 0, frame = 176
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #184
	str	r0, [fp, #-192]
	ldr	r3, .L1087
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #40]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #616]
	cmp	r3, #2
	ble	.L966
	ldr	r3, [fp, #-192]
	ldr	r1, [r3, #68]
	ldr	r3, [fp, #-192]
	ldr	r2, [r3, #628]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #84]
	ldr	r0, .L1087+4
	bl	vex_printf
.L966:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #84]
	add	r3, r3, #2
	str	r3, [fp, #-96]
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L967
.L970:
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L968
.L969:
	ldr	r1, [fp, #-192]
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-176]
	add	r3, r2, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	mov	r2, #15
	strb	r2, [r3]
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L968:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L969
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L967:
	ldr	r3, [fp, #-172]
	cmp	r3, #5
	ble	.L970
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	cmp	r3, #0
	bgt	.L971
	ldr	r0, .L1087+8
	bl	bz_internal_error
.L971:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	cmp	r3, #199
	bgt	.L972
	mov	r3, #2
	str	r3, [fp, #-120]
	b	.L973
.L972:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	cmp	r3, #600
	bge	.L974
	mov	r3, #3
	str	r3, [fp, #-120]
	b	.L973
.L974:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	cmp	r3, #1200
	bge	.L975
	mov	r3, #4
	str	r3, [fp, #-120]
	b	.L973
.L975:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	cmp	r3, #2400
	bge	.L976
	mov	r3, #5
	str	r3, [fp, #-120]
	b	.L973
.L976:
	mov	r3, #6
	str	r3, [fp, #-120]
.L973:
	ldr	r3, [fp, #-120]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	str	r3, [fp, #-112]
	mov	r3, #0
	str	r3, [fp, #-160]
	b	.L977
.L986:
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-160]
	sub	r3, r3, #1
	str	r3, [fp, #-156]
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L978
.L980:
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-156]
	add	r2, r2, #158
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	str	r3, [fp, #-108]
.L978:
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	bge	.L979
	ldr	r3, [fp, #-96]
	sub	r3, r3, #1
	ldr	r2, [fp, #-156]
	cmp	r2, r3
	blt	.L980
.L979:
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	ble	.L981
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	beq	.L981
	ldr	r3, [fp, #-116]
	cmp	r3, #1
	beq	.L981
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-116]
	sub	r3, r2, r3
	cmp	r3, #0
	and	r3, r3, #1
	rsblt	r3, r3, #0
	cmp	r3, #1
	bne	.L981
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-156]
	add	r2, r2, #158
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-108]
	sub	r3, r2, r3
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-156]
	sub	r3, r3, #1
	str	r3, [fp, #-156]
.L981:
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L982
.L985:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	blt	.L983
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	bgt	.L983
	ldr	r3, [fp, #-116]
	sub	r2, r3, #1
	ldr	r1, [fp, #-192]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-176]
	add	r3, r2, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	mov	r2, #0
	strb	r2, [r3]
	b	.L984
.L983:
	ldr	r3, [fp, #-116]
	sub	r2, r3, #1
	ldr	r1, [fp, #-192]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-176]
	add	r3, r2, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	mov	r2, #15
	strb	r2, [r3]
.L984:
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L982:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L985
	ldr	r3, [fp, #-116]
	sub	r3, r3, #1
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-160]
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	sub	r3, r2, r3
	str	r3, [fp, #-112]
.L977:
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bgt	.L986
	mov	r3, #0
	str	r3, [fp, #-140]
	b	.L987
.L1021:
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L988
.L989:
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #2
	sub	r2, fp, #20
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-44]
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L988:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	blt	.L989
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L990
.L993:
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L991
.L992:
	ldr	r1, [fp, #-192]
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	ldr	r2, [fp, #-176]
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	mov	r2, #0
	str	r2, [r1, r3, lsl #2]
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L991:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L992
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L990:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	blt	.L993
	ldr	r3, [fp, #-120]
	cmp	r3, #6
	bne	.L994
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L995
.L996:
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-176]
	add	r3, r2, r3
	add	r3, r3, #37888
	add	r3, r3, #38
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r2, r3, #16
	ldr	r1, [fp, #-192]
	ldr	r3, [fp, #-176]
	add	r3, r1, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-176]
	add	r3, r3, #3216
	add	r3, r3, #9
	str	r1, [r2, r3, lsl #4]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-176]
	add	r3, r2, r3
	add	r3, r3, #38400
	add	r3, r3, #42
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r2, r3, #16
	ldr	r1, [fp, #-192]
	ldr	r3, [fp, #-176]
	add	r3, r1, r3
	add	r3, r3, #38144
	add	r3, r3, #40
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	str	r1, [r3]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-176]
	add	r3, r2, r3
	add	r3, r3, #38912
	add	r3, r3, #46
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r2, r3, #16
	ldr	r1, [fp, #-192]
	ldr	r3, [fp, #-176]
	add	r3, r1, r3
	add	r3, r3, #38656
	add	r3, r3, #44
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	str	r1, [r3]
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L995:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L996
.L994:
	mov	r3, #0
	str	r3, [fp, #-136]
	mov	r3, #0
	str	r3, [fp, #-152]
	mov	r3, #0
	str	r3, [fp, #-160]
.L1015:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	ldr	r2, [fp, #-160]
	cmp	r2, r3
	bge	.L1084
	ldr	r3, [fp, #-160]
	add	r3, r3, #49
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	ldr	r2, [fp, #-156]
	cmp	r2, r3
	blt	.L999
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	sub	r3, r3, #1
	str	r3, [fp, #-156]
.L999:
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L1000
.L1088:
	.align	2
.L1087:
	.word	.LC30
	.word	.LC22
	.word	3001
.L1001:
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #1
	sub	r2, fp, #20
	add	r3, r2, r3
	sub	r3, r3, #56
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L1000:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	blt	.L1001
	ldr	r3, [fp, #-120]
	cmp	r3, #6
	bne	.L1002
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-160]
	sub	r3, r2, r3
	cmp	r3, #49
	bne	.L1002
	mov	r4, #0
	mov	r5, r4
	mov	r6, r5
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #2
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #3
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #4
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #5
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #6
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #7
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #8
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #9
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #10
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #11
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #12
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #13
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #14
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #15
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #16
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #17
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #18
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #19
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #20
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #21
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #22
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #23
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #24
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #25
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #26
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #27
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #28
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #29
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #30
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #31
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #32
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #33
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #34
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #35
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #36
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #37
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #38
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #39
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #40
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #41
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #42
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #43
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #44
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #45
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #46
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #47
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #48
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	ldr	r3, [fp, #-160]
	add	r3, r3, #49
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r7, [r3]
	mov	r3, r7
	ldr	r2, [fp, #-192]
	add	r3, r3, #3216
	add	r3, r3, #9
	ldr	r3, [r2, r3, lsl #4]
	add	r6, r6, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #148
	ldr	r3, [r3]
	add	r5, r5, r3
	mov	r3, r7
	ldr	r2, [fp, #-192]
	lsl	r3, r3, #4
	add	r3, r2, r3
	add	r3, r3, #51456
	add	r3, r3, #152
	ldr	r3, [r3]
	add	r4, r4, r3
	lsl	r3, r6, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-76]	@ movhi
	lsr	r3, r6, #16
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-74]	@ movhi
	lsl	r3, r5, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-72]	@ movhi
	lsr	r3, r5, #16
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-70]	@ movhi
	lsl	r3, r4, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-68]	@ movhi
	lsr	r3, r4, #16
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-66]	@ movhi
	b	.L1003
.L1002:
	ldr	r3, [fp, #-160]
	str	r3, [fp, #-168]
	b	.L1004
.L1007:
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-178]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L1005
.L1006:
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #1
	sub	r2, fp, #20
	add	r3, r2, r3
	sub	r3, r3, #56
	ldrh	r1, [r3]
	ldrh	r0, [fp, #-178]
	ldr	ip, [fp, #-192]
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, ip, r3
	add	r3, r3, r0
	add	r3, r3, #37632
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r1, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #1
	sub	r1, fp, #20
	add	r3, r1, r3
	sub	r3, r3, #56
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L1005:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	blt	.L1006
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1004:
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	ble	.L1007
.L1003:
	ldr	r3, .L1089
	str	r3, [fp, #-144]
	mvn	r3, #0
	str	r3, [fp, #-148]
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L1008
.L1090:
	.align	2
.L1089:
	.word	999999999
.L1010:
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #1
	sub	r2, fp, #20
	add	r3, r2, r3
	sub	r3, r3, #56
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-144]
	cmp	r3, r2
	ble	.L1009
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #1
	sub	r2, fp, #20
	add	r3, r2, r3
	sub	r3, r3, #56
	ldrh	r3, [r3]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-172]
	str	r3, [fp, #-148]
.L1009:
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L1008:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	blt	.L1010
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-144]
	add	r3, r2, r3
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #2
	sub	r2, fp, #20
	add	r3, r2, r3
	ldr	r3, [r3, #-44]
	add	r2, r3, #1
	ldr	r3, [fp, #-148]
	lsl	r3, r3, #2
	sub	r1, fp, #20
	add	r3, r1, r3
	str	r2, [r3, #-44]
	ldr	r3, [fp, #-148]
	and	r1, r3, #255
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-136]
	add	r3, r2, r3
	add	r3, r3, #1664
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-120]
	cmp	r3, #6
	bne	.L1011
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-160]
	sub	r3, r2, r3
	cmp	r3, #49
	bne	.L1011
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #2
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #3
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #4
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #5
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #6
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #7
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #8
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #9
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #10
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #11
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #12
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #13
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #14
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #15
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #16
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #17
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #18
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #19
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #20
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #21
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #22
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #23
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #24
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #25
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #26
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #27
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #28
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #29
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #30
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #31
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #32
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #33
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #34
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #35
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #36
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #37
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #38
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #39
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #40
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #41
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #42
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #43
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #44
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #45
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #46
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #47
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #48
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-160]
	add	r3, r3, #49
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	b	.L1012
.L1011:
	ldr	r3, [fp, #-160]
	str	r3, [fp, #-168]
	b	.L1013
.L1014:
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	ldr	r3, [r0, r3, lsl #2]
	add	ip, r3, #1
	ldr	r0, [fp, #-192]
	ldr	r1, [fp, #-148]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #11328
	add	r3, r3, #24
	str	ip, [r0, r3, lsl #2]
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1013:
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	ble	.L1014
.L1012:
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-160]
	b	.L1015
.L1084:
	nop
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #616]
	cmp	r3, #2
	ble	.L1016
	ldr	r3, [fp, #-140]
	add	r1, r3, #1
	ldr	r3, [fp, #-152]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	mov	r2, r3
	ldr	r0, .L1091
	bl	vex_printf
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L1017
.L1018:
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #2
	sub	r2, fp, #20
	add	r3, r2, r3
	ldr	r3, [r3, #-44]
	mov	r1, r3
	ldr	r0, .L1091+4
	bl	vex_printf
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L1017:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	blt	.L1018
	ldr	r0, .L1091+8
	bl	vex_printf
.L1016:
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L1019
.L1020:
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #37632
	add	r3, r3, #32
	ldr	r2, [fp, #-192]
	add	r3, r2, r3
	add	r0, r3, #4
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #45312
	add	r3, r3, #96
	ldr	r2, [fp, #-192]
	add	r1, r2, r3
	mov	r3, #17
	ldr	r2, [fp, #-96]
	bl	BZ2_hbMakeCodeLengths
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L1019:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	blt	.L1020
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
.L987:
	ldr	r3, [fp, #-140]
	cmp	r3, #3
	ble	.L1021
	ldr	r3, [fp, #-120]
	cmp	r3, #7
	ble	.L1022
	ldr	r0, .L1091+12
	bl	bz_internal_error
.L1022:
	ldr	r3, [fp, #-136]
	cmp	r3, #32768
	bge	.L1023
	ldr	r3, [fp, #-136]
	ldr	r2, .L1091+16
	cmp	r3, r2
	ble	.L1024
.L1023:
	ldr	r0, .L1091+20
	bl	bz_internal_error
.L1024:
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L1025
.L1026:
	ldr	r3, [fp, #-168]
	and	r1, r3, #255
	sub	r2, fp, #40
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1025:
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	blt	.L1026
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L1027
.L1030:
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	add	r3, r3, #1664
	ldrb	r3, [r3]
	strb	r3, [fp, #-182]
	mov	r3, #0
	str	r3, [fp, #-164]
	sub	r2, fp, #40
	ldr	r3, [fp, #-164]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-183]
	b	.L1028
.L1029:
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	str	r3, [fp, #-164]
	ldrb	r3, [fp, #-183]
	strb	r3, [fp, #-181]
	sub	r2, fp, #40
	ldr	r3, [fp, #-164]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-183]
	sub	r2, fp, #40
	ldr	r3, [fp, #-164]
	add	r3, r2, r3
	ldrb	r2, [fp, #-181]
	strb	r2, [r3]
.L1028:
	ldrb	r2, [fp, #-182]	@ zero_extendqisi2
	ldrb	r3, [fp, #-183]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L1029
	ldrb	r3, [fp, #-183]
	strb	r3, [fp, #-40]
	ldr	r3, [fp, #-164]
	and	r1, r3, #255
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	add	r3, r3, #19456
	add	r3, r3, #210
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1027:
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L1030
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L1031
.L1038:
	mov	r3, #32
	str	r3, [fp, #-132]
	mov	r3, #0
	str	r3, [fp, #-128]
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L1032
.L1035:
	ldr	r1, [fp, #-192]
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-128]
	cmp	r3, r2
	bge	.L1033
	ldr	r1, [fp, #-192]
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-128]
.L1033:
	ldr	r1, [fp, #-192]
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-132]
	cmp	r3, r2
	ble	.L1034
	ldr	r1, [fp, #-192]
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-132]
.L1034:
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1032:
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L1035
	ldr	r3, [fp, #-128]
	cmp	r3, #17
	ble	.L1036
	ldr	r0, .L1091+24
	bl	bz_internal_error
.L1036:
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	bgt	.L1037
	ldr	r0, .L1091+28
	bl	bz_internal_error
.L1037:
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #39168
	add	r3, r3, #48
	ldr	r2, [fp, #-192]
	add	r0, r2, r3
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #37632
	add	r3, r3, #32
	ldr	r2, [fp, #-192]
	add	r3, r2, r3
	add	r1, r3, #4
	ldr	r3, [fp, #-96]
	str	r3, [sp]
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-132]
	bl	BZ2_hbAssignCodes
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L1031:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	blt	.L1038
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L1039
.L1043:
	sub	r2, fp, #40
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-164]
	b	.L1040
.L1042:
	ldr	r3, [fp, #-168]
	lsl	r2, r3, #4
	ldr	r3, [fp, #-164]
	add	r3, r2, r3
	ldr	r2, [fp, #-192]
	add	r3, r2, r3
	ldrb	r3, [r3, #88]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1041
	sub	r2, fp, #40
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
.L1041:
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	str	r3, [fp, #-164]
.L1040:
	ldr	r3, [fp, #-164]
	cmp	r3, #15
	ble	.L1042
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1039:
	ldr	r3, [fp, #-168]
	cmp	r3, #15
	ble	.L1043
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #76]
	str	r3, [fp, #-92]
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L1044
.L1047:
	sub	r2, fp, #40
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1045
	mov	r2, #1
	mov	r1, #1
	ldr	r0, [fp, #-192]
	bl	bsW
	b	.L1046
.L1045:
	mov	r2, #0
	mov	r1, #1
	ldr	r0, [fp, #-192]
	bl	bsW
.L1046:
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1044:
	ldr	r3, [fp, #-168]
	cmp	r3, #15
	ble	.L1047
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L1048
.L1054:
	sub	r2, fp, #40
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1049
	mov	r3, #0
	str	r3, [fp, #-164]
	b	.L1050
.L1053:
	ldr	r3, [fp, #-168]
	lsl	r2, r3, #4
	ldr	r3, [fp, #-164]
	add	r3, r2, r3
	ldr	r2, [fp, #-192]
	add	r3, r2, r3
	ldrb	r3, [r3, #88]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1051
	mov	r2, #1
	mov	r1, #1
	ldr	r0, [fp, #-192]
	bl	bsW
	b	.L1052
.L1051:
	mov	r2, #0
	mov	r1, #1
	ldr	r0, [fp, #-192]
	bl	bsW
.L1052:
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	str	r3, [fp, #-164]
.L1050:
	ldr	r3, [fp, #-164]
	cmp	r3, #15
	ble	.L1053
.L1049:
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1048:
	ldr	r3, [fp, #-168]
	cmp	r3, #15
	ble	.L1054
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #616]
	cmp	r3, #2
	ble	.L1055
	ldr	r3, [fp, #-192]
	ldr	r2, [r3, #76]
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L1091+32
	bl	vex_printf
.L1055:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #76]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-120]
	mov	r2, r3
	mov	r1, #3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-136]
	mov	r2, r3
	mov	r1, #15
	ldr	r0, [fp, #-192]
	bl	bsW
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L1056
.L1059:
	mov	r3, #0
	str	r3, [fp, #-164]
	b	.L1057
.L1058:
	mov	r2, #1
	mov	r1, #1
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	str	r3, [fp, #-164]
.L1057:
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	add	r3, r3, #19456
	add	r3, r3, #210
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-164]
	cmp	r3, r2
	blt	.L1058
	mov	r2, #0
	mov	r1, #1
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1056:
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L1059
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #616]
	cmp	r3, #2
	ble	.L1060
	ldr	r3, [fp, #-192]
	ldr	r2, [r3, #76]
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L1091+36
	bl	vex_printf
.L1060:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #76]
	str	r3, [fp, #-92]
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L1061
.L1068:
	ldr	r1, [fp, #-192]
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r1, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	mov	r2, r3
	mov	r1, #5
	ldr	r0, [fp, #-192]
	bl	bsW
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L1062
.L1064:
	mov	r2, #2
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L1063:
	ldr	r1, [fp, #-192]
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-104]
	cmp	r3, r2
	blt	.L1064
	b	.L1065
.L1092:
	.align	2
.L1091:
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	3002
	.word	18002
	.word	3003
	.word	3004
	.word	3005
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	3006
.L1066:
	mov	r2, #3
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-104]
	sub	r3, r3, #1
	str	r3, [fp, #-104]
.L1065:
	ldr	r1, [fp, #-192]
	ldr	r2, [fp, #-172]
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	add	r3, r3, #37632
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-104]
	cmp	r3, r2
	bgt	.L1066
	mov	r2, #0
	mov	r1, #1
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1062:
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L1063
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L1061:
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-120]
	cmp	r2, r3
	blt	.L1068
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #616]
	cmp	r3, #2
	ble	.L1069
	ldr	r3, [fp, #-192]
	ldr	r2, [r3, #76]
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L1091+40
	bl	vex_printf
.L1069:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #76]
	str	r3, [fp, #-92]
	mov	r3, #0
	str	r3, [fp, #-124]
	mov	r3, #0
	str	r3, [fp, #-160]
.L1078:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	ldr	r2, [fp, #-160]
	cmp	r2, r3
	bge	.L1085
	ldr	r3, [fp, #-160]
	add	r3, r3, #49
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	ldr	r2, [fp, #-156]
	cmp	r2, r3
	blt	.L1072
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #628]
	sub	r3, r3, #1
	str	r3, [fp, #-156]
.L1072:
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	add	r3, r3, #1664
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-120]
	cmp	r3, r2
	bgt	.L1073
	ldr	r0, .L1091+44
	bl	bz_internal_error
.L1073:
	ldr	r3, [fp, #-120]
	cmp	r3, #6
	bne	.L1074
	ldr	r2, [fp, #-156]
	ldr	r3, [fp, #-160]
	sub	r3, r2, r3
	cmp	r3, #49
	bne	.L1074
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	add	r3, r3, #1664
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #37632
	add	r3, r3, #32
	ldr	r2, [fp, #-192]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	add	r3, r3, #1664
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #7
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, #39168
	add	r3, r3, #48
	ldr	r2, [fp, #-192]
	add	r3, r2, r3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #2
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #3
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #4
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #5
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #6
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #7
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #8
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #9
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #10
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #11
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #12
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #13
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #14
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #15
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #16
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #17
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #18
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #19
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #20
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #21
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #22
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #23
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #24
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #25
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #26
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #27
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #28
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #29
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #30
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #31
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #32
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #33
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #34
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #35
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #36
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #37
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #38
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #39
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #40
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #41
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #42
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #43
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #44
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #45
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #46
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #47
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #48
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-160]
	add	r3, r3, #49
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-180]	@ movhi
	ldrh	r3, [fp, #-180]
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrh	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-192]
	bl	bsW
	b	.L1075
.L1074:
	ldr	r3, [fp, #-160]
	str	r3, [fp, #-168]
	b	.L1076
.L1077:
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	add	r3, r3, #1664
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r0, r3
	ldr	r2, [fp, #-192]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r2, r3
	add	r3, r3, r0
	add	r3, r3, #37632
	add	r3, r3, #36
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	ip, r3
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	add	r3, r3, #1664
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r0, r3
	ldr	r2, [fp, #-192]
	mov	r3, r1
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r0
	add	r3, r3, #9792
	add	r3, r3, #12
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	mov	r1, ip
	ldr	r0, [fp, #-192]
	bl	bsW
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
.L1076:
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	ble	.L1077
.L1075:
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
	b	.L1078
.L1085:
	nop
	ldr	r2, [fp, #-124]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	beq	.L1079
	ldr	r0, .L1093
	bl	bz_internal_error
.L1079:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #616]
	cmp	r3, #2
	ble	.L1086
	ldr	r3, [fp, #-192]
	ldr	r2, [r3, #76]
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L1093+4
	bl	vex_printf
.L1086:
	nop
	ldr	r3, .L1093+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1081
	bl	__stack_chk_fail
.L1081:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L1094:
	.align	2
.L1093:
	.word	3007
	.word	.LC29
	.word	.LC30
	.size	sendMTFValues, .-sendMTFValues
	.section	.rodata
	.align	2
.LC31:
	.ascii	"    block %d: crc = 0x%08x, combined CRC = 0x%08x, "
	.ascii	"size = %d\012\000"
	.align	2
.LC32:
	.ascii	"    final combined CRC = 0x%08x\012   \000"
	.text
	.align	2
	.global	BZ2_compressBlock
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_compressBlock, %function
BZ2_compressBlock:
	@ 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]
	mov	r3, r1
	strb	r3, [fp, #-9]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	ble	.L1096
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #608]
	mvn	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #608]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #612]
	ror	r2, r3, #31
	ldr	r3, [fp, #-8]
	str	r2, [r3, #612]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #612]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #608]
	eor	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #612]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #620]
	cmp	r3, #1
	ble	.L1097
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #76]
.L1097:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #616]
	cmp	r3, #1
	ble	.L1098
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #620]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #608]
	ldr	r3, [fp, #-8]
	ldr	r0, [r3, #612]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #68]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L1104
	bl	vex_printf
.L1098:
	ldr	r0, [fp, #-8]
	bl	BZ2_blockSort
.L1096:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #68]
	add	r2, r3, r2
	ldr	r3, [fp, #-8]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #620]
	cmp	r3, #1
	bne	.L1099
	ldr	r0, [fp, #-8]
	bl	BZ2_bsInitWrite
	mov	r1, #66
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #90
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #104
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #624]
	and	r3, r3, #255
	add	r3, r3, #48
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
.L1099:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #68]
	cmp	r3, #0
	ble	.L1100
	mov	r1, #49
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #65
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #89
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #38
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #83
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #89
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #608]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	bsPutUInt32
	mov	r2, #0
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	bsW
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	mov	r2, r3
	mov	r1, #24
	ldr	r0, [fp, #-8]
	bl	bsW
	ldr	r0, [fp, #-8]
	bl	generateMTFValues
	ldr	r0, [fp, #-8]
	bl	sendMTFValues
.L1100:
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1103
	mov	r1, #23
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #114
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #69
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #56
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #80
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	mov	r1, #144
	ldr	r0, [fp, #-8]
	bl	bsPutUChar
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #612]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	bsPutUInt32
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #616]
	cmp	r3, #1
	ble	.L1102
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #612]
	mov	r1, r3
	ldr	r0, .L1104+4
	bl	vex_printf
.L1102:
	ldr	r0, [fp, #-8]
	bl	bsFinishWrite
.L1103:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1105:
	.align	2
.L1104:
	.word	.LC31
	.word	.LC32
	.size	BZ2_compressBlock, .-BZ2_compressBlock
	.global	BZ2_rNums
	.data
	.align	2
	.type	BZ2_rNums, %object
	.size	BZ2_rNums, 2048
BZ2_rNums:
	.word	619
	.word	720
	.word	127
	.word	481
	.word	931
	.word	816
	.word	813
	.word	233
	.word	566
	.word	247
	.word	985
	.word	724
	.word	205
	.word	454
	.word	863
	.word	491
	.word	741
	.word	242
	.word	949
	.word	214
	.word	733
	.word	859
	.word	335
	.word	708
	.word	621
	.word	574
	.word	73
	.word	654
	.word	730
	.word	472
	.word	419
	.word	436
	.word	278
	.word	496
	.word	867
	.word	210
	.word	399
	.word	680
	.word	480
	.word	51
	.word	878
	.word	465
	.word	811
	.word	169
	.word	869
	.word	675
	.word	611
	.word	697
	.word	867
	.word	561
	.word	862
	.word	687
	.word	507
	.word	283
	.word	482
	.word	129
	.word	807
	.word	591
	.word	733
	.word	623
	.word	150
	.word	238
	.word	59
	.word	379
	.word	684
	.word	877
	.word	625
	.word	169
	.word	643
	.word	105
	.word	170
	.word	607
	.word	520
	.word	932
	.word	727
	.word	476
	.word	693
	.word	425
	.word	174
	.word	647
	.word	73
	.word	122
	.word	335
	.word	530
	.word	442
	.word	853
	.word	695
	.word	249
	.word	445
	.word	515
	.word	909
	.word	545
	.word	703
	.word	919
	.word	874
	.word	474
	.word	882
	.word	500
	.word	594
	.word	612
	.word	641
	.word	801
	.word	220
	.word	162
	.word	819
	.word	984
	.word	589
	.word	513
	.word	495
	.word	799
	.word	161
	.word	604
	.word	958
	.word	533
	.word	221
	.word	400
	.word	386
	.word	867
	.word	600
	.word	782
	.word	382
	.word	596
	.word	414
	.word	171
	.word	516
	.word	375
	.word	682
	.word	485
	.word	911
	.word	276
	.word	98
	.word	553
	.word	163
	.word	354
	.word	666
	.word	933
	.word	424
	.word	341
	.word	533
	.word	870
	.word	227
	.word	730
	.word	475
	.word	186
	.word	263
	.word	647
	.word	537
	.word	686
	.word	600
	.word	224
	.word	469
	.word	68
	.word	770
	.word	919
	.word	190
	.word	373
	.word	294
	.word	822
	.word	808
	.word	206
	.word	184
	.word	943
	.word	795
	.word	384
	.word	383
	.word	461
	.word	404
	.word	758
	.word	839
	.word	887
	.word	715
	.word	67
	.word	618
	.word	276
	.word	204
	.word	918
	.word	873
	.word	777
	.word	604
	.word	560
	.word	951
	.word	160
	.word	578
	.word	722
	.word	79
	.word	804
	.word	96
	.word	409
	.word	713
	.word	940
	.word	652
	.word	934
	.word	970
	.word	447
	.word	318
	.word	353
	.word	859
	.word	672
	.word	112
	.word	785
	.word	645
	.word	863
	.word	803
	.word	350
	.word	139
	.word	93
	.word	354
	.word	99
	.word	820
	.word	908
	.word	609
	.word	772
	.word	154
	.word	274
	.word	580
	.word	184
	.word	79
	.word	626
	.word	630
	.word	742
	.word	653
	.word	282
	.word	762
	.word	623
	.word	680
	.word	81
	.word	927
	.word	626
	.word	789
	.word	125
	.word	411
	.word	521
	.word	938
	.word	300
	.word	821
	.word	78
	.word	343
	.word	175
	.word	128
	.word	250
	.word	170
	.word	774
	.word	972
	.word	275
	.word	999
	.word	639
	.word	495
	.word	78
	.word	352
	.word	126
	.word	857
	.word	956
	.word	358
	.word	619
	.word	580
	.word	124
	.word	737
	.word	594
	.word	701
	.word	612
	.word	669
	.word	112
	.word	134
	.word	694
	.word	363
	.word	992
	.word	809
	.word	743
	.word	168
	.word	974
	.word	944
	.word	375
	.word	748
	.word	52
	.word	600
	.word	747
	.word	642
	.word	182
	.word	862
	.word	81
	.word	344
	.word	805
	.word	988
	.word	739
	.word	511
	.word	655
	.word	814
	.word	334
	.word	249
	.word	515
	.word	897
	.word	955
	.word	664
	.word	981
	.word	649
	.word	113
	.word	974
	.word	459
	.word	893
	.word	228
	.word	433
	.word	837
	.word	553
	.word	268
	.word	926
	.word	240
	.word	102
	.word	654
	.word	459
	.word	51
	.word	686
	.word	754
	.word	806
	.word	760
	.word	493
	.word	403
	.word	415
	.word	394
	.word	687
	.word	700
	.word	946
	.word	670
	.word	656
	.word	610
	.word	738
	.word	392
	.word	760
	.word	799
	.word	887
	.word	653
	.word	978
	.word	321
	.word	576
	.word	617
	.word	626
	.word	502
	.word	894
	.word	679
	.word	243
	.word	440
	.word	680
	.word	879
	.word	194
	.word	572
	.word	640
	.word	724
	.word	926
	.word	56
	.word	204
	.word	700
	.word	707
	.word	151
	.word	457
	.word	449
	.word	797
	.word	195
	.word	791
	.word	558
	.word	945
	.word	679
	.word	297
	.word	59
	.word	87
	.word	824
	.word	713
	.word	663
	.word	412
	.word	693
	.word	342
	.word	606
	.word	134
	.word	108
	.word	571
	.word	364
	.word	631
	.word	212
	.word	174
	.word	643
	.word	304
	.word	329
	.word	343
	.word	97
	.word	430
	.word	751
	.word	497
	.word	314
	.word	983
	.word	374
	.word	822
	.word	928
	.word	140
	.word	206
	.word	73
	.word	263
	.word	980
	.word	736
	.word	876
	.word	478
	.word	430
	.word	305
	.word	170
	.word	514
	.word	364
	.word	692
	.word	829
	.word	82
	.word	855
	.word	953
	.word	676
	.word	246
	.word	369
	.word	970
	.word	294
	.word	750
	.word	807
	.word	827
	.word	150
	.word	790
	.word	288
	.word	923
	.word	804
	.word	378
	.word	215
	.word	828
	.word	592
	.word	281
	.word	565
	.word	555
	.word	710
	.word	82
	.word	896
	.word	831
	.word	547
	.word	261
	.word	524
	.word	462
	.word	293
	.word	465
	.word	502
	.word	56
	.word	661
	.word	821
	.word	976
	.word	991
	.word	658
	.word	869
	.word	905
	.word	758
	.word	745
	.word	193
	.word	768
	.word	550
	.word	608
	.word	933
	.word	378
	.word	286
	.word	215
	.word	979
	.word	792
	.word	961
	.word	61
	.word	688
	.word	793
	.word	644
	.word	986
	.word	403
	.word	106
	.word	366
	.word	905
	.word	644
	.word	372
	.word	567
	.word	466
	.word	434
	.word	645
	.word	210
	.word	389
	.word	550
	.word	919
	.word	135
	.word	780
	.word	773
	.word	635
	.word	389
	.word	707
	.word	100
	.word	626
	.word	958
	.word	165
	.word	504
	.word	920
	.word	176
	.word	193
	.word	713
	.word	857
	.word	265
	.word	203
	.word	50
	.word	668
	.word	108
	.word	645
	.word	990
	.word	626
	.word	197
	.word	510
	.word	357
	.word	358
	.word	850
	.word	858
	.word	364
	.word	936
	.word	638
	.global	BZ2_crc32Table
	.align	2
	.type	BZ2_crc32Table, %object
	.size	BZ2_crc32Table, 1024
BZ2_crc32Table:
	.word	0
	.word	79764919
	.word	159529838
	.word	222504665
	.word	319059676
	.word	398814059
	.word	445009330
	.word	507990021
	.word	638119352
	.word	583659535
	.word	797628118
	.word	726387553
	.word	890018660
	.word	835552979
	.word	1015980042
	.word	944750013
	.word	1276238704
	.word	1221641927
	.word	1167319070
	.word	1095957929
	.word	1595256236
	.word	1540665371
	.word	1452775106
	.word	1381403509
	.word	1780037320
	.word	1859660671
	.word	1671105958
	.word	1733955601
	.word	2031960084
	.word	2111593891
	.word	1889500026
	.word	1952343757
	.word	-1742489888
	.word	-1662866601
	.word	-1851683442
	.word	-1788833735
	.word	-1960329156
	.word	-1880695413
	.word	-2103051438
	.word	-2040207643
	.word	-1104454824
	.word	-1159051537
	.word	-1213636554
	.word	-1284997759
	.word	-1389417084
	.word	-1444007885
	.word	-1532160278
	.word	-1603531939
	.word	-734892656
	.word	-789352409
	.word	-575645954
	.word	-646886583
	.word	-952755380
	.word	-1007220997
	.word	-827056094
	.word	-898286187
	.word	-231047128
	.word	-151282273
	.word	-71779514
	.word	-8804623
	.word	-515967244
	.word	-436212925
	.word	-390279782
	.word	-327299027
	.word	881225847
	.word	809987520
	.word	1023691545
	.word	969234094
	.word	662832811
	.word	591600412
	.word	771767749
	.word	717299826
	.word	311336399
	.word	374308984
	.word	453813921
	.word	533576470
	.word	25881363
	.word	88864420
	.word	134795389
	.word	214552010
	.word	2023205639
	.word	2086057648
	.word	1897238633
	.word	1976864222
	.word	1804852699
	.word	1867694188
	.word	1645340341
	.word	1724971778
	.word	1587496639
	.word	1516133128
	.word	1461550545
	.word	1406951526
	.word	1302016099
	.word	1230646740
	.word	1142491917
	.word	1087903418
	.word	-1398421865
	.word	-1469785312
	.word	-1524105735
	.word	-1578704818
	.word	-1079922613
	.word	-1151291908
	.word	-1239184603
	.word	-1293773166
	.word	-1968362705
	.word	-1905510760
	.word	-2094067647
	.word	-2014441994
	.word	-1716953613
	.word	-1654112188
	.word	-1876203875
	.word	-1796572374
	.word	-525066777
	.word	-462094256
	.word	-382327159
	.word	-302564546
	.word	-206542021
	.word	-143559028
	.word	-97365931
	.word	-17609246
	.word	-960696225
	.word	-1031934488
	.word	-817968335
	.word	-872425850
	.word	-709327229
	.word	-780559564
	.word	-600130067
	.word	-654598054
	.word	1762451694
	.word	1842216281
	.word	1619975040
	.word	1682949687
	.word	2047383090
	.word	2127137669
	.word	1938468188
	.word	2001449195
	.word	1325665622
	.word	1271206113
	.word	1183200824
	.word	1111960463
	.word	1543535498
	.word	1489069629
	.word	1434599652
	.word	1363369299
	.word	622672798
	.word	568075817
	.word	748617968
	.word	677256519
	.word	907627842
	.word	853037301
	.word	1067152940
	.word	995781531
	.word	51762726
	.word	131386257
	.word	177728840
	.word	240578815
	.word	269590778
	.word	349224269
	.word	429104020
	.word	491947555
	.word	-248556018
	.word	-168932423
	.word	-122852000
	.word	-60002089
	.word	-500490030
	.word	-420856475
	.word	-341238852
	.word	-278395381
	.word	-685261898
	.word	-739858943
	.word	-559578920
	.word	-630940305
	.word	-1004286614
	.word	-1058877219
	.word	-845023740
	.word	-916395085
	.word	-1119974018
	.word	-1174433591
	.word	-1262701040
	.word	-1333941337
	.word	-1371866206
	.word	-1426332139
	.word	-1481064244
	.word	-1552294533
	.word	-1690935098
	.word	-1611170447
	.word	-1833673816
	.word	-1770699233
	.word	-2009983462
	.word	-1930228819
	.word	-2119160460
	.word	-2056179517
	.word	1569362073
	.word	1498123566
	.word	1409854455
	.word	1355396672
	.word	1317987909
	.word	1246755826
	.word	1192025387
	.word	1137557660
	.word	2072149281
	.word	2135122070
	.word	1912620623
	.word	1992383480
	.word	1753615357
	.word	1816598090
	.word	1627664531
	.word	1707420964
	.word	295390185
	.word	358241886
	.word	404320391
	.word	483945776
	.word	43990325
	.word	106832002
	.word	186451547
	.word	266083308
	.word	932423249
	.word	861060070
	.word	1041341759
	.word	986742920
	.word	613929101
	.word	542559546
	.word	756411363
	.word	701822548
	.word	-978770311
	.word	-1050133554
	.word	-869589737
	.word	-924188512
	.word	-693284699
	.word	-764654318
	.word	-550540341
	.word	-605129092
	.word	-475935807
	.word	-413084042
	.word	-366743377
	.word	-287118056
	.word	-257573603
	.word	-194731862
	.word	-114850189
	.word	-35218492
	.word	-1984365303
	.word	-1921392450
	.word	-2143631769
	.word	-2063868976
	.word	-1698919467
	.word	-1635936670
	.word	-1824608069
	.word	-1744851700
	.word	-1347415887
	.word	-1418654458
	.word	-1506661409
	.word	-1561119128
	.word	-1129027987
	.word	-1200260134
	.word	-1254728445
	.word	-1309196108
	.section	.rodata
	.align	2
.LC33:
	.ascii	"BZ2_bz__AssertH__fail(%d) called, exiting\012\000"
	.text
	.align	2
	.global	BZ2_bz__AssertH__fail
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bz__AssertH__fail, %function
BZ2_bz__AssertH__fail:
	@ 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]
	ldr	r0, .L1107
	bl	vex_printf
	ldr	r3, .L1107+4
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, #0
	blx	r3
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1108:
	.align	2
.L1107:
	.word	.LC33
	.word	serviceFn
	.size	BZ2_bz__AssertH__fail, .-BZ2_bz__AssertH__fail
	.section	.rodata
	.align	2
.LC34:
	.ascii	"bz_internal_error called, exiting\012\000"
	.text
	.align	2
	.global	bz_internal_error
	.syntax unified
	.arm
	.fpu softvfp
	.type	bz_internal_error, %function
bz_internal_error:
	@ 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]
	ldr	r0, .L1110
	bl	vex_printf
	ldr	r3, .L1110+4
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, #0
	blx	r3
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1111:
	.align	2
.L1110:
	.word	.LC34
	.word	serviceFn
	.size	bz_internal_error, .-bz_internal_error
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bz_config_ok, %function
bz_config_ok:
	@ 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
	mov	r3, #1
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	bz_config_ok, .-bz_config_ok
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	default_bzalloc, %function
default_bzalloc:
	@ 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]
	ldr	r3, .L1116
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	mul	r2, r1, r2
	mov	r1, r2
	mov	r0, #2
	blx	r3
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1117:
	.align	2
.L1116:
	.word	serviceFn
	.size	default_bzalloc, .-default_bzalloc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	default_bzfree, %function
default_bzfree:
	@ 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	.L1120
	ldr	r3, .L1121
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	mov	r1, r2
	mov	r0, #3
	blx	r3
.L1120:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1122:
	.align	2
.L1121:
	.word	serviceFn
	.size	default_bzfree, .-default_bzfree
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	prepare_new_block, %function
prepare_new_block:
	@ 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]
	mov	r2, #0
	str	r2, [r3, #68]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #76]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #80]
	ldr	r3, [fp, #-16]
	mvn	r2, #0
	str	r2, [r3, #608]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1124
.L1125:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #88
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1124:
	ldr	r3, [fp, #-8]
	cmp	r3, #255
	ble	.L1125
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #620]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #620]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	prepare_new_block, .-prepare_new_block
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	init_RL, %function
init_RL:
	@ 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]
	mov	r2, #256
	str	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #56]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	init_RL, .-init_RL
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isempty_RL, %function
isempty_RL:
	@ 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, #52]
	cmp	r3, #255
	bhi	.L1128
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	ble	.L1128
	mov	r3, #0
	b	.L1129
.L1128:
	mov	r3, #1
.L1129:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	isempty_RL, .-isempty_RL
	.align	2
	.global	BZ2_bzCompressInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bzCompressInit, %function
BZ2_bzCompressInit:
	@ 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]
	bl	bz_config_ok
	mov	r3, r0
	cmp	r3, #0
	bne	.L1131
	mvn	r3, #8
	b	.L1132
.L1131:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1133
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L1133
	ldr	r3, [fp, #-20]
	cmp	r3, #9
	bgt	.L1133
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L1133
	ldr	r3, [fp, #-28]
	cmp	r3, #250
	ble	.L1134
.L1133:
	mvn	r3, #1
	b	.L1132
.L1134:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1135
	mov	r3, #30
	str	r3, [fp, #-28]
.L1135:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L1136
	ldr	r3, [fp, #-16]
	ldr	r2, .L1145
	str	r2, [r3, #36]
.L1136:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	bne	.L1137
	ldr	r3, [fp, #-16]
	ldr	r2, .L1145+4
	str	r2, [r3, #40]
.L1137:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	mov	r2, #1
	ldr	r1, .L1145+8
	blx	r3
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1138
	mvn	r3, #2
	b	.L1132
.L1138:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1145+12
	mul	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-8]
	lsl	r2, r2, #2
	mov	r1, r2
	mov	r2, #1
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-8]
	add	r2, r2, #34
	lsl	r2, r2, #2
	mov	r1, r2
	mov	r2, #1
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	mov	r2, #1
	ldr	r1, .L1145+16
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1139
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1139
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L1140
.L1139:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1141
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2, #16]
	mov	r1, r2
	blx	r3
.L1141:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1142
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2, #20]
	mov	r1, r2
	blx	r3
.L1142:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1143
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2, #24]
	mov	r1, r2
	blx	r3
.L1143:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1144
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #44]
	ldr	r1, [fp, #-12]
	mov	r0, r2
	blx	r3
.L1144:
	mvn	r3, #2
	b	.L1132
.L1140:
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #620]
	ldr	r3, [fp, #-12]
	mov	r2, #2
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	mov	r2, #2
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #612]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #624]
	ldr	r3, [fp, #-20]
	ldr	r2, .L1145+12
	mul	r3, r2, r3
	sub	r2, r3, #19
	ldr	r3, [fp, #-12]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #616]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #44]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r0, [fp, #-12]
	bl	init_RL
	ldr	r0, [fp, #-12]
	bl	prepare_new_block
	mov	r3, #0
.L1132:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1146:
	.align	2
.L1145:
	.word	default_bzalloc
	.word	default_bzfree
	.word	55728
	.word	100000
	.word	262148
	.size	BZ2_bzCompressInit, .-BZ2_bzCompressInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_pair_to_block, %function
add_pair_to_block:
	@ 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, #52]
	strb	r3, [fp, #-9]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1148
.L1149:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #608]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #608]
	lsr	r1, r3, #24
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	eor	r3, r3, r1
	ldr	r1, .L1155
	ldr	r3, [r1, r3, lsl #2]
	eor	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #608]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1148:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L1149
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #88]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	cmp	r3, #3
	beq	.L1150
	cmp	r3, #3
	bgt	.L1151
	cmp	r3, #1
	beq	.L1152
	cmp	r3, #2
	beq	.L1153
	b	.L1151
.L1152:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	b	.L1154
.L1153:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	b	.L1154
.L1150:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	b	.L1154
.L1151:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	sub	r3, r3, #4
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #88]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-9]
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r1, [fp, #-16]
	ldr	r1, [r1, #68]
	add	r3, r3, r1
	sub	r2, r2, #4
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #68]
	nop
.L1154:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1156:
	.align	2
.L1155:
	.word	BZ2_crc32Table
	.size	add_pair_to_block, .-add_pair_to_block
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	flush_RL, %function
flush_RL:
	@ 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]
	ldr	r3, [r3, #52]
	cmp	r3, #255
	bhi	.L1158
	ldr	r0, [fp, #-8]
	bl	add_pair_to_block
.L1158:
	ldr	r0, [fp, #-8]
	bl	init_RL
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	flush_RL, .-flush_RL
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	copy_input_until_stop, %function
copy_input_until_stop:
	@ 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, #-24]
	mov	r3, #0
	strb	r3, [fp, #-15]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1160
.L1170:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #72]
	cmp	r2, r3
	bge	.L1182
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1183
	mov	r3, #1
	strb	r3, [fp, #-15]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L1164
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	cmp	r3, #1
	bne	.L1164
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #608]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #608]
	lsr	r1, r3, #24
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	eor	r3, r3, r1
	ldr	r1, .L1187
	ldr	r3, [r1, r3, lsl #2]
	eor	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #608]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #88]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-13]
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #52]
	b	.L1165
.L1164:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L1166
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	cmp	r3, #255
	bne	.L1167
.L1166:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	cmp	r3, #255
	bhi	.L1168
	ldr	r0, [fp, #-24]
	bl	add_pair_to_block
.L1168:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #56]
	b	.L1165
.L1167:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #56]
.L1165:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1170
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
	b	.L1170
.L1160:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #72]
	cmp	r2, r3
	bge	.L1184
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1185
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1186
	mov	r3, #1
	strb	r3, [fp, #-15]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L1175
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	cmp	r3, #1
	bne	.L1175
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	strb	r3, [fp, #-14]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #608]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #608]
	lsr	r1, r3, #24
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	eor	r3, r3, r1
	ldr	r1, .L1187
	ldr	r3, [r1, r3, lsl #2]
	eor	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #608]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #88]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #68]
	add	r3, r3, r2
	ldrb	r2, [fp, #-14]
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #68]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #52]
	b	.L1176
.L1175:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L1177
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	cmp	r3, #255
	bne	.L1178
.L1177:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #52]
	cmp	r3, #255
	bhi	.L1179
	ldr	r0, [fp, #-24]
	bl	add_pair_to_block
.L1179:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #56]
	b	.L1176
.L1178:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #56]
.L1176:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	sub	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1180
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	add	r2, r2, #1
	str	r2, [r3, #12]
.L1180:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	b	.L1160
.L1182:
	nop
	b	.L1171
.L1183:
	nop
	b	.L1171
.L1184:
	nop
	b	.L1171
.L1185:
	nop
	b	.L1171
.L1186:
	nop
.L1171:
	ldrb	r3, [fp, #-15]	@ zero_extendqisi2
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1188:
	.align	2
.L1187:
	.word	BZ2_crc32Table
	.size	copy_input_until_stop, .-copy_input_until_stop
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	copy_output_until_stop, %function
copy_output_until_stop:
	@ 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
	strb	r3, [fp, #-5]
.L1194:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1196
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #76]
	cmp	r2, r3
	bge	.L1197
	mov	r3, #1
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #80]
	add	r2, r3, r2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #80]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #80]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	sub	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	add	r2, r2, #1
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	add	r2, r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L1194
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #28]
	add	r2, r2, #1
	str	r2, [r3, #28]
	b	.L1194
.L1196:
	nop
	b	.L1191
.L1197:
	nop
.L1191:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	copy_output_until_stop, .-copy_output_until_stop
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	handle_compress, %function
handle_compress:
	@ 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]
	mov	r3, #0
	strb	r3, [fp, #-10]
	mov	r3, #0
	strb	r3, [fp, #-9]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
.L1206:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L1199
	ldr	r0, [fp, #-8]
	bl	copy_output_until_stop
	mov	r3, r0
	mov	r2, r3
	ldrb	r3, [fp, #-9]
	orr	r3, r2, r3
	strb	r3, [fp, #-9]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #76]
	cmp	r2, r3
	blt	.L1211
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #4
	bne	.L1202
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1202
	ldr	r0, [fp, #-8]
	bl	isempty_RL
	mov	r3, r0
	cmp	r3, #0
	bne	.L1212
.L1202:
	ldr	r0, [fp, #-8]
	bl	prepare_new_block
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bne	.L1199
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1199
	ldr	r0, [fp, #-8]
	bl	isempty_RL
	mov	r3, r0
	cmp	r3, #0
	bne	.L1213
.L1199:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L1206
	ldr	r0, [fp, #-8]
	bl	copy_input_until_stop
	mov	r3, r0
	mov	r2, r3
	ldrb	r3, [fp, #-10]
	orr	r3, r2, r3
	strb	r3, [fp, #-10]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	beq	.L1204
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1204
	ldr	r0, [fp, #-8]
	bl	flush_RL
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #4
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	BZ2_compressBlock
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #8]
	b	.L1203
.L1204:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #72]
	cmp	r2, r3
	blt	.L1205
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	BZ2_compressBlock
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #8]
	b	.L1206
.L1205:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1214
.L1203:
	b	.L1206
.L1211:
	nop
	b	.L1201
.L1212:
	nop
	b	.L1201
.L1213:
	nop
	b	.L1201
.L1214:
	nop
.L1201:
	ldrb	r3, [fp, #-10]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1207
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1208
.L1207:
	mov	r3, #1
	b	.L1209
.L1208:
	mov	r3, #0
.L1209:
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	handle_compress, .-handle_compress
	.align	2
	.global	BZ2_bzCompress
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bzCompress, %function
BZ2_bzCompress:
	@ 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	.L1216
	mvn	r3, #1
	b	.L1217
.L1216:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1218
	mvn	r3, #1
	b	.L1217
.L1218:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L1240
	mvn	r3, #1
	b	.L1217
.L1240:
	nop
.L1219:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L1220
.L1222:
	.word	.L1225
	.word	.L1224
	.word	.L1223
	.word	.L1221
.L1225:
	mvn	r3, #0
	b	.L1217
.L1224:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1226
	ldr	r0, [fp, #-16]
	bl	handle_compress
	mov	r3, r0
	strb	r3, [fp, #-9]
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1227
	mov	r3, #1
	b	.L1217
.L1227:
	mvn	r3, #1
	b	.L1217
.L1226:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L1229
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #3
	str	r2, [r3, #4]
	b	.L1219
.L1229:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L1230
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #4
	str	r2, [r3, #4]
	b	.L1219
.L1230:
	mvn	r3, #1
	b	.L1217
.L1223:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L1231
	mvn	r3, #0
	b	.L1217
.L1231:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	beq	.L1232
	mvn	r3, #0
	b	.L1217
.L1232:
	ldr	r0, [fp, #-16]
	bl	handle_compress
	mov	r3, r0
	strb	r3, [fp, #-9]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1233
	ldr	r0, [fp, #-8]
	bl	isempty_RL
	mov	r3, r0
	cmp	r3, #0
	beq	.L1233
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #76]
	cmp	r2, r3
	bge	.L1234
.L1233:
	mov	r3, #2
	b	.L1217
.L1234:
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #4]
	mov	r3, #1
	b	.L1217
.L1221:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L1235
	mvn	r3, #0
	b	.L1217
.L1235:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	beq	.L1236
	mvn	r3, #0
	b	.L1217
.L1236:
	ldr	r0, [fp, #-16]
	bl	handle_compress
	mov	r3, r0
	strb	r3, [fp, #-9]
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1237
	mvn	r3, #0
	b	.L1217
.L1237:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1238
	ldr	r0, [fp, #-8]
	bl	isempty_RL
	mov	r3, r0
	cmp	r3, #0
	beq	.L1238
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #76]
	cmp	r2, r3
	bge	.L1239
.L1238:
	mov	r3, #3
	b	.L1217
.L1239:
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #4]
	mov	r3, #4
	b	.L1217
.L1220:
	mov	r3, #0
.L1217:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BZ2_bzCompress, .-BZ2_bzCompress
	.align	2
	.global	BZ2_bzCompressEnd
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bzCompressEnd, %function
BZ2_bzCompressEnd:
	@ 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]
	cmp	r3, #0
	bne	.L1242
	mvn	r3, #1
	b	.L1243
.L1242:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1244
	mvn	r3, #1
	b	.L1243
.L1244:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L1245
	mvn	r3, #1
	b	.L1243
.L1245:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1246
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #16]
	mov	r1, r2
	blx	r3
.L1246:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1247
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #20]
	mov	r1, r2
	blx	r3
.L1247:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1248
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #24]
	mov	r1, r2
	blx	r3
.L1248:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #32]
	mov	r1, r2
	blx	r3
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #32]
	mov	r3, #0
.L1243:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BZ2_bzCompressEnd, .-BZ2_bzCompressEnd
	.align	2
	.global	BZ2_bzDecompressInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bzDecompressInit, %function
BZ2_bzDecompressInit:
	@ 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]
	bl	bz_config_ok
	mov	r3, r0
	cmp	r3, #0
	bne	.L1250
	mvn	r3, #8
	b	.L1251
.L1250:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1252
	mvn	r3, #1
	b	.L1251
.L1252:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1253
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	beq	.L1253
	mvn	r3, #1
	b	.L1251
.L1253:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L1254
	ldr	r3, [fp, #-20]
	cmp	r3, #4
	ble	.L1255
.L1254:
	mvn	r3, #1
	b	.L1251
.L1255:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L1256
	ldr	r3, [fp, #-16]
	ldr	r2, .L1259
	str	r2, [r3, #36]
.L1256:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	bne	.L1257
	ldr	r3, [fp, #-16]
	ldr	r2, .L1259+4
	str	r2, [r3, #40]
.L1257:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	mov	r2, #1
	ldr	r1, .L1259+8
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1258
	mvn	r3, #2
	b	.L1251
.L1258:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	mov	r2, #10
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #3172]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-24]
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #3156]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #3152]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #3148]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #44]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #48]
	mov	r3, #0
.L1251:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1260:
	.align	2
.L1259:
	.word	default_bzalloc
	.word	default_bzfree
	.word	64116
	.size	BZ2_bzDecompressInit, .-BZ2_bzDecompressInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	unRLE_obuf_to_output_FAST, %function
unRLE_obuf_to_output_FAST:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #60
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1262
.L1268:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1263
	mov	r3, #0
	b	.L1264
.L1263:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1302
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-56]
	ldrb	r2, [r2, #8]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #3168]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #3168]
	lsr	r3, r3, #24
	ldr	r1, [fp, #-56]
	ldrb	r1, [r1, #8]	@ zero_extendqisi2
	eor	r3, r3, r1
	ldr	r1, .L1311
	ldr	r3, [r1, r3, lsl #2]
	eor	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #3168]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	add	r2, r2, #1
	str	r2, [r3, #16]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	sub	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	add	r2, r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L1268
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #28]
	add	r2, r2, #1
	str	r2, [r3, #28]
	b	.L1268
.L1302:
	nop
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-56]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	bne	.L1269
	mov	r3, #0
	b	.L1264
.L1269:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-56]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	ble	.L1270
	mov	r3, #1
	b	.L1264
.L1270:
	ldr	r3, [fp, #-56]
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #60]
	and	r2, r3, #255
	ldr	r3, [fp, #-56]
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1271
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	ldr	r2, .L1311+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L1271
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #24]
.L1271:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldrsb	r3, [fp, #-49]
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-56]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L1303
	ldrb	r2, [fp, #-49]	@ zero_extendqisi2
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	beq	.L1274
	ldrb	r2, [fp, #-49]	@ zero_extendqisi2
	ldr	r3, [fp, #-56]
	str	r2, [r3, #60]
	b	.L1273
.L1274:
	ldr	r3, [fp, #-56]
	mov	r2, #2
	str	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1275
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	ldr	r2, .L1311+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L1275
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #24]
.L1275:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldrsb	r3, [fp, #-49]
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-56]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L1304
	ldrb	r2, [fp, #-49]	@ zero_extendqisi2
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	beq	.L1277
	ldrb	r2, [fp, #-49]	@ zero_extendqisi2
	ldr	r3, [fp, #-56]
	str	r2, [r3, #60]
	b	.L1273
.L1277:
	ldr	r3, [fp, #-56]
	mov	r2, #3
	str	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1278
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	ldr	r2, .L1311+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L1278
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #24]
.L1278:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldrsb	r3, [fp, #-49]
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-56]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L1305
	ldrb	r2, [fp, #-49]	@ zero_extendqisi2
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	beq	.L1280
	ldrb	r2, [fp, #-49]	@ zero_extendqisi2
	ldr	r3, [fp, #-56]
	str	r2, [r3, #60]
	b	.L1273
.L1280:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1281
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	ldr	r2, .L1311+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L1281
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #24]
.L1281:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldrsb	r3, [fp, #-49]
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #1088]
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	add	r2, r3, #4
	ldr	r3, [fp, #-56]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #3148]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1282
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	ldr	r2, .L1311+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L1282
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #24]
.L1282:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-56]
	ldr	r2, [r2, #20]
	cmp	r2, #1
	moveq	r2, #1
	movne	r2, #0
	and	r2, r2, #255
	eor	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #1088]
	b	.L1268
.L1303:
	nop
	b	.L1268
.L1304:
	nop
	b	.L1268
.L1305:
	nop
.L1273:
	b	.L1268
.L1262:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #3168]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3, #8]
	strb	r3, [fp, #-50]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #1088]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #60]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #3148]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-56]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1299:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	ble	.L1283
.L1288:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1306
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	beq	.L1307
	ldr	r3, [fp, #-28]
	ldrb	r2, [fp, #-50]
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-48]
	lsr	r1, r3, #24
	ldrb	r3, [fp, #-50]	@ zero_extendqisi2
	eor	r3, r3, r1
	ldr	r1, .L1311
	ldr	r3, [r1, r3, lsl #2]
	eor	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L1288
.L1307:
	nop
	b	.L1287
.L1308:
	nop
.L1287:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1289
	mov	r3, #1
	str	r3, [fp, #-44]
	b	.L1285
.L1289:
	ldr	r3, [fp, #-28]
	ldrb	r2, [fp, #-50]
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-48]
	lsr	r1, r3, #24
	ldrb	r3, [fp, #-50]	@ zero_extendqisi2
	eor	r3, r3, r1
	ldr	r1, .L1311
	ldr	r3, [r1, r3, lsl #2]
	eor	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
.L1283:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	ble	.L1290
	mov	r3, #1
	b	.L1264
.L1290:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bne	.L1291
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L1285
.L1291:
	ldr	r3, [fp, #-36]
	strb	r3, [fp, #-50]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	beq	.L1292
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	str	r3, [fp, #-36]
	b	.L1287
.L1292:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L1308
	mov	r3, #2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L1309
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	beq	.L1296
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	str	r3, [fp, #-36]
	b	.L1295
.L1296:
	mov	r3, #3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L1310
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	beq	.L1298
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	str	r3, [fp, #-36]
	b	.L1295
.L1298:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	add	r3, r3, #4
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	and	r3, r3, #255
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L1299
.L1309:
	nop
	b	.L1299
.L1310:
	nop
.L1295:
	b	.L1299
.L1306:
	nop
.L1285:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r1, [r3, #24]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	sub	r2, r2, r3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	add	r2, r1, r2
	str	r2, [r3, #24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bls	.L1300
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #28]
	add	r2, r2, #1
	str	r2, [r3, #28]
.L1300:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-48]
	str	r2, [r3, #3168]
	ldr	r3, [fp, #-56]
	ldrb	r2, [fp, #-50]
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-40]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #3148]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #20]
	mov	r3, #0
.L1264:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1312:
	.align	2
.L1311:
	.word	BZ2_crc32Table
	.word	BZ2_rNums
	.size	unRLE_obuf_to_output_FAST, .-unRLE_obuf_to_output_FAST
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	unRLE_obuf_to_output_SMALL, %function
unRLE_obuf_to_output_SMALL:
	@ 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]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1314
.L1320:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1315
	mov	r3, #0
	b	.L1316
.L1315:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1350
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	ldrb	r2, [r2, #8]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #3168]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #3168]
	lsr	r3, r3, #24
	ldr	r1, [fp, #-16]
	ldrb	r1, [r1, #8]	@ zero_extendqisi2
	eor	r3, r3, r1
	ldr	r1, .L1358
	ldr	r3, [r1, r3, lsl #2]
	eor	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #3168]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	add	r2, r2, #1
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	sub	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	add	r2, r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L1320
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #28]
	add	r2, r2, #1
	str	r2, [r3, #28]
	b	.L1320
.L1350:
	nop
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	bne	.L1321
	mov	r3, #0
	b	.L1316
.L1321:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	ble	.L1322
	mov	r3, #1
	b	.L1316
.L1322:
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1323
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	ldr	r2, .L1358+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L1323
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #24]
.L1323:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldrsb	r3, [fp, #-5]
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L1351
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	beq	.L1326
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
	b	.L1325
.L1326:
	ldr	r3, [fp, #-16]
	mov	r2, #2
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1327
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	ldr	r2, .L1358+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L1327
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #24]
.L1327:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldrsb	r3, [fp, #-5]
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L1352
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	beq	.L1329
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
	b	.L1325
.L1329:
	ldr	r3, [fp, #-16]
	mov	r2, #3
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1330
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	ldr	r2, .L1358+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L1330
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #24]
.L1330:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldrsb	r3, [fp, #-5]
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L1353
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	beq	.L1332
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
	b	.L1325
.L1332:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1333
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	ldr	r2, .L1358+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L1333
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #24]
.L1333:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldrsb	r3, [fp, #-5]
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1088]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	add	r2, r3, #4
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1334
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	ldr	r2, .L1358+4
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #24]
	cmp	r3, #512
	bne	.L1334
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #24]
.L1334:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #20]
	cmp	r2, #1
	moveq	r2, #1
	movne	r2, #0
	and	r2, r2, #255
	eor	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1088]
	b	.L1320
.L1351:
	nop
	b	.L1320
.L1352:
	nop
	b	.L1320
.L1353:
	nop
.L1325:
	b	.L1320
.L1314:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1335
	mov	r3, #0
	b	.L1316
.L1335:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1354
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	ldrb	r2, [r2, #8]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #3168]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #3168]
	lsr	r3, r3, #24
	ldr	r1, [fp, #-16]
	ldrb	r1, [r1, #8]	@ zero_extendqisi2
	eor	r3, r3, r1
	ldr	r1, .L1358
	ldr	r3, [r1, r3, lsl #2]
	eor	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #3168]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	add	r2, r2, #1
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #20]
	sub	r2, r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #24]
	add	r2, r2, #1
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L1314
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #28]
	add	r2, r2, #1
	str	r2, [r3, #28]
	b	.L1314
.L1354:
	nop
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	bne	.L1339
	mov	r3, #0
	b	.L1316
.L1339:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	ble	.L1340
	mov	r3, #1
	b	.L1316
.L1340:
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L1355
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	beq	.L1343
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
	b	.L1342
.L1343:
	ldr	r3, [fp, #-16]
	mov	r2, #2
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L1356
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	beq	.L1345
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
	b	.L1342
.L1345:
	ldr	r3, [fp, #-16]
	mov	r2, #3
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-16]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L1357
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	beq	.L1347
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
	b	.L1342
.L1347:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1088]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	add	r2, r3, #4
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, #1088
	add	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	BZ2_indexIntoF
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3152]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #3156]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsr	r3, r3, #1
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	lsl	r3, r3, #2
	and	r3, r3, #4
	lsr	r3, r2, r3
	lsl	r3, r3, #16
	and	r3, r3, #983040
	orr	r2, r1, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #1088]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #1088]
	b	.L1314
.L1355:
	nop
	b	.L1314
.L1356:
	nop
	b	.L1314
.L1357:
	nop
.L1342:
	b	.L1314
.L1316:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1359:
	.align	2
.L1358:
	.word	BZ2_crc32Table
	.word	BZ2_rNums
	.size	unRLE_obuf_to_output_SMALL, .-unRLE_obuf_to_output_SMALL
	.section	.rodata
	.align	2
.LC35:
	.ascii	" {0x%08x, 0x%08x}\000"
	.align	2
.LC36:
	.ascii	"]\000"
	.align	2
.LC37:
	.ascii	"\012    combined CRCs: stored = 0x%08x, computed = "
	.ascii	"0x%08x\000"
	.text
	.align	2
	.global	BZ2_bzDecompress
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bzDecompress, %function
BZ2_bzDecompress:
	@ 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, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1361
	mvn	r3, #1
	b	.L1362
.L1361:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1363
	mvn	r3, #1
	b	.L1362
.L1363:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L1364
	mvn	r3, #1
	b	.L1362
.L1364:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	bne	.L1365
	mvn	r3, #0
	b	.L1362
.L1365:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L1366
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3, #40]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1367
	ldr	r0, [fp, #-12]
	bl	unRLE_obuf_to_output_SMALL
	mov	r3, r0
	strb	r3, [fp, #-13]
	b	.L1368
.L1367:
	ldr	r0, [fp, #-12]
	bl	unRLE_obuf_to_output_FAST
	mov	r3, r0
	strb	r3, [fp, #-13]
.L1368:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1369
	mvn	r3, #3
	b	.L1362
.L1369:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #1088]
	ldr	r3, [fp, #-12]
	add	r3, r3, #61440
	ldr	r3, [r3, #2624]
	add	r3, r3, #1
	cmp	r2, r3
	bne	.L1370
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1370
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #3168]
	mvn	r2, r3
	ldr	r3, [fp, #-12]
	str	r2, [r3, #3168]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #48]
	cmp	r3, #2
	ble	.L1371
	ldr	r3, [fp, #-12]
	ldr	r1, [r3, #3160]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #3168]
	mov	r2, r3
	ldr	r0, .L1378
	bl	vex_printf
.L1371:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #48]
	cmp	r3, #1
	ble	.L1372
	ldr	r0, .L1378+4
	bl	vex_printf
.L1372:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #3168]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #3160]
	cmp	r2, r3
	beq	.L1373
	mvn	r3, #3
	b	.L1362
.L1373:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #3172]
	ror	r2, r3, #31
	ldr	r3, [fp, #-12]
	str	r2, [r3, #3172]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #3172]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #3168]
	eor	r2, r2, r3
	ldr	r3, [fp, #-12]
	str	r2, [r3, #3172]
	ldr	r3, [fp, #-12]
	mov	r2, #14
	str	r2, [r3, #4]
	b	.L1366
.L1370:
	mov	r3, #0
	b	.L1362
.L1366:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #9
	ble	.L1364
	ldr	r0, [fp, #-12]
	bl	BZ2_decompress
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L1375
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #48]
	cmp	r3, #2
	ble	.L1376
	ldr	r3, [fp, #-12]
	ldr	r1, [r3, #3164]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #3172]
	mov	r2, r3
	ldr	r0, .L1378+8
	bl	vex_printf
.L1376:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #3172]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #3164]
	cmp	r2, r3
	beq	.L1377
	mvn	r3, #3
	b	.L1362
.L1377:
	ldr	r3, [fp, #-8]
	b	.L1362
.L1375:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	beq	.L1364
	ldr	r3, [fp, #-8]
.L1362:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1379:
	.align	2
.L1378:
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.size	BZ2_bzDecompress, .-BZ2_bzDecompress
	.align	2
	.global	BZ2_bzDecompressEnd
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bzDecompressEnd, %function
BZ2_bzDecompressEnd:
	@ 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]
	cmp	r3, #0
	bne	.L1381
	mvn	r3, #1
	b	.L1382
.L1381:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1383
	mvn	r3, #1
	b	.L1382
.L1383:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L1384
	mvn	r3, #1
	b	.L1382
.L1384:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #3148]
	cmp	r3, #0
	beq	.L1385
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #3148]
	mov	r1, r2
	blx	r3
.L1385:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #3152]
	cmp	r3, #0
	beq	.L1386
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #3152]
	mov	r1, r2
	blx	r3
.L1386:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #3156]
	cmp	r3, #0
	beq	.L1387
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #3156]
	mov	r1, r2
	blx	r3
.L1387:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #44]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #32]
	mov	r1, r2
	blx	r3
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #32]
	mov	r3, #0
.L1382:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BZ2_bzDecompressEnd, .-BZ2_bzDecompressEnd
	.section	.rodata
	.align	2
.LC38:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	BZ2_bzBuffToBuffCompress
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bzBuffToBuffCompress, %function
BZ2_bzBuffToBuffCompress:
	@ args = 12, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, .L1404
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L1389
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L1389
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L1389
	ldr	r3, [fp, #4]
	cmp	r3, #0
	ble	.L1389
	ldr	r3, [fp, #4]
	cmp	r3, #9
	bgt	.L1389
	ldr	r3, [fp, #8]
	cmp	r3, #0
	blt	.L1389
	ldr	r3, [fp, #8]
	cmp	r3, #4
	bgt	.L1389
	ldr	r3, [fp, #12]
	cmp	r3, #0
	blt	.L1389
	ldr	r3, [fp, #12]
	cmp	r3, #250
	ble	.L1390
.L1389:
	mvn	r3, #1
	b	.L1398
.L1390:
	ldr	r3, [fp, #12]
	cmp	r3, #0
	bne	.L1392
	mov	r3, #30
	str	r3, [fp, #12]
.L1392:
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	sub	r0, fp, #56
	ldr	r3, [fp, #12]
	ldr	r2, [fp, #8]
	ldr	r1, [fp, #4]
	bl	BZ2_bzCompressInit
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L1393
	ldr	r3, [fp, #-60]
	b	.L1398
.L1393:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	sub	r3, fp, #56
	mov	r1, #2
	mov	r0, r3
	bl	BZ2_bzCompress
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #3
	beq	.L1402
	ldr	r3, [fp, #-60]
	cmp	r3, #4
	bne	.L1403
	ldr	r3, [fp, #-68]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	sub	r2, r2, r3
	ldr	r3, [fp, #-68]
	str	r2, [r3]
	sub	r3, fp, #56
	mov	r0, r3
	bl	BZ2_bzCompressEnd
	mov	r3, #0
	b	.L1398
.L1402:
	nop
.L1395:
	sub	r3, fp, #56
	mov	r0, r3
	bl	BZ2_bzCompressEnd
	mvn	r3, #7
	b	.L1398
.L1403:
	nop
.L1397:
	sub	r3, fp, #56
	mov	r0, r3
	bl	BZ2_bzCompressEnd
	ldr	r3, [fp, #-60]
.L1398:
	ldr	r2, .L1404
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1399
	bl	__stack_chk_fail
.L1399:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1405:
	.align	2
.L1404:
	.word	.LC38
	.size	BZ2_bzBuffToBuffCompress, .-BZ2_bzBuffToBuffCompress
	.section	.rodata
	.align	2
.LC39:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	BZ2_bzBuffToBuffDecompress
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bzBuffToBuffDecompress, %function
BZ2_bzBuffToBuffDecompress:
	@ args = 8, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, .L1423
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L1407
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L1407
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L1407
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L1408
	ldr	r3, [fp, #4]
	cmp	r3, #1
	bne	.L1407
.L1408:
	ldr	r3, [fp, #8]
	cmp	r3, #0
	blt	.L1407
	ldr	r3, [fp, #8]
	cmp	r3, #4
	ble	.L1409
.L1407:
	mvn	r3, #1
	b	.L1417
.L1409:
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	sub	r3, fp, #56
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #8]
	mov	r0, r3
	bl	BZ2_bzDecompressInit
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L1411
	ldr	r3, [fp, #-60]
	b	.L1417
.L1411:
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	sub	r3, fp, #56
	mov	r0, r3
	bl	BZ2_bzDecompress
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L1421
	ldr	r3, [fp, #-60]
	cmp	r3, #4
	bne	.L1422
	ldr	r3, [fp, #-68]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	sub	r2, r2, r3
	ldr	r3, [fp, #-68]
	str	r2, [r3]
	sub	r3, fp, #56
	mov	r0, r3
	bl	BZ2_bzDecompressEnd
	mov	r3, #0
	b	.L1417
.L1421:
	nop
.L1413:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L1416
	sub	r3, fp, #56
	mov	r0, r3
	bl	BZ2_bzDecompressEnd
	mvn	r3, #6
	b	.L1417
.L1416:
	sub	r3, fp, #56
	mov	r0, r3
	bl	BZ2_bzDecompressEnd
	mvn	r3, #7
	b	.L1417
.L1422:
	nop
.L1415:
	sub	r3, fp, #56
	mov	r0, r3
	bl	BZ2_bzDecompressEnd
	ldr	r3, [fp, #-60]
.L1417:
	ldr	r2, .L1423
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1418
	bl	__stack_chk_fail
.L1418:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1424:
	.align	2
.L1423:
	.word	.LC39
	.size	BZ2_bzBuffToBuffDecompress, .-BZ2_bzBuffToBuffDecompress
	.section	.rodata
	.align	2
.LC40:
	.ascii	"1.0.3, 17-Oct-2004\000"
	.text
	.align	2
	.global	BZ2_bzlibVersion
	.syntax unified
	.arm
	.fpu softvfp
	.type	BZ2_bzlibVersion, %function
BZ2_bzlibVersion:
	@ 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, .L1427
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1428:
	.align	2
.L1427:
	.word	.LC40
	.size	BZ2_bzlibVersion, .-BZ2_bzlibVersion
	.comm	inbuf,1000000,4
	.comm	outbuf,2000000,4
	.comm	zbuf,1010600,4
	.comm	nIn,4,4
	.comm	nOut,4,4
	.comm	nZ,4,4
	.align	2
	.global	flip_bit
	.syntax unified
	.arm
	.fpu softvfp
	.type	flip_bit, %function
flip_bit:
	@ 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]
	ldr	r3, [fp, #-24]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	rsbs	r2, r3, #0
	and	r3, r3, #7
	and	r2, r2, #7
	rsbpl	r3, r2, #0
	str	r3, [fp, #-8]
	mov	r2, #1
	ldr	r3, [fp, #-8]
	lsl	r3, r2, r3
	strb	r3, [fp, #-13]
	ldr	r2, .L1430
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]
	eor	r3, r3, r2
	and	r1, r3, #255
	ldr	r2, .L1430
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1431:
	.align	2
.L1430:
	.word	zbuf
	.size	flip_bit, .-flip_bit
	.section	.rodata
	.align	2
.LC41:
	.ascii	"At her sixtieth birthday party, Margaret Thatcher \000"
	.align	2
.LC42:
	.ascii	"blew on the cake to light the candles.\012\000"
	.align	2
.LC43:
	.ascii	"This program, bzip2, the associated library libbzip"
	.ascii	"2, and all\012\000"
	.align	2
.LC44:
	.ascii	"documentation, are copyright (C) 1996-2004 Julian R"
	.ascii	" Seward.  All\012\000"
	.align	2
.LC45:
	.ascii	"rights reserved.\012\000"
	.align	2
.LC46:
	.ascii	"Redistribution and use in source and binary forms, "
	.ascii	"with or without\012\000"
	.align	2
.LC47:
	.ascii	"modification, are permitted provided that the follo"
	.ascii	"wing conditions\012\000"
	.align	2
.LC48:
	.ascii	"are met:\012\000"
	.align	2
.LC49:
	.ascii	"1. Redistributions of source code must retain the a"
	.ascii	"bove copyright\012\000"
	.align	2
.LC50:
	.ascii	"   notice, this list of conditions and the followin"
	.ascii	"g disclaimer.\012\000"
	.align	2
.LC51:
	.ascii	"2. The origin of this software must not be misrepre"
	.ascii	"sented; you must\012\000"
	.align	2
.LC52:
	.ascii	"   not claim that you wrote the original software. "
	.ascii	" If you use this\012\000"
	.align	2
.LC53:
	.ascii	"   software in a product, an acknowledgment in the "
	.ascii	"product\012\000"
	.align	2
.LC54:
	.ascii	"   documentation would be appreciated but is not re"
	.ascii	"quired.\012\000"
	.align	2
.LC55:
	.ascii	"3. Altered source versions must be plainly marked a"
	.ascii	"s such, and must\012\000"
	.align	2
.LC56:
	.ascii	"   not be misrepresented as being the original soft"
	.ascii	"ware.\012\000"
	.align	2
.LC57:
	.ascii	"4. The name of the author may not be used to endors"
	.ascii	"e or promote\012\000"
	.align	2
.LC58:
	.ascii	"   products derived from this software without spec"
	.ascii	"ific prior written\012\000"
	.align	2
.LC59:
	.ascii	"   permission.\012\000"
	.align	2
.LC60:
	.ascii	"THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' A"
	.ascii	"ND ANY EXPRESS\012\000"
	.align	2
.LC61:
	.ascii	"OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED T"
	.ascii	"O, THE IMPLIED\012\000"
	.align	2
.LC62:
	.ascii	"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PAR"
	.ascii	"TICULAR PURPOSE\012\000"
	.align	2
.LC63:
	.ascii	"ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LI"
	.ascii	"ABLE FOR ANY\012\000"
	.align	2
.LC64:
	.ascii	"DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, O"
	.ascii	"R CONSEQUENTIAL\012\000"
	.align	2
.LC65:
	.ascii	"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT"
	.ascii	" OF SUBSTITUTE\012\000"
	.align	2
.LC66:
	.ascii	"GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; O"
	.ascii	"R BUSINESS\012\000"
	.align	2
.LC67:
	.ascii	"INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF L"
	.ascii	"IABILITY,\012\000"
	.align	2
.LC68:
	.ascii	"WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INC"
	.ascii	"LUDING\012\000"
	.align	2
.LC69:
	.ascii	"NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF "
	.ascii	"THE USE OF THIS\012\000"
	.align	2
.LC70:
	.ascii	"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUC"
	.ascii	"H DAMAGE.\012\000"
	.align	2
.LC71:
	.ascii	"abababababababababababababababababababababababababa"
	.ascii	"bababababab\000"
	.align	2
.LC72:
	.ascii	"\011\011    GNU GENERAL PUBLIC LICENSE\012\000"
	.align	2
.LC73:
	.ascii	"\011\011       Version 2, June 1991\012\000"
	.align	2
.LC74:
	.ascii	" Copyright (C) 1989, 1991 Free Software Foundation,"
	.ascii	" Inc.\012\000"
	.align	2
.LC75:
	.ascii	"     59 Temple Place, Suite 330, Boston, MA  02111-"
	.ascii	"1307  USA\012\000"
	.align	2
.LC76:
	.ascii	" Everyone is permitted to copy and distribute verba"
	.ascii	"tim copies\012\000"
	.align	2
.LC77:
	.ascii	" of this license document, but changing it is not a"
	.ascii	"llowed.\012\000"
	.align	2
.LC78:
	.ascii	"\011\011\011    Preamble\012\000"
	.align	2
.LC79:
	.ascii	"  The licenses for most software are designed to ta"
	.ascii	"ke away your\012\000"
	.align	2
.LC80:
	.ascii	"freedom to share and change it.  By contrast, the G"
	.ascii	"NU General Public\012\000"
	.align	2
.LC81:
	.ascii	"License is intended to guarantee your freedom to sh"
	.ascii	"are and change free\012\000"
	.align	2
.LC82:
	.ascii	"software--to make sure the software is free for all"
	.ascii	" its users.  This\012\000"
	.align	2
.LC83:
	.ascii	"General Public License applies to most of the Free "
	.ascii	"Software\012\000"
	.align	2
.LC84:
	.ascii	"Foundation's software and to any other program whos"
	.ascii	"e authors commit to\012\000"
	.align	2
.LC85:
	.ascii	"using it.  (Some other Free Software Foundation sof"
	.ascii	"tware is covered by\012\000"
	.align	2
.LC86:
	.ascii	"the GNU Library General Public License instead.)  Y"
	.ascii	"ou can apply it to\012\000"
	.align	2
.LC87:
	.ascii	"your programs, too.\012\000"
	.align	2
.LC88:
	.ascii	"  When we speak of free software, we are referring "
	.ascii	"to freedom, not\012\000"
	.align	2
.LC89:
	.ascii	"price.  Our General Public Licenses are designed to"
	.ascii	" make sure that you\012\000"
	.align	2
.LC90:
	.ascii	"have the freedom to distribute copies of free softw"
	.ascii	"are (and charge for\012\000"
	.align	2
.LC91:
	.ascii	"this service if you wish), that you receive source "
	.ascii	"code or can get it\012\000"
	.align	2
.LC92:
	.ascii	"if you want it, that you can change the software or"
	.ascii	" use pieces of it\012\000"
	.align	2
.LC93:
	.ascii	"in new free programs; and that you know you can do "
	.ascii	"these things.\012\000"
	.align	2
.LC94:
	.ascii	"  To protect your rights, we need to make restricti"
	.ascii	"ons that forbid\012\000"
	.align	2
.LC95:
	.ascii	"anyone to deny you these rights or to ask you to su"
	.ascii	"rrender the rights.\012\000"
	.align	2
.LC96:
	.ascii	"These restrictions translate to certain responsibil"
	.ascii	"ities for you if you\012\000"
	.align	2
.LC97:
	.ascii	"distribute copies of the software, or if you modify"
	.ascii	" it.\012\000"
	.align	2
.LC98:
	.ascii	"  For example, if you distribute copies of such a p"
	.ascii	"rogram, whether\012\000"
	.align	2
.LC99:
	.ascii	"gratis or for a fee, you must give the recipients a"
	.ascii	"ll the rights that\012\000"
	.align	2
.LC100:
	.ascii	"you have.  You must make sure that they, too, recei"
	.ascii	"ve or can get the\012\000"
	.align	2
.LC101:
	.ascii	"source code.  And you must show them these terms so"
	.ascii	" they know their\012\000"
	.align	2
.LC102:
	.ascii	"rights.\012\000"
	.align	2
.LC103:
	.ascii	"  We protect your rights with two steps: (1) copyri"
	.ascii	"ght the software, and\012\000"
	.align	2
.LC104:
	.ascii	"(2) offer you this license which gives you legal pe"
	.ascii	"rmission to copy,\012\000"
	.align	2
.LC105:
	.ascii	"distribute and/or modify the software.\012\000"
	.align	2
.LC106:
	.ascii	"  Also, for each author's protection and ours, we w"
	.ascii	"ant to make certain\012\000"
	.align	2
.LC107:
	.ascii	"that everyone understands that there is no warranty"
	.ascii	" for this free\012\000"
	.align	2
.LC108:
	.ascii	"software.  If the software is modified by someone e"
	.ascii	"lse and passed on, we\012\000"
	.align	2
.LC109:
	.ascii	"want its recipients to know that what they have is "
	.ascii	"not the original, so\012\000"
	.align	2
.LC110:
	.ascii	"that any problems introduced by others will not ref"
	.ascii	"lect on the original\012\000"
	.align	2
.LC111:
	.ascii	"authors' reputations.\012\000"
	.align	2
.LC112:
	.ascii	"  Finally, any free program is threatened constantl"
	.ascii	"y by software\012\000"
	.align	2
.LC113:
	.ascii	"patents.  We wish to avoid the danger that redistri"
	.ascii	"butors of a free\012\000"
	.align	2
.LC114:
	.ascii	"program will individually obtain patent licenses, i"
	.ascii	"n effect making the\012\000"
	.align	2
.LC115:
	.ascii	"program proprietary.  To prevent this, we have made"
	.ascii	" it clear that any\012\000"
	.align	2
.LC116:
	.ascii	"patent must be licensed for everyone's free use or "
	.ascii	"not licensed at all.\012\000"
	.align	2
.LC117:
	.ascii	"  The precise terms and conditions for copying, dis"
	.ascii	"tribution and\012\000"
	.align	2
.LC118:
	.ascii	"modification follow.\012\000"
	.align	2
.LC119:
	.ascii	"   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION A"
	.ascii	"ND MODIFICATION\012\000"
	.align	2
.LC120:
	.ascii	"  0. This License applies to any program or other w"
	.ascii	"ork which contains\012\000"
	.align	2
.LC121:
	.ascii	"a notice placed by the copyright holder saying it m"
	.ascii	"ay be distributed\012\000"
	.align	2
.LC122:
	.ascii	"under the terms of this General Public License.  Th"
	.ascii	"e Program, below,\012\000"
	.align	2
.LC123:
	.ascii	"refers to any such program or work, and a work base"
	.ascii	"d on the Program\012\000"
	.align	2
.LC124:
	.ascii	"means either the Program or any derivative work und"
	.ascii	"er copyright law:\012\000"
	.align	2
.LC125:
	.ascii	"that is to say, a work containing the Program or a "
	.ascii	"portion of it,\012\000"
	.align	2
.LC126:
	.ascii	"either verbatim or with modifications and/or transl"
	.ascii	"ated into another\012\000"
	.align	2
.LC127:
	.ascii	"language.  (Hereinafter, translation is included wi"
	.ascii	"thout limitation in\012\000"
	.align	2
.LC128:
	.ascii	"the term modification.)  Each licensee is addressed"
	.ascii	" as you.\012\000"
	.align	2
.LC129:
	.ascii	"Activities other than copying, distribution and mod"
	.ascii	"ification are not\012\000"
	.align	2
.LC130:
	.ascii	"covered by this License; they are outside its scope"
	.ascii	".  The act of\012\000"
	.align	2
.LC131:
	.ascii	"running the Program is not restricted, and the outp"
	.ascii	"ut from the Program\012\000"
	.align	2
.LC132:
	.ascii	"is covered only if its contents constitute a work b"
	.ascii	"ased on the\012\000"
	.align	2
.LC133:
	.ascii	"Program (independent of having been made by running"
	.ascii	" the Program).\012\000"
	.align	2
.LC134:
	.ascii	"Whether that is true depends on what the Program do"
	.ascii	"es.\012\000"
	.align	2
.LC135:
	.ascii	"  1. You may copy and distribute verbatim copies of"
	.ascii	" the Program's\012\000"
	.align	2
.LC136:
	.ascii	"source code as you receive it, in any medium, provi"
	.ascii	"ded that you\012\000"
	.align	2
.LC137:
	.ascii	"conspicuously and appropriately publish on each cop"
	.ascii	"y an appropriate\012\000"
	.align	2
.LC138:
	.ascii	"copyright notice and disclaimer of warranty; keep i"
	.ascii	"ntact all the\012\000"
	.align	2
.LC139:
	.ascii	"notices that refer to this License and to the absen"
	.ascii	"ce of any warranty;\012\000"
	.align	2
.LC140:
	.ascii	"and give any other recipients of the Program a copy"
	.ascii	" of this License\012\000"
	.align	2
.LC141:
	.ascii	"along with the Program.\012\000"
	.align	2
.LC142:
	.ascii	"You may charge a fee for the physical act of transf"
	.ascii	"erring a copy, and\012\000"
	.align	2
.LC143:
	.ascii	"you may at your option offer warranty protection in"
	.ascii	" exchange for a fee.\012\000"
	.align	2
.LC144:
	.ascii	"  2. You may modify your copy or copies of the Prog"
	.ascii	"ram or any portion\012\000"
	.align	2
.LC145:
	.ascii	"of it, thus forming a work based on the Program, an"
	.ascii	"d copy and\012\000"
	.align	2
.LC146:
	.ascii	"distribute such modifications or work under the ter"
	.ascii	"ms of Section 1\012\000"
	.align	2
.LC147:
	.ascii	"above, provided that you also meet all of these con"
	.ascii	"ditions:\012\000"
	.align	2
.LC148:
	.ascii	"    a) You must cause the modified files to carry p"
	.ascii	"rominent notices\012\000"
	.align	2
.LC149:
	.ascii	"    stating that you changed the files and the date"
	.ascii	" of any change.\012\000"
	.align	2
.LC150:
	.ascii	"    b) You must cause any work that you distribute "
	.ascii	"or publish, that in\012\000"
	.align	2
.LC151:
	.ascii	"    whole or in part contains or is derived from th"
	.ascii	"e Program or any\012\000"
	.align	2
.LC152:
	.ascii	"    part thereof, to be licensed as a whole at no c"
	.ascii	"harge to all third\012\000"
	.align	2
.LC153:
	.ascii	"    parties under the terms of this License.\012\000"
	.align	2
.LC154:
	.ascii	"    c) If the modified program normally reads comma"
	.ascii	"nds interactively\012\000"
	.align	2
.LC155:
	.ascii	"    when run, you must cause it, when started runni"
	.ascii	"ng for such\012\000"
	.align	2
.LC156:
	.ascii	"    interactive use in the most ordinary way, to pr"
	.ascii	"int or display an\012\000"
	.align	2
.LC157:
	.ascii	"    announcement including an appropriate copyright"
	.ascii	" notice and a\012\000"
	.align	2
.LC158:
	.ascii	"    notice that there is no warranty (or else, sayi"
	.ascii	"ng that you provide\012\000"
	.align	2
.LC159:
	.ascii	"    a warranty) and that users may redistribute the"
	.ascii	" program under\012\000"
	.align	2
.LC160:
	.ascii	"    these conditions, and telling the user how to v"
	.ascii	"iew a copy of this\012\000"
	.align	2
.LC161:
	.ascii	"    License.  (Exception: if the Program itself is "
	.ascii	"interactive but\012\000"
	.align	2
.LC162:
	.ascii	"    does not normally print such an announcement, y"
	.ascii	"our work based on\012\000"
	.align	2
.LC163:
	.ascii	"    the Program is not required to print an announc"
	.ascii	"ement.)\012\000"
	.align	2
.LC164:
	.ascii	"These requirements apply to the modified work as a "
	.ascii	"whole.  If\012\000"
	.align	2
.LC165:
	.ascii	"identifiable sections of that work are not derived "
	.ascii	"from the Program,\012\000"
	.align	2
.LC166:
	.ascii	"and can be reasonably considered independent and se"
	.ascii	"parate works in\012\000"
	.align	2
.LC167:
	.ascii	"themselves, then this License, and its terms, do no"
	.ascii	"t apply to those\012\000"
	.align	2
.LC168:
	.ascii	"sections when you distribute them as separate works"
	.ascii	".  But when you\012\000"
	.align	2
.LC169:
	.ascii	"distribute the same sections as part of a whole whi"
	.ascii	"ch is a work based\012\000"
	.align	2
.LC170:
	.ascii	"on the Program, the distribution of the whole must "
	.ascii	"be on the terms of\012\000"
	.align	2
.LC171:
	.ascii	"this License, whose permissions for other licensees"
	.ascii	" extend to the\012\000"
	.align	2
.LC172:
	.ascii	"entire whole, and thus to each and every part regar"
	.ascii	"dless of who wrote it.\012\000"
	.align	2
.LC173:
	.ascii	"Thus, it is not the intent of this section to claim"
	.ascii	" rights or contest\012\000"
	.align	2
.LC174:
	.ascii	"your rights to work written entirely by you; rather"
	.ascii	", the intent is to\012\000"
	.align	2
.LC175:
	.ascii	"exercise the right to control the distribution of d"
	.ascii	"erivative or\012\000"
	.align	2
.LC176:
	.ascii	"collective works based on the Program.\012\000"
	.align	2
.LC177:
	.ascii	"In addition, mere aggregation of another work not b"
	.ascii	"ased on the Program\012\000"
	.align	2
.LC178:
	.ascii	"with the Program (or with a work based on the Progr"
	.ascii	"am) on a volume of\012\000"
	.align	2
.LC179:
	.ascii	"a storage or distribution medium does not bring the"
	.ascii	" other work under\012\000"
	.align	2
.LC180:
	.ascii	"the scope of this License.\012\000"
	.align	2
.LC181:
	.ascii	"  3. You may copy and distribute the Program (or a "
	.ascii	"work based on it,\012\000"
	.align	2
.LC182:
	.ascii	"under Section 2) in object code or executable form "
	.ascii	"under the terms of\012\000"
	.align	2
.LC183:
	.ascii	"Sections 1 and 2 above provided that you also do on"
	.ascii	"e of the following:\012\000"
	.align	2
.LC184:
	.ascii	"    a) Accompany it with the complete corresponding"
	.ascii	" machine-readable\012\000"
	.align	2
.LC185:
	.ascii	"    source code, which must be distributed under th"
	.ascii	"e terms of Sections\012\000"
	.align	2
.LC186:
	.ascii	"    1 and 2 above on a medium customarily used for "
	.ascii	"software interchange; or,\012\000"
	.align	2
.LC187:
	.ascii	"    b) Accompany it with a written offer, valid for"
	.ascii	" at least three\012\000"
	.align	2
.LC188:
	.ascii	"    years, to give any third party, for a charge no"
	.ascii	" more than your\012\000"
	.align	2
.LC189:
	.ascii	"    cost of physically performing source distributi"
	.ascii	"on, a complete\012\000"
	.align	2
.LC190:
	.ascii	"    machine-readable copy of the corresponding sour"
	.ascii	"ce code, to be\012\000"
	.align	2
.LC191:
	.ascii	"    distributed under the terms of Sections 1 and 2"
	.ascii	" above on a medium\012\000"
	.align	2
.LC192:
	.ascii	"    customarily used for software interchange; or,\012"
	.ascii	"\000"
	.align	2
.LC193:
	.ascii	"    c) Accompany it with the information you receiv"
	.ascii	"ed as to the offer\012\000"
	.align	2
.LC194:
	.ascii	"    to distribute corresponding source code.  (This"
	.ascii	" alternative is\012\000"
	.align	2
.LC195:
	.ascii	"    allowed only for noncommercial distribution and"
	.ascii	" only if you\012\000"
	.align	2
.LC196:
	.ascii	"    received the program in object code or executab"
	.ascii	"le form with such\012\000"
	.align	2
.LC197:
	.ascii	"    an offer, in accord with Subsection b above.)\012"
	.ascii	"\000"
	.align	2
.LC198:
	.ascii	"The source code for a work means the preferred form"
	.ascii	" of the work for\012\000"
	.align	2
.LC199:
	.ascii	"making modifications to it.  For an executable work"
	.ascii	", complete source\012\000"
	.align	2
.LC200:
	.ascii	"code means all the source code for all modules it c"
	.ascii	"ontains, plus any\012\000"
	.align	2
.LC201:
	.ascii	"associated interface definition files, plus the scr"
	.ascii	"ipts used to\012\000"
	.align	2
.LC202:
	.ascii	"control compilation and installation of the executa"
	.ascii	"ble.  However, as a\012\000"
	.align	2
.LC203:
	.ascii	"special exception, the source code distributed need"
	.ascii	" not include\012\000"
	.align	2
.LC204:
	.ascii	"anything that is normally distributed (in either so"
	.ascii	"urce or binary\012\000"
	.align	2
.LC205:
	.ascii	"form) with the major components (compiler, kernel, "
	.ascii	"and so on) of the\012\000"
	.align	2
.LC206:
	.ascii	"operating system on which the executable runs, unle"
	.ascii	"ss that component\012\000"
	.align	2
.LC207:
	.ascii	"itself accompanies the executable.\012\000"
	.align	2
.LC208:
	.ascii	"If distribution of executable or object code is mad"
	.ascii	"e by offering\012\000"
	.align	2
.LC209:
	.ascii	"access to copy from a designated place, then offeri"
	.ascii	"ng equivalent\012\000"
	.align	2
.LC210:
	.ascii	"access to copy the source code from the same place "
	.ascii	"counts as\012\000"
	.align	2
.LC211:
	.ascii	"distribution of the source code, even though third "
	.ascii	"parties are not\012\000"
	.align	2
.LC212:
	.ascii	"compelled to copy the source along with the object "
	.ascii	"code.\012\000"
	.align	2
.LC213:
	.ascii	"  4. You may not copy, modify, sublicense, or distr"
	.ascii	"ibute the Program\012\000"
	.align	2
.LC214:
	.ascii	"except as expressly provided under this License.  A"
	.ascii	"ny attempt\012\000"
	.align	2
.LC215:
	.ascii	"otherwise to copy, modify, sublicense or distribute"
	.ascii	" the Program is\012\000"
	.align	2
.LC216:
	.ascii	"void, and will automatically terminate your rights "
	.ascii	"under this License.\012\000"
	.align	2
.LC217:
	.ascii	"However, parties who have received copies, or right"
	.ascii	"s, from you under\012\000"
	.align	2
.LC218:
	.ascii	"this License will not have their licenses terminate"
	.ascii	"d so long as such\012\000"
	.align	2
.LC219:
	.ascii	"parties remain in full compliance.\012\000"
	.align	2
.LC220:
	.ascii	"  5. You are not required to accept this License, s"
	.ascii	"ince you have not\012\000"
	.align	2
.LC221:
	.ascii	"signed it.  However, nothing else grants you permis"
	.ascii	"sion to modify or\012\000"
	.align	2
.LC222:
	.ascii	"distribute the Program or its derivative works.  Th"
	.ascii	"ese actions are\012\000"
	.align	2
.LC223:
	.ascii	"prohibited by law if you do not accept this License"
	.ascii	".  Therefore, by\012\000"
	.align	2
.LC224:
	.ascii	"modifying or distributing the Program (or any work "
	.ascii	"based on the\012\000"
	.align	2
.LC225:
	.ascii	"Program), you indicate your acceptance of this Lice"
	.ascii	"nse to do so, and\012\000"
	.align	2
.LC226:
	.ascii	"all its terms and conditions for copying, distribut"
	.ascii	"ing or modifying\012\000"
	.align	2
.LC227:
	.ascii	"the Program or works based on it.\012\000"
	.align	2
.LC228:
	.ascii	"  6. Each time you redistribute the Program (or any"
	.ascii	" work based on the\012\000"
	.align	2
.LC229:
	.ascii	"Program), the recipient automatically receives a li"
	.ascii	"cense from the\012\000"
	.align	2
.LC230:
	.ascii	"original licensor to copy, distribute or modify the"
	.ascii	" Program subject to\012\000"
	.align	2
.LC231:
	.ascii	"these terms and conditions.  You may not impose any"
	.ascii	" further\012\000"
	.align	2
.LC232:
	.ascii	"restrictions on the recipients' exercise of the rig"
	.ascii	"hts granted herein.\012\000"
	.align	2
.LC233:
	.ascii	"You are not responsible for enforcing compliance by"
	.ascii	" third parties to\012\000"
	.align	2
.LC234:
	.ascii	"this License.\012\000"
	.align	2
.LC235:
	.ascii	"  7. If, as a consequence of a court judgment or al"
	.ascii	"legation of patent\012\000"
	.align	2
.LC236:
	.ascii	"infringement or for any other reason (not limited t"
	.ascii	"o patent issues),\012\000"
	.align	2
.LC237:
	.ascii	"conditions are imposed on you (whether by court ord"
	.ascii	"er, agreement or\012\000"
	.align	2
.LC238:
	.ascii	"otherwise) that contradict the conditions of this L"
	.ascii	"icense, they do not\012\000"
	.align	2
.LC239:
	.ascii	"excuse you from the conditions of this License.  If"
	.ascii	" you cannot\012\000"
	.align	2
.LC240:
	.ascii	"distribute so as to satisfy simultaneously your obl"
	.ascii	"igations under this\012\000"
	.align	2
.LC241:
	.ascii	"License and any other pertinent obligations, then a"
	.ascii	"s a consequence you\012\000"
	.align	2
.LC242:
	.ascii	"may not distribute the Program at all.  For example"
	.ascii	", if a patent\012\000"
	.align	2
.LC243:
	.ascii	"license would not permit royalty-free redistributio"
	.ascii	"n of the Program by\012\000"
	.align	2
.LC244:
	.ascii	"all those who receive copies directly or indirectly"
	.ascii	" through you, then\012\000"
	.align	2
.LC245:
	.ascii	"the only way you could satisfy both it and this Lic"
	.ascii	"ense would be to\012\000"
	.align	2
.LC246:
	.ascii	"refrain entirely from distribution of the Program.\012"
	.ascii	"\000"
	.align	2
.LC247:
	.ascii	"If any portion of this section is held invalid or u"
	.ascii	"nenforceable under\012\000"
	.align	2
.LC248:
	.ascii	"any particular circumstance, the balance of the sec"
	.ascii	"tion is intended to\012\000"
	.align	2
.LC249:
	.ascii	"apply and the section as a whole is intended to app"
	.ascii	"ly in other\012\000"
	.align	2
.LC250:
	.ascii	"circumstances.\012\000"
	.align	2
.LC251:
	.ascii	"It is not the purpose of this section to induce you"
	.ascii	" to infringe any\012\000"
	.align	2
.LC252:
	.ascii	"patents or other property right claims or to contes"
	.ascii	"t validity of any\012\000"
	.align	2
.LC253:
	.ascii	"such claims; this section has the sole purpose of p"
	.ascii	"rotecting the\012\000"
	.align	2
.LC254:
	.ascii	"integrity of the free software distribution system,"
	.ascii	" which is\012\000"
	.align	2
.LC255:
	.ascii	"implemented by public license practices.  Many peop"
	.ascii	"le have made\012\000"
	.align	2
.LC256:
	.ascii	"generous contributions to the wide range of softwar"
	.ascii	"e distributed\012\000"
	.align	2
.LC257:
	.ascii	"through that system in reliance on consistent appli"
	.ascii	"cation of that\012\000"
	.align	2
.LC258:
	.ascii	"system; it is up to the author/donor to decide if h"
	.ascii	"e or she is willing\012\000"
	.align	2
.LC259:
	.ascii	"to distribute software through any other system and"
	.ascii	" a licensee cannot\012\000"
	.align	2
.LC260:
	.ascii	"impose that choice.\012\000"
	.align	2
.LC261:
	.ascii	"This section is intended to make thoroughly clear w"
	.ascii	"hat is believed to\012\000"
	.align	2
.LC262:
	.ascii	"be a consequence of the rest of this License.\012\000"
	.align	2
.LC263:
	.ascii	"  8. If the distribution and/or use of the Program "
	.ascii	"is restricted in\012\000"
	.align	2
.LC264:
	.ascii	"certain countries either by patents or by copyright"
	.ascii	"ed interfaces, the\012\000"
	.align	2
.LC265:
	.ascii	"original copyright holder who places the Program un"
	.ascii	"der this License\012\000"
	.align	2
.LC266:
	.ascii	"may add an explicit geographical distribution limit"
	.ascii	"ation excluding\012\000"
	.align	2
.LC267:
	.ascii	"those countries, so that distribution is permitted "
	.ascii	"only in or among\012\000"
	.align	2
.LC268:
	.ascii	"countries not thus excluded.  In such case, this Li"
	.ascii	"cense incorporates\012\000"
	.align	2
.LC269:
	.ascii	"the limitation as if written in the body of this Li"
	.ascii	"cense.\012\000"
	.align	2
.LC270:
	.ascii	"  9. The Free Software Foundation may publish revis"
	.ascii	"ed and/or new versions\012\000"
	.align	2
.LC271:
	.ascii	"of the General Public License from time to time.  S"
	.ascii	"uch new versions will\012\000"
	.align	2
.LC272:
	.ascii	"be similar in spirit to the present version, but ma"
	.ascii	"y differ in detail to\012\000"
	.align	2
.LC273:
	.ascii	"address new problems or concerns.\012\000"
	.align	2
.LC274:
	.ascii	"Each version is given a distinguishing version numb"
	.ascii	"er.  If the Program\012\000"
	.align	2
.LC275:
	.ascii	"specifies a version number of this License which ap"
	.ascii	"plies to it and any\012\000"
	.align	2
.LC276:
	.ascii	"later version, you have the option of following the"
	.ascii	" terms and conditions\012\000"
	.align	2
.LC277:
	.ascii	"either of that version or of any later version publ"
	.ascii	"ished by the Free\012\000"
	.align	2
.LC278:
	.ascii	"Software Foundation.  If the Program does not speci"
	.ascii	"fy a version number of\012\000"
	.align	2
.LC279:
	.ascii	"this License, you may choose any version ever publi"
	.ascii	"shed by the Free Software\012\000"
	.align	2
.LC280:
	.ascii	"Foundation.\012\000"
	.align	2
.LC281:
	.ascii	"  10. If you wish to incorporate parts of the Progr"
	.ascii	"am into other free\012\000"
	.align	2
.LC282:
	.ascii	"programs whose distribution conditions are differen"
	.ascii	"t, write to the author\012\000"
	.align	2
.LC283:
	.ascii	"to ask for permission.  For software which is copyr"
	.ascii	"ighted by the Free\012\000"
	.align	2
.LC284:
	.ascii	"Software Foundation, write to the Free Software Fou"
	.ascii	"ndation; we sometimes\012\000"
	.align	2
.LC285:
	.ascii	"make exceptions for this.  Our decision will be gui"
	.ascii	"ded by the two goals\012\000"
	.align	2
.LC286:
	.ascii	"of preserving the free status of all derivatives of"
	.ascii	" our free software and\012\000"
	.align	2
.LC287:
	.ascii	"of promoting the sharing and reuse of software gene"
	.ascii	"rally.\012\000"
	.align	2
.LC288:
	.ascii	"\011\011\011    NO WARRANTY\012\000"
	.align	2
.LC289:
	.ascii	"  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARG"
	.ascii	"E, THERE IS NO WARRANTY\012\000"
	.align	2
.LC290:
	.ascii	"FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICA"
	.ascii	"BLE LAW.  EXCEPT WHEN\012\000"
	.align	2
.LC291:
	.ascii	"OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS A"
	.ascii	"ND/OR OTHER PARTIES\012\000"
	.align	2
.LC292:
	.ascii	"PROVIDE THE PROGRAM AS IS WITHOUT WARRANTY OF ANY K"
	.ascii	"IND, EITHER EXPRESSED\012\000"
	.align	2
.LC293:
	.ascii	"OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPL"
	.ascii	"IED WARRANTIES OF\012\000"
	.align	2
.LC294:
	.ascii	"MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOS"
	.ascii	"E.  THE ENTIRE RISK AS\012\000"
	.align	2
.LC295:
	.ascii	"TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WI"
	.ascii	"TH YOU.  SHOULD THE\012\000"
	.align	2
.LC296:
	.ascii	"PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL"
	.ascii	" NECESSARY SERVICING,\012\000"
	.align	2
.LC297:
	.ascii	"REPAIR OR CORRECTION.\012\000"
	.align	2
.LC298:
	.ascii	"  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW"
	.ascii	" OR AGREED TO IN WRITING\012\000"
	.align	2
.LC299:
	.ascii	"WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO M"
	.ascii	"AY MODIFY AND/OR\012\000"
	.align	2
.LC300:
	.ascii	"REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIA"
	.ascii	"BLE TO YOU FOR DAMAGES,\012\000"
	.align	2
.LC301:
	.ascii	"INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSE"
	.ascii	"QUENTIAL DAMAGES ARISING\012\000"
	.align	2
.LC302:
	.ascii	"OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INC"
	.ascii	"LUDING BUT NOT LIMITED\012\000"
	.align	2
.LC303:
	.ascii	"TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE O"
	.ascii	"R LOSSES SUSTAINED BY\012\000"
	.align	2
.LC304:
	.ascii	"YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO"
	.ascii	" OPERATE WITH ANY OTHER\012\000"
	.align	2
.LC305:
	.ascii	"PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS B"
	.ascii	"EEN ADVISED OF THE\012\000"
	.align	2
.LC306:
	.ascii	"POSSIBILITY OF SUCH DAMAGES.\012\000"
	.align	2
.LC307:
	.ascii	"\011\011     END OF TERMS AND CONDITIONS\012\000"
	.align	2
.LC308:
	.ascii	"\011    How to Apply These Terms to Your New Progra"
	.ascii	"ms\012\000"
	.align	2
.LC309:
	.ascii	"  If you develop a new program, and you want it to "
	.ascii	"be of the greatest\012\000"
	.align	2
.LC310:
	.ascii	"possible use to the public, the best way to achieve"
	.ascii	" this is to make it\012\000"
	.align	2
.LC311:
	.ascii	"free software which everyone can redistribute and c"
	.ascii	"hange under these terms.\012\000"
	.align	2
.LC312:
	.ascii	"  To do so, attach the following notices to the pro"
	.ascii	"gram.  It is safest\012\000"
	.align	2
.LC313:
	.ascii	"to attach them to the start of each source file to "
	.ascii	"most effectively\012\000"
	.align	2
.LC314:
	.ascii	"convey the exclusion of warranty; and each file sho"
	.ascii	"uld have at least\012\000"
	.align	2
.LC315:
	.ascii	"the copyright line and a pointer to where the full "
	.ascii	"notice is found.\012\000"
	.align	2
.LC316:
	.ascii	"    <one line to give the program's name and a brie"
	.ascii	"f idea of what it does.>\012\000"
	.align	2
.LC317:
	.ascii	"    Copyright (C) <year>  <name of author>\012\000"
	.align	2
.LC318:
	.ascii	"    This program is free software; you can redistri"
	.ascii	"bute it and/or modify\012\000"
	.align	2
.LC319:
	.ascii	"    it under the terms of the GNU General Public Li"
	.ascii	"cense as published by\012\000"
	.align	2
.LC320:
	.ascii	"    the Free Software Foundation; either version 2 "
	.ascii	"of the License, or\012\000"
	.align	2
.LC321:
	.ascii	"    (at your option) any later version.\012\000"
	.align	2
.LC322:
	.ascii	"    This program is distributed in the hope that it"
	.ascii	" will be useful,\012\000"
	.align	2
.LC323:
	.ascii	"    but WITHOUT ANY WARRANTY; without even the impl"
	.ascii	"ied warranty of\012\000"
	.align	2
.LC324:
	.ascii	"    MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR"
	.ascii	"POSE.  See the\012\000"
	.align	2
.LC325:
	.ascii	"    GNU General Public License for more details.\012"
	.ascii	"\000"
	.align	2
.LC326:
	.ascii	"    You should have received a copy of the GNU Gene"
	.ascii	"ral Public License\012\000"
	.align	2
.LC327:
	.ascii	"    along with this program; if not, write to the F"
	.ascii	"ree Software\012\000"
	.align	2
.LC328:
	.ascii	"    Foundation, Inc., 59 Temple Place, Suite 330, B"
	.ascii	"oston, MA  02111-1307  USA\012\000"
	.align	2
.LC329:
	.ascii	"Also add information on how to contact you by elect"
	.ascii	"ronic and paper mail.\012\000"
	.align	2
.LC330:
	.ascii	"If the program is interactive, make it output a sho"
	.ascii	"rt notice like this\012\000"
	.align	2
.LC331:
	.ascii	"when it starts in an interactive mode:\012\000"
	.align	2
.LC332:
	.ascii	"    Gnomovision version 69, Copyright (C) year  nam"
	.ascii	"e of author\012\000"
	.align	2
.LC333:
	.ascii	"    Gnomovision comes with ABSOLUTELY NO WARRANTY; "
	.ascii	"for details type `show w'.\012\000"
	.align	2
.LC334:
	.ascii	"    This is free software, and you are welcome to r"
	.ascii	"edistribute it\012\000"
	.align	2
.LC335:
	.ascii	"    under certain conditions; type `show c' for det"
	.ascii	"ails.\012\000"
	.align	2
.LC336:
	.ascii	"The hypothetical commands `show w' and `show c' sho"
	.ascii	"uld show the appropriate\012\000"
	.align	2
.LC337:
	.ascii	"parts of the General Public License.  Of course, th"
	.ascii	"e commands you use may\012\000"
	.align	2
.LC338:
	.ascii	"be called something other than `show w' and `show c"
	.ascii	"'; they could even be\012\000"
	.align	2
.LC339:
	.ascii	"mouse-clicks or menu items--whatever suits your pro"
	.ascii	"gram.\012\000"
	.align	2
.LC340:
	.ascii	"You should also get your employer (if you work as a"
	.ascii	" programmer) or your\012\000"
	.align	2
.LC341:
	.ascii	"school, if any, to sign a copyright disclaimer for "
	.ascii	"the program, if\012\000"
	.align	2
.LC342:
	.ascii	"necessary.  Here is a sample; alter the names:\012\000"
	.align	2
.LC343:
	.ascii	"  Yoyodyne, Inc., hereby disclaims all copyright in"
	.ascii	"terest in the program\012\000"
	.align	2
.LC344:
	.ascii	"  `Gnomovision' (which makes passes at compilers) w"
	.ascii	"ritten by James Hacker.\012\000"
	.align	2
.LC345:
	.ascii	"  <signature of Ty Coon>, 1 April 1989\012\000"
	.align	2
.LC346:
	.ascii	"  Ty Coon, President of Vice\012\000"
	.align	2
.LC347:
	.ascii	"This General Public License does not permit incorpo"
	.ascii	"rating your program into\012\000"
	.align	2
.LC348:
	.ascii	"proprietary programs.  If your program is a subrout"
	.ascii	"ine library, you may\012\000"
	.align	2
.LC349:
	.ascii	"consider it more useful to permit linking proprieta"
	.ascii	"ry applications with the\012\000"
	.align	2
.LC350:
	.ascii	"library.  If this is what you want to do, use the G"
	.ascii	"NU Library General\012\000"
	.align	2
.LC351:
	.ascii	"Public License instead of this License.\012\000"
	.text
	.align	2
	.global	set_inbuf
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_inbuf, %function
set_inbuf:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1433
	mov	r2, #0
	strb	r2, [r3]
	ldr	r1, .L1433+4
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+8
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+12
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+16
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+20
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+28
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+32
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+36
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+40
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+44
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+48
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+52
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+56
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+60
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+64
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+68
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+72
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+76
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+80
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+84
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+88
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+92
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+96
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+100
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+104
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+108
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+112
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+116
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+120
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+124
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+128
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+132
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+136
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+140
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+144
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+148
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+152
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+156
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+160
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+164
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+168
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+172
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+176
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+180
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+184
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+188
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+192
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+196
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+200
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+204
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+208
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+212
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+216
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+220
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+224
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+228
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+232
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+236
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+240
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+244
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+248
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+252
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+256
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+260
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+264
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+268
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+272
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+276
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+280
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+284
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+288
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+292
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+296
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+300
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+304
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+308
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+312
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+316
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+132
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+320
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+324
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+328
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+332
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+336
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+340
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+344
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+348
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+352
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+356
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+360
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+364
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+368
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+372
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+376
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+380
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+384
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+388
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+392
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+396
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+400
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+404
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+408
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+412
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+416
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+420
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+424
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+428
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+432
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+436
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+440
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+444
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+448
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+452
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+456
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+460
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+464
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+468
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+472
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+476
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+480
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+484
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+488
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+492
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+496
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+500
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+504
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+508
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+512
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+516
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+520
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+524
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+528
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+532
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+536
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+540
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+544
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+548
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+552
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+556
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+560
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+564
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+568
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+572
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+576
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+580
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+584
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+588
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+592
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+596
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+600
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+604
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+608
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+612
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+616
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+620
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+624
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+628
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+632
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+636
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+640
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+644
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+648
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+652
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+656
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+660
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+664
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+668
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+672
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+676
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+680
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+684
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+688
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+692
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+696
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+700
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+704
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+708
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+712
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+716
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+720
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+724
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+728
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+732
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+736
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+740
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+744
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+748
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+752
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+756
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+760
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+764
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+768
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+772
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+776
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+780
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+784
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+788
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+792
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+796
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+800
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+804
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+808
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+812
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+816
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+820
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+824
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+828
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+832
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+836
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+840
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+844
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+848
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+852
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+856
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+860
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+864
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+868
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+872
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+876
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+880
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+884
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+888
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+892
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+896
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+900
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+904
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+908
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+912
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+916
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+920
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+924
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+928
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+932
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+936
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+940
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+944
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+948
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+952
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+956
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+960
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+964
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+968
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+972
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+976
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+980
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+984
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+988
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+992
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+996
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+24
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+1000
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+1004
	ldr	r0, .L1433
	bl	my_strcat
	ldr	r1, .L1433+1008
	ldr	r0, .L1433
	bl	my_strcat
	b	.L1434
.L1435:
	.align	2
.L1433:
	.word	inbuf
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC25
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC80
	.word	.LC81
	.word	.LC82
	.word	.LC83
	.word	.LC84
	.word	.LC85
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	.LC89
	.word	.LC90
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	.LC94
	.word	.LC95
	.word	.LC96
	.word	.LC97
	.word	.LC98
	.word	.LC99
	.word	.LC100
	.word	.LC101
	.word	.LC102
	.word	.LC103
	.word	.LC104
	.word	.LC105
	.word	.LC106
	.word	.LC107
	.word	.LC108
	.word	.LC109
	.word	.LC110
	.word	.LC111
	.word	.LC112
	.word	.LC113
	.word	.LC114
	.word	.LC115
	.word	.LC116
	.word	.LC117
	.word	.LC118
	.word	.LC119
	.word	.LC120
	.word	.LC121
	.word	.LC122
	.word	.LC123
	.word	.LC124
	.word	.LC125
	.word	.LC126
	.word	.LC127
	.word	.LC128
	.word	.LC129
	.word	.LC130
	.word	.LC131
	.word	.LC132
	.word	.LC133
	.word	.LC134
	.word	.LC135
	.word	.LC136
	.word	.LC137
	.word	.LC138
	.word	.LC139
	.word	.LC140
	.word	.LC141
	.word	.LC142
	.word	.LC143
	.word	.LC144
	.word	.LC145
	.word	.LC146
	.word	.LC147
	.word	.LC148
	.word	.LC149
	.word	.LC150
	.word	.LC151
	.word	.LC152
	.word	.LC153
	.word	.LC154
	.word	.LC155
	.word	.LC156
	.word	.LC157
	.word	.LC158
	.word	.LC159
	.word	.LC160
	.word	.LC161
	.word	.LC162
	.word	.LC163
	.word	.LC164
	.word	.LC165
	.word	.LC166
	.word	.LC167
	.word	.LC168
	.word	.LC169
	.word	.LC170
	.word	.LC171
	.word	.LC172
	.word	.LC173
	.word	.LC174
	.word	.LC175
	.word	.LC176
	.word	.LC177
	.word	.LC178
	.word	.LC179
	.word	.LC180
	.word	.LC181
	.word	.LC182
	.word	.LC183
	.word	.LC184
	.word	.LC185
	.word	.LC186
	.word	.LC187
	.word	.LC188
	.word	.LC189
	.word	.LC190
	.word	.LC191
	.word	.LC192
	.word	.LC193
	.word	.LC194
	.word	.LC195
	.word	.LC196
	.word	.LC197
	.word	.LC198
	.word	.LC199
	.word	.LC200
	.word	.LC201
	.word	.LC202
	.word	.LC203
	.word	.LC204
	.word	.LC205
	.word	.LC206
	.word	.LC207
	.word	.LC208
	.word	.LC209
	.word	.LC210
	.word	.LC211
	.word	.LC212
	.word	.LC213
	.word	.LC214
	.word	.LC215
	.word	.LC216
	.word	.LC217
	.word	.LC218
	.word	.LC219
	.word	.LC220
	.word	.LC221
	.word	.LC222
	.word	.LC223
	.word	.LC224
	.word	.LC225
	.word	.LC226
	.word	.LC227
	.word	.LC228
	.word	.LC229
	.word	.LC230
	.word	.LC231
	.word	.LC232
	.word	.LC233
	.word	.LC234
	.word	.LC235
	.word	.LC236
	.word	.LC237
	.word	.LC238
	.word	.LC239
	.word	.LC240
	.word	.LC241
	.word	.LC242
	.word	.LC243
	.word	.LC244
	.word	.LC245
	.word	.LC246
	.word	.LC247
	.word	.LC248
	.word	.LC249
	.word	.LC250
	.word	.LC251
	.word	.LC252
	.word	.LC253
	.word	.LC254
	.word	.LC255
	.word	.LC256
	.word	.LC257
	.word	.LC258
	.word	.LC259
	.word	.LC260
	.word	.LC261
	.word	.LC262
	.word	.LC263
	.word	.LC264
	.word	.LC265
	.word	.LC266
	.word	.LC267
	.word	.LC268
	.word	.LC269
	.word	.LC270
	.word	.LC271
	.word	.LC272
	.word	.LC273
	.word	.LC274
	.word	.LC275
	.word	.LC276
	.word	.LC277
	.word	.LC278
	.word	.LC279
	.word	.LC280
	.word	.LC281
	.word	.LC282
	.word	.LC283
	.word	.LC284
	.word	.LC285
	.word	.LC286
	.word	.LC287
	.word	.LC288
	.word	.LC289
	.word	.LC290
	.word	.LC291
	.word	.LC292
	.word	.LC293
	.word	.LC294
	.word	.LC295
	.word	.LC296
	.word	.LC297
	.word	.LC298
	.word	.LC299
	.word	.LC300
	.word	.LC301
	.word	.LC302
	.word	.LC303
	.word	.LC304
	.word	.LC305
	.word	.LC306
	.word	.LC307
	.word	.LC308
	.word	.LC309
	.word	.LC310
	.word	.LC311
	.word	.LC312
	.word	.LC313
	.word	.LC314
	.word	.LC315
	.word	.LC316
	.word	.LC317
	.word	.LC318
	.word	.LC319
	.word	.LC320
	.word	.LC321
	.word	.LC322
	.word	.LC323
	.word	.LC324
	.word	.LC325
	.word	.LC326
	.word	.LC327
	.word	.LC328
	.word	.LC329
	.word	.LC330
	.word	.LC331
	.word	.LC332
	.word	.LC333
	.word	.LC334
	.word	.LC335
	.word	.LC336
	.word	.LC337
	.word	.LC338
	.word	.LC339
	.word	.LC340
	.word	.LC341
	.word	.LC342
	.word	.LC343
	.word	.LC344
	.word	.LC345
	.word	.LC346
	.word	.LC347
	.word	.LC348
	.word	.LC349
	.word	.LC350
	.word	.LC351
	.word	.LC25
	.word	inbuf
.L1434:
	ldr	r1, .L1433+1012
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1016
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1020
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1024
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1028
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1032
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1036
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1040
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1044
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1048
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1052
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1056
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1060
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1064
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1068
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1072
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1076
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1080
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1084
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1088
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1092
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1096
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1100
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1104
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1108
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1112
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1116
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1120
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1124
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1128
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1132
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1136
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1140
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1144
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1148
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1152
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1156
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1160
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1164
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1168
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1172
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1176
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1180
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1184
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1188
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1192
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1196
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1200
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1204
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1208
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1212
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1216
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1220
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1224
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1228
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1232
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1236
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1240
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1244
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1248
	ldr	r0, .L1433+1256
	bl	my_strcat
	ldr	r1, .L1433+1252
	ldr	r0, .L1433+1256
	bl	my_strcat
	nop
	pop	{fp, pc}
	.size	set_inbuf, .-set_inbuf
	.section	.rodata
	.align	2
.LC352:
	.ascii	"the_stack_data/152086.c\000"
	.align	2
.LC353:
	.ascii	"0\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	g_serviceFn, %function
g_serviceFn:
	@ 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, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L1444
.L1439:
	.word	.L1442
	.word	.L1441
	.word	.L1440
	.word	.L1438
.L1442:
	mov	r0, #0
	bl	exit
.L1441:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	putchar
	mov	r3, #0
	b	.L1443
.L1440:
	ldr	r0, [fp, #-12]
	bl	malloc
	mov	r3, r0
	b	.L1443
.L1438:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	free
	mov	r3, #0
	b	.L1443
.L1444:
	ldr	r3, .L1445
	ldr	r2, .L1445+4
	ldr	r1, .L1445+8
	ldr	r0, .L1445+12
	bl	__assert_fail
.L1443:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1446:
	.align	2
.L1445:
	.word	__PRETTY_FUNCTION__.6703
	.word	6441
	.word	.LC352
	.word	.LC353
	.size	g_serviceFn, .-g_serviceFn
	.section	.rodata
	.align	2
.LC354:
	.ascii	"OK\000"
	.align	2
.LC355:
	.ascii	"SEQUENCE_ERROR\000"
	.align	2
.LC356:
	.ascii	"PARAM_ERROR\000"
	.align	2
.LC357:
	.ascii	"MEM_ERROR\000"
	.align	2
.LC358:
	.ascii	"DATA_ERROR\000"
	.align	2
.LC359:
	.ascii	"DATA_ERROR_MAGIC\000"
	.align	2
.LC360:
	.ascii	"IO_ERROR\000"
	.align	2
.LC361:
	.ascii	"UNEXPECTED_EOF\000"
	.align	2
.LC362:
	.ascii	"OUTBUFF_FULL\000"
	.align	2
.LC363:
	.ascii	"CONFIG_ERROR\000"
	.align	2
.LC364:
	.ascii	"???\000"
	.data
	.align	2
	.type	bzerrorstrings, %object
	.size	bzerrorstrings, 64
bzerrorstrings:
	.word	.LC354
	.word	.LC355
	.word	.LC356
	.word	.LC357
	.word	.LC358
	.word	.LC359
	.word	.LC360
	.word	.LC361
	.word	.LC362
	.word	.LC363
	.word	.LC364
	.word	.LC364
	.word	.LC364
	.word	.LC364
	.word	.LC364
	.word	.LC364
	.section	.rodata
	.align	2
.LC365:
	.ascii	"argc == 1 || argc == 2\000"
	.align	2
.LC366:
	.ascii	"%d bytes read\012\000"
	.align	2
.LC367:
	.ascii	"initial compress failed!\012\000"
	.align	2
.LC368:
	.ascii	"%d after compression\012\000"
	.align	2
.LC369:
	.ascii	"bit %d  \000"
	.align	2
.LC370:
	.ascii	" %d  %s \000"
	.align	2
.LC371:
	.ascii	"nIn/nOut mismatch %d %d\012\000"
	.align	2
.LC372:
	.ascii	"mismatch at %d\012\000"
	.align	2
.LC373:
	.ascii	"really ok!\012\000"
	.align	2
.LC374:
	.ascii	"all ok\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, 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, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	beq	.L1448
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	beq	.L1448
	ldr	r3, .L1465
	ldr	r2, .L1465+4
	ldr	r1, .L1465+8
	ldr	r0, .L1465+12
	bl	__assert_fail
.L1448:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-12]
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L1465+16
	ldr	r2, .L1465+20
	str	r2, [r3]
	bl	set_inbuf
	ldr	r0, .L1465+24
	bl	vex_strlen
	mov	r3, r0
	add	r3, r3, #1
	ldr	r2, .L1465+28
	str	r3, [r2]
	ldr	r3, .L1465+28
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L1465+32
	bl	vex_printf
	ldr	r3, .L1465+36
	ldr	r2, .L1465+40
	str	r2, [r3]
	ldr	r3, .L1465+28
	ldr	r3, [r3]
	mov	r2, r3
	mov	r3, #30
	str	r3, [sp, #8]
	mov	r3, #3
	str	r3, [sp, #4]
	mov	r3, #9
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L1465+24
	ldr	r1, .L1465+36
	ldr	r0, .L1465+44
	bl	BZ2_bzBuffToBuffCompress
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1449
	ldr	r0, .L1465+48
	bl	vex_printf
	ldr	r3, .L1465+16
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, #0
	blx	r3
.L1449:
	ldr	r3, .L1465+36
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L1465+52
	bl	vex_printf
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1450
.L1463:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1451
	ldr	r1, [fp, #-20]
	ldr	r0, .L1465+56
	bl	vex_printf
.L1451:
	ldr	r0, [fp, #-20]
	bl	flip_bit
	ldr	r3, .L1465+60
	ldr	r2, .L1465+64
	str	r2, [r3]
	ldr	r3, .L1465+36
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [sp, #4]
	mov	r2, #1
	str	r2, [sp]
	ldr	r2, .L1465+44
	ldr	r1, .L1465+60
	ldr	r0, .L1465+68
	bl	BZ2_bzBuffToBuffDecompress
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1452
	ldr	r3, [fp, #-8]
	rsb	r3, r3, #0
	ldr	r2, .L1465+72
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, .L1465+76
	bl	vex_printf
.L1452:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1453
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1454
	ldr	r0, .L1465+80
	bl	vex_printf
	b	.L1454
.L1453:
	ldr	r3, .L1465+60
	ldr	r3, [r3]
	ldr	r2, .L1465+28
	ldr	r2, [r2]
	cmp	r3, r2
	beq	.L1455
	ldr	r3, .L1465+28
	ldr	r3, [r3]
	ldr	r2, .L1465+60
	ldr	r2, [r2]
	mov	r1, r3
	ldr	r0, .L1465+84
	bl	vex_printf
	ldr	r3, .L1465+16
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, #0
	blx	r3
	b	.L1454
.L1455:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1456
.L1458:
	ldr	r2, .L1465+24
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r1, .L1465+68
	ldr	r3, [fp, #-16]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L1457
	ldr	r1, [fp, #-16]
	ldr	r0, .L1465+88
	bl	vex_printf
	ldr	r3, .L1465+16
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, #0
	blx	r3
.L1457:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1456:
	ldr	r2, [fp, #-16]
	ldr	r3, .L1465+60
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L1458
	ldr	r2, [fp, #-16]
	ldr	r3, .L1465+60
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1454
	ldr	r0, .L1465+92
	bl	vex_printf
.L1454:
	ldr	r0, [fp, #-20]
	bl	flip_bit
	ldr	r3, [fp, #-20]
	cmp	r3, #34
	ble	.L1459
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1460
	ldr	r3, .L1465+96
	b	.L1462
.L1460:
	mov	r3, #137
	b	.L1462
.L1459:
	mov	r3, #1
.L1462:
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
.L1450:
	ldr	r3, .L1465+36
	ldr	r3, [r3]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bhi	.L1463
	ldr	r0, .L1465+100
	bl	vex_printf
	ldr	r3, .L1465+16
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, #0
	blx	r3
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1466:
	.align	2
.L1465:
	.word	__PRETTY_FUNCTION__.6713
	.word	6474
	.word	.LC352
	.word	.LC365
	.word	serviceFn
	.word	g_serviceFn
	.word	inbuf
	.word	nIn
	.word	.LC366
	.word	nZ
	.word	1000000
	.word	zbuf
	.word	.LC367
	.word	.LC368
	.word	.LC369
	.word	nOut
	.word	2000000
	.word	outbuf
	.word	bzerrorstrings
	.word	.LC370
	.word	.LC25
	.word	.LC371
	.word	.LC372
	.word	.LC373
	.word	2377
	.word	.LC374
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.6703, %object
	.size	__PRETTY_FUNCTION__.6703, 12
__PRETTY_FUNCTION__.6703:
	.ascii	"g_serviceFn\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6713, %object
	.size	__PRETTY_FUNCTION__.6713, 5
__PRETTY_FUNCTION__.6713:
	.ascii	"main\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
