	.file	"900313.c"
	.intel_syntax noprefix
	.text
	.globl	QRinput_anTable
	.section	.rodata
	.align 32
	.type	QRinput_anTable, @object
	.size	QRinput_anTable, 128
QRinput_anTable:
	.string	"\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377$\377\377\377%&\377\377\377\377'(\377)*+"
	.ascii	"\001\002\003\004\005\006\007\b\t,\377\377\377\377\377\377\n\013"
	.ascii	"\f\r\016\017\020\021\022\023\024\025\026\027\030\031\032\033"
	.ascii	"\034\035\036\037 !\"#\377\377\377\377\377\377\377\377\377\377"
	.ascii	"\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
	.ascii	"\377\377\377\377\377\377\377\377\377\377\377\377"
	.align 32
	.type	alignmentPattern, @object
	.size	alignmentPattern, 328
alignmentPattern:
	.long	0
	.long	0
	.long	0
	.long	0
	.long	18
	.long	0
	.long	22
	.long	0
	.long	26
	.long	0
	.long	30
	.long	0
	.long	34
	.long	0
	.long	22
	.long	38
	.long	24
	.long	42
	.long	26
	.long	46
	.long	28
	.long	50
	.long	30
	.long	54
	.long	32
	.long	58
	.long	34
	.long	62
	.long	26
	.long	46
	.long	26
	.long	48
	.long	26
	.long	50
	.long	30
	.long	54
	.long	30
	.long	56
	.long	30
	.long	58
	.long	34
	.long	62
	.long	28
	.long	50
	.long	26
	.long	50
	.long	30
	.long	54
	.long	28
	.long	54
	.long	32
	.long	58
	.long	30
	.long	58
	.long	34
	.long	62
	.long	26
	.long	50
	.long	30
	.long	54
	.long	26
	.long	52
	.long	30
	.long	56
	.long	34
	.long	60
	.long	30
	.long	58
	.long	34
	.long	62
	.long	30
	.long	54
	.long	24
	.long	50
	.long	28
	.long	54
	.long	32
	.long	58
	.long	26
	.long	54
	.long	30
	.long	58
	.align 32
	.type	eccTable, @object
	.size	eccTable, 1312
eccTable:
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	1
	.long	0
	.long	1
	.long	0
	.long	1
	.long	0
	.long	1
	.long	0
	.long	1
	.long	0
	.long	1
	.long	0
	.long	1
	.long	0
	.long	1
	.long	0
	.long	1
	.long	0
	.long	1
	.long	0
	.long	2
	.long	0
	.long	2
	.long	0
	.long	1
	.long	0
	.long	2
	.long	0
	.long	2
	.long	0
	.long	4
	.long	0
	.long	1
	.long	0
	.long	2
	.long	0
	.long	2
	.long	2
	.long	2
	.long	2
	.long	2
	.long	0
	.long	4
	.long	0
	.long	4
	.long	0
	.long	4
	.long	0
	.long	2
	.long	0
	.long	4
	.long	0
	.long	2
	.long	4
	.long	4
	.long	1
	.long	2
	.long	0
	.long	2
	.long	2
	.long	4
	.long	2
	.long	4
	.long	2
	.long	2
	.long	0
	.long	3
	.long	2
	.long	4
	.long	4
	.long	4
	.long	4
	.long	2
	.long	2
	.long	4
	.long	1
	.long	6
	.long	2
	.long	6
	.long	2
	.long	4
	.long	0
	.long	1
	.long	4
	.long	4
	.long	4
	.long	3
	.long	8
	.long	2
	.long	2
	.long	6
	.long	2
	.long	4
	.long	6
	.long	7
	.long	4
	.long	4
	.long	0
	.long	8
	.long	1
	.long	8
	.long	4
	.long	12
	.long	4
	.long	3
	.long	1
	.long	4
	.long	5
	.long	11
	.long	5
	.long	11
	.long	5
	.long	5
	.long	1
	.long	5
	.long	5
	.long	5
	.long	7
	.long	11
	.long	7
	.long	5
	.long	1
	.long	7
	.long	3
	.long	15
	.long	2
	.long	3
	.long	13
	.long	1
	.long	5
	.long	10
	.long	1
	.long	1
	.long	15
	.long	2
	.long	17
	.long	5
	.long	1
	.long	9
	.long	4
	.long	17
	.long	1
	.long	2
	.long	19
	.long	3
	.long	4
	.long	3
	.long	11
	.long	17
	.long	4
	.long	9
	.long	16
	.long	3
	.long	5
	.long	3
	.long	13
	.long	15
	.long	5
	.long	15
	.long	10
	.long	4
	.long	4
	.long	17
	.long	0
	.long	17
	.long	6
	.long	19
	.long	6
	.long	2
	.long	7
	.long	17
	.long	0
	.long	7
	.long	16
	.long	34
	.long	0
	.long	4
	.long	5
	.long	4
	.long	14
	.long	11
	.long	14
	.long	16
	.long	14
	.long	6
	.long	4
	.long	6
	.long	14
	.long	11
	.long	16
	.long	30
	.long	2
	.long	8
	.long	4
	.long	8
	.long	13
	.long	7
	.long	22
	.long	22
	.long	13
	.long	10
	.long	2
	.long	19
	.long	4
	.long	28
	.long	6
	.long	33
	.long	4
	.long	8
	.long	4
	.long	22
	.long	3
	.long	8
	.long	26
	.long	12
	.long	28
	.long	3
	.long	10
	.long	3
	.long	23
	.long	4
	.long	31
	.long	11
	.long	31
	.long	7
	.long	7
	.long	21
	.long	7
	.long	1
	.long	37
	.long	19
	.long	26
	.long	5
	.long	10
	.long	19
	.long	10
	.long	15
	.long	25
	.long	23
	.long	25
	.long	13
	.long	3
	.long	2
	.long	29
	.long	42
	.long	1
	.long	23
	.long	28
	.long	17
	.long	0
	.long	10
	.long	23
	.long	10
	.long	35
	.long	19
	.long	35
	.long	17
	.long	1
	.long	14
	.long	21
	.long	29
	.long	19
	.long	11
	.long	46
	.long	13
	.long	6
	.long	14
	.long	23
	.long	44
	.long	7
	.long	59
	.long	1
	.long	12
	.long	7
	.long	12
	.long	26
	.long	39
	.long	14
	.long	22
	.long	41
	.long	6
	.long	14
	.long	6
	.long	34
	.long	46
	.long	10
	.long	2
	.long	64
	.long	17
	.long	4
	.long	29
	.long	14
	.long	49
	.long	10
	.long	24
	.long	46
	.long	4
	.long	18
	.long	13
	.long	32
	.long	48
	.long	14
	.long	42
	.long	32
	.long	20
	.long	4
	.long	40
	.long	7
	.long	43
	.long	22
	.long	10
	.long	67
	.long	19
	.long	6
	.long	18
	.long	31
	.long	34
	.long	34
	.long	20
	.long	61
	.align 32
	.type	formatInfo, @object
	.size	formatInfo, 128
formatInfo:
	.long	30660
	.long	29427
	.long	32170
	.long	30877
	.long	26159
	.long	25368
	.long	27713
	.long	26998
	.long	21522
	.long	20773
	.long	24188
	.long	23371
	.long	17913
	.long	16590
	.long	20375
	.long	19104
	.long	13663
	.long	12392
	.long	16177
	.long	14854
	.long	9396
	.long	8579
	.long	11994
	.long	11245
	.long	5769
	.long	5054
	.long	7399
	.long	6608
	.long	1890
	.long	597
	.long	3340
	.long	2107
	.align 32
	.type	formatInfo$link1, @object
	.size	formatInfo$link1, 128
formatInfo$link1:
	.long	17477
	.long	21934
	.long	26515
	.long	30328
	.long	1758
	.long	5941
	.long	9480
	.long	13539
	.long	16754
	.long	20633
	.long	25252
	.long	29519
	.long	1001
	.long	4610
	.long	8255
	.long	12756
	.long	20011
	.long	24512
	.long	28157
	.long	31766
	.long	3248
	.long	7515
	.long	12134
	.long	16013
	.long	19228
	.long	23287
	.long	26826
	.long	31009
	.long	2439
	.long	6252
	.long	10833
	.long	15290
	.local	frames
	.comm	frames,328,32
	.local	frames$link1
	.comm	frames$link1,40,32
	.local	frames_mutex
	.comm	frames_mutex,40,32
	.local	frames_mutex$link1
	.comm	frames_mutex$link1,40,32
	.align 32
	.type	lengthTableBits, @object
	.size	lengthTableBits, 48
lengthTableBits:
	.long	10
	.long	12
	.long	14
	.long	9
	.long	11
	.long	13
	.long	8
	.long	16
	.long	16
	.long	8
	.long	10
	.long	12
	.align 32
	.type	lengthTableBits$link1, @object
	.size	lengthTableBits$link1, 64
lengthTableBits$link1:
	.long	3
	.long	4
	.long	5
	.long	6
	.long	0
	.long	3
	.long	4
	.long	5
	.long	0
	.long	0
	.long	4
	.long	5
	.long	0
	.long	0
	.long	3
	.long	4
	.section	.data.rel.local,"aw"
	.align 32
	.type	maskMakers, @object
	.size	maskMakers, 64
maskMakers:
	.quad	Mask_mask0
	.quad	Mask_mask1
	.quad	Mask_mask2
	.quad	Mask_mask3
	.quad	Mask_mask4
	.quad	Mask_mask5
	.quad	Mask_mask6
	.quad	Mask_mask7
	.align 32
	.type	maskMakers$link1, @object
	.size	maskMakers$link1, 32
maskMakers$link1:
	.quad	Mask_mask0$link1
	.quad	Mask_mask1$link1
	.quad	Mask_mask2$link1
	.quad	Mask_mask3$link1
	.section	.rodata
	.align 32
	.type	mqrspecCapacity, @object
	.size	mqrspecCapacity, 100
mqrspecCapacity:
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	11
	.long	2
	.long	0
	.long	0
	.long	0
	.long	13
	.long	5
	.long	6
	.long	0
	.long	0
	.long	15
	.long	6
	.long	8
	.long	0
	.long	0
	.long	17
	.long	8
	.long	10
	.long	14
	.long	0
	.align 32
	.type	qrspecCapacity, @object
	.size	qrspecCapacity, 1148
qrspecCapacity:
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	21
	.long	26
	.long	0
	.long	7
	.long	10
	.long	13
	.long	17
	.long	25
	.long	44
	.long	7
	.long	10
	.long	16
	.long	22
	.long	28
	.long	29
	.long	70
	.long	7
	.long	15
	.long	26
	.long	36
	.long	44
	.long	33
	.long	100
	.long	7
	.long	20
	.long	36
	.long	52
	.long	64
	.long	37
	.long	134
	.long	7
	.long	26
	.long	48
	.long	72
	.long	88
	.long	41
	.long	172
	.long	7
	.long	36
	.long	64
	.long	96
	.long	112
	.long	45
	.long	196
	.long	0
	.long	40
	.long	72
	.long	108
	.long	130
	.long	49
	.long	242
	.long	0
	.long	48
	.long	88
	.long	132
	.long	156
	.long	53
	.long	292
	.long	0
	.long	60
	.long	110
	.long	160
	.long	192
	.long	57
	.long	346
	.long	0
	.long	72
	.long	130
	.long	192
	.long	224
	.long	61
	.long	404
	.long	0
	.long	80
	.long	150
	.long	224
	.long	264
	.long	65
	.long	466
	.long	0
	.long	96
	.long	176
	.long	260
	.long	308
	.long	69
	.long	532
	.long	0
	.long	104
	.long	198
	.long	288
	.long	352
	.long	73
	.long	581
	.long	3
	.long	120
	.long	216
	.long	320
	.long	384
	.long	77
	.long	655
	.long	3
	.long	132
	.long	240
	.long	360
	.long	432
	.long	81
	.long	733
	.long	3
	.long	144
	.long	280
	.long	408
	.long	480
	.long	85
	.long	815
	.long	3
	.long	168
	.long	308
	.long	448
	.long	532
	.long	89
	.long	901
	.long	3
	.long	180
	.long	338
	.long	504
	.long	588
	.long	93
	.long	991
	.long	3
	.long	196
	.long	364
	.long	546
	.long	650
	.long	97
	.long	1085
	.long	3
	.long	224
	.long	416
	.long	600
	.long	700
	.long	101
	.long	1156
	.long	4
	.long	224
	.long	442
	.long	644
	.long	750
	.long	105
	.long	1258
	.long	4
	.long	252
	.long	476
	.long	690
	.long	816
	.long	109
	.long	1364
	.long	4
	.long	270
	.long	504
	.long	750
	.long	900
	.long	113
	.long	1474
	.long	4
	.long	300
	.long	560
	.long	810
	.long	960
	.long	117
	.long	1588
	.long	4
	.long	312
	.long	588
	.long	870
	.long	1050
	.long	121
	.long	1706
	.long	4
	.long	336
	.long	644
	.long	952
	.long	1110
	.long	125
	.long	1828
	.long	4
	.long	360
	.long	700
	.long	1020
	.long	1200
	.long	129
	.long	1921
	.long	3
	.long	390
	.long	728
	.long	1050
	.long	1260
	.long	133
	.long	2051
	.long	3
	.long	420
	.long	784
	.long	1140
	.long	1350
	.long	137
	.long	2185
	.long	3
	.long	450
	.long	812
	.long	1200
	.long	1440
	.long	141
	.long	2323
	.long	3
	.long	480
	.long	868
	.long	1290
	.long	1530
	.long	145
	.long	2465
	.long	3
	.long	510
	.long	924
	.long	1350
	.long	1620
	.long	149
	.long	2611
	.long	3
	.long	540
	.long	980
	.long	1440
	.long	1710
	.long	153
	.long	2761
	.long	3
	.long	570
	.long	1036
	.long	1530
	.long	1800
	.long	157
	.long	2876
	.long	0
	.long	570
	.long	1064
	.long	1590
	.long	1890
	.long	161
	.long	3034
	.long	0
	.long	600
	.long	1120
	.long	1680
	.long	1980
	.long	165
	.long	3196
	.long	0
	.long	630
	.long	1204
	.long	1770
	.long	2100
	.long	169
	.long	3362
	.long	0
	.long	660
	.long	1260
	.long	1860
	.long	2220
	.long	173
	.long	3532
	.long	0
	.long	720
	.long	1316
	.long	1950
	.long	2310
	.long	177
	.long	3706
	.long	0
	.long	750
	.long	1372
	.long	2040
	.long	2430
	.local	rslist
	.comm	rslist,8,8
	.local	rslist_mutex
	.comm	rslist_mutex,40,32
	.local	threads
	.comm	threads,80,32
	.globl	tv
	.bss
	.align 16
	.type	tv, @object
	.size	tv, 16
tv:
	.zero	16
	.section	.rodata
	.align 32
	.type	typeTable, @object
	.size	typeTable, 60
typeTable:
	.long	-1
	.long	-1
	.long	-1
	.long	0
	.long	-1
	.long	-1
	.long	1
	.long	2
	.long	-1
	.long	3
	.long	4
	.long	-1
	.long	5
	.long	6
	.long	7
	.align 32
	.type	versionPattern, @object
	.size	versionPattern, 136
versionPattern:
	.long	31892
	.long	34236
	.long	39577
	.long	42195
	.long	48118
	.long	51042
	.long	55367
	.long	58893
	.long	63784
	.long	68472
	.long	70749
	.long	76311
	.long	79154
	.long	84390
	.long	87683
	.long	92361
	.long	96236
	.long	102084
	.long	102881
	.long	110507
	.long	110734
	.long	117786
	.long	119615
	.long	126325
	.long	127568
	.long	133589
	.long	136944
	.long	141498
	.long	145311
	.long	150283
	.long	152622
	.long	158308
	.long	161089
	.long	167017
	.text
	.type	BitStream_allocate, @function
BitStream_allocate:
.LFB0:
	.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	.L2
	mov	eax, -1
	jmp	.L3
.L2:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L4
	mov	eax, -1
	jmp	.L3
.L4:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L5
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
.L5:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 0
.L3:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	BitStream_allocate, .-BitStream_allocate
	.globl	BitStream_append
	.type	BitStream_append, @function
BitStream_append:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	cmp	QWORD PTR -48[rbp], 0
	jne	.L7
	mov	eax, -1
	jmp	.L8
.L7:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L9
	mov	eax, 0
	jmp	.L8
.L9:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L10
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	BitStream_allocate
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L11
	mov	eax, -1
	jmp	.L8
.L11:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, 0
	jmp	.L8
.L10:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, edx
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L12
	mov	eax, -1
	jmp	.L8
.L12:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR [rcx]
	movsx	rsi, ecx
	mov	rcx, QWORD PTR -8[rbp]
	add	rcx, rsi
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 0
.L8:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	BitStream_append, .-BitStream_append
	.globl	BitStream_appendBytes
	.type	BitStream_appendBytes, @function
BitStream_appendBytes:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 0
	jne	.L14
	mov	eax, 0
	jmp	.L15
.L14:
	mov	rdx, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	BitStream_newFromBytes
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L16
	mov	eax, -1
	jmp	.L15
.L16:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	BitStream_append
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	BitStream_free
	mov	eax, DWORD PTR -12[rbp]
.L15:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	BitStream_appendBytes, .-BitStream_appendBytes
	.globl	BitStream_appendNum
	.type	BitStream_appendNum, @function
BitStream_appendNum:
.LFB3:
	.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
	cmp	DWORD PTR -28[rbp], 0
	jne	.L18
	mov	eax, 0
	jmp	.L19
.L18:
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	edi, eax
	call	BitStream_newFromNum
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L20
	mov	eax, -1
	jmp	.L19
.L20:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	BitStream_append
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	BitStream_free
	mov	eax, DWORD PTR -12[rbp]
.L19:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	BitStream_appendNum, .-BitStream_appendNum
	.globl	BitStream_free
	.type	BitStream_free, @function
BitStream_free:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L23
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L23:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	BitStream_free, .-BitStream_free
	.globl	BitStream_new
	.type	BitStream_new, @function
BitStream_new:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L25
	mov	eax, 0
	jmp	.L26
.L25:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
.L26:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	BitStream_new, .-BitStream_new
	.type	BitStream_newFromBytes, @function
BitStream_newFromBytes:
.LFB6:
	.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	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	call	BitStream_new
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L28
	mov	eax, 0
	jmp	.L29
.L28:
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	BitStream_allocate
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L30
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	BitStream_free
	mov	eax, 0
	jmp	.L29
.L30:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -28[rbp], 0
	jmp	.L31
.L36:
	mov	BYTE PTR -29[rbp], -128
	mov	DWORD PTR -24[rbp], 0
	jmp	.L32
.L35:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	al, BYTE PTR -29[rbp]
	test	al, al
	je	.L33
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 1
	jmp	.L34
.L33:
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
.L34:
	add	QWORD PTR -16[rbp], 1
	shr	BYTE PTR -29[rbp]
	add	DWORD PTR -24[rbp], 1
.L32:
	cmp	DWORD PTR -24[rbp], 7
	jle	.L35
	add	DWORD PTR -28[rbp], 1
.L31:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L36
	mov	rax, QWORD PTR -8[rbp]
.L29:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	BitStream_newFromBytes, .-BitStream_newFromBytes
	.type	BitStream_newFromNum, @function
BitStream_newFromNum:
.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, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	call	BitStream_new
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L38
	mov	eax, 0
	jmp	.L39
.L38:
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	BitStream_allocate
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L40
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	BitStream_free
	mov	eax, 0
	jmp	.L39
.L40:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 1
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	DWORD PTR -24[rbp], 0
	jmp	.L41
.L44:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, DWORD PTR -40[rbp]
	test	eax, eax
	je	.L42
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 1
	jmp	.L43
.L42:
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
.L43:
	add	QWORD PTR -16[rbp], 1
	shr	DWORD PTR -28[rbp]
	add	DWORD PTR -24[rbp], 1
.L41:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L44
	mov	rax, QWORD PTR -8[rbp]
.L39:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	BitStream_newFromNum, .-BitStream_newFromNum
	.globl	BitStream_toByte
	.type	BitStream_toByte, @function
BitStream_toByte:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	jne	.L46
	mov	eax, 0
	jmp	.L47
.L46:
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 7
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L48
	mov	eax, 0
	jmp	.L47
.L48:
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L49
.L52:
	mov	BYTE PTR -41[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	jmp	.L50
.L51:
	sal	BYTE PTR -41[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	or	BYTE PTR -41[rbp], al
	add	QWORD PTR -24[rbp], 1
	add	DWORD PTR -36[rbp], 1
.L50:
	cmp	DWORD PTR -36[rbp], 7
	jle	.L51
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -41[rbp]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -40[rbp], 1
.L49:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L52
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 7
	test	eax, eax
	je	.L53
	mov	BYTE PTR -41[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	jmp	.L54
.L55:
	sal	BYTE PTR -41[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	or	BYTE PTR -41[rbp], al
	add	QWORD PTR -24[rbp], 1
	add	DWORD PTR -36[rbp], 1
.L54:
	mov	eax, DWORD PTR -32[rbp]
	and	eax, 7
	cmp	DWORD PTR -36[rbp], eax
	jl	.L55
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -41[rbp]
	mov	BYTE PTR [rdx], al
.L53:
	mov	rax, QWORD PTR -8[rbp]
.L47:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	BitStream_toByte, .-BitStream_toByte
	.type	FrameFiller_new, @function
FrameFiller_new:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	edi, 40
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L57
	mov	eax, 0
	jmp	.L58
.L57:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], -1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 28[rax], -1
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
.L58:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	FrameFiller_new, .-FrameFiller_new
	.type	FrameFiller_next, @function
FrameFiller_next:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, -1
	jne	.L60
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 28[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	imul	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cdqe
	add	rax, rdx
	add	rax, rcx
	jmp	.L61
.L60:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	jne	.L62
	sub	DWORD PTR -28[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 28[rax], edx
	jmp	.L63
.L62:
	add	DWORD PTR -28[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	add	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 28[rax], edx
.L63:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jns	.L64
	cmp	DWORD PTR -24[rbp], 0
	jns	.L65
	mov	DWORD PTR -24[rbp], 0
	sub	DWORD PTR -28[rbp], 2
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 24[rax], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L65
	cmp	DWORD PTR -28[rbp], 6
	jne	.L65
	sub	DWORD PTR -28[rbp], 1
	mov	DWORD PTR -24[rbp], 9
	jmp	.L65
.L64:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jne	.L65
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	mov	DWORD PTR -24[rbp], eax
	sub	DWORD PTR -28[rbp], 2
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 24[rax], -1
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L65
	cmp	DWORD PTR -28[rbp], 6
	jne	.L65
	sub	DWORD PTR -28[rbp], 1
	sub	DWORD PTR -24[rbp], 8
.L65:
	cmp	DWORD PTR -28[rbp], 0
	js	.L66
	cmp	DWORD PTR -24[rbp], 0
	jns	.L67
.L66:
	mov	eax, 0
	jmp	.L61
.L67:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	eax, DWORD PTR -20[rbp]
	imul	eax, DWORD PTR -24[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L68
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	FrameFiller_next
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L61
.L68:
	mov	eax, DWORD PTR -24[rbp]
	imul	eax, DWORD PTR -20[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
.L61:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	FrameFiller_next, .-FrameFiller_next
	.globl	FrameFiller_test
	.type	FrameFiller_test, @function
FrameFiller_test:
.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, 64
	mov	DWORD PTR -52[rbp], edi
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	QRspec_getWidth
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	QRspec_newFrame
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L70
	mov	eax, 0
	jmp	.L71
.L70:
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	FrameFiller_new
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L72
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L71
.L72:
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, 0
	mov	edi, eax
	call	QRspec_getDataLength
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, 0
	mov	edi, eax
	call	QRspec_getECCLength
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	QRspec_getRemainder
	mov	DWORD PTR -32[rbp], eax
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L73
.L75:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	FrameFiller_next
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L74
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L71
.L74:
	mov	eax, DWORD PTR -48[rbp]
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -48[rbp], 1
.L73:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L75
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
.L71:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	FrameFiller_test, .-FrameFiller_test
	.section	.rodata
	.align 8
.LC0:
	.string	"Frame filler run over the frame!\n"
	.text
	.globl	FrameFiller_testMQR
	.type	FrameFiller_testMQR, @function
FrameFiller_testMQR:
.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, 64
	mov	DWORD PTR -52[rbp], edi
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	MQRspec_getWidth
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	MQRspec_newFrame
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L77
	mov	eax, 0
	jmp	.L78
.L77:
	mov	rcx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	edi, eax
	call	FrameFiller_new
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L79
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L78
.L79:
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, 0
	mov	edi, eax
	call	MQRspec_getDataLengthBit
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, 0
	mov	edi, eax
	call	MQRspec_getECCLength
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L80
.L82:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	FrameFiller_next
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L81
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 33
	mov	esi, 1
	lea	rdi, .LC0[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L78
.L81:
	mov	eax, DWORD PTR -44[rbp]
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L80:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L82
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
.L78:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	FrameFiller_testMQR, .-FrameFiller_testMQR
	.globl	MMask_evaluateSymbol
	.type	MMask_evaluateSymbol, @function
MMask_evaluateSymbol:
.LFB13:
	.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 -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 1
	imul	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -24[rbp], 1
	jmp	.L84
.L85:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	add	DWORD PTR -16[rbp], eax
	add	DWORD PTR -24[rbp], 1
.L84:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L85
	mov	eax, DWORD PTR -36[rbp]
	add	eax, eax
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -20[rbp], 1
	jmp	.L86
.L87:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	add	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	QWORD PTR -8[rbp], rax
	add	DWORD PTR -20[rbp], 1
.L86:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L87
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jg	.L88
	mov	eax, DWORD PTR -16[rbp]
	sal	eax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	jmp	.L90
.L88:
	mov	eax, DWORD PTR -12[rbp]
	sal	eax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
.L90:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	MMask_evaluateSymbol, .-MMask_evaluateSymbol
	.globl	MMask_makeMask
	.type	MMask_makeMask, @function
MMask_makeMask:
.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, 64
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -40[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	cmp	DWORD PTR -40[rbp], 3
	jg	.L92
	cmp	DWORD PTR -40[rbp], 0
	jns	.L93
.L92:
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L94
.L93:
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	MQRspec_getWidth
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L95
	mov	eax, 0
	jmp	.L94
.L95:
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, maskMakers$link1[rip]
	mov	r8, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	r8
	mov	edi, DWORD PTR -52[rbp]
	mov	ecx, DWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	r8d, edi
	mov	edi, eax
	call	MMask_writeFormatInformation
	mov	rax, QWORD PTR -16[rbp]
.L94:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	MMask_makeMask, .-MMask_makeMask
	.globl	MMask_makeMaskedFrame
	.type	MMask_makeMaskedFrame, @function
MMask_makeMaskedFrame:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	eax, DWORD PTR -20[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L97
	mov	eax, 0
	jmp	.L98
.L97:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, maskMakers$link1[rip]
	mov	r8, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	r8
	mov	rax, QWORD PTR -8[rbp]
.L98:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	MMask_makeMaskedFrame, .-MMask_makeMaskedFrame
	.globl	MMask_mask
	.type	MMask_mask, @function
MMask_mask:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -56[rbp], edx
	mov	DWORD PTR -48[rbp], 0
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	MQRspec_getWidth
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L100
	mov	eax, 0
	jmp	.L101
.L100:
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -40[rbp], 0
	cmp	DWORD PTR -40[rbp], 3
	jg	.L102
	mov	DWORD PTR -36[rbp], 0
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, maskMakers$link1[rip]
	mov	r8, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	r8
	mov	edi, DWORD PTR -56[rbp]
	mov	ecx, DWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	esi, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -52[rbp]
	mov	r8d, edi
	mov	edi, eax
	call	MMask_writeFormatInformation
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	MMask_evaluateSymbol
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jge	.L103
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -32[rbp], rax
.L103:
	add	DWORD PTR -40[rbp], 1
.L102:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
.L101:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	MMask_mask, .-MMask_mask
	.globl	MMask_writeFormatInformation
	.type	MMask_writeFormatInformation, @function
MMask_writeFormatInformation:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	QWORD PTR -32[rbp], rdx
	mov	DWORD PTR -36[rbp], ecx
	mov	DWORD PTR -40[rbp], r8d
	mov	edx, DWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	MQRspec_getFormatInfo
	mov	DWORD PTR -8[rbp], eax
	mov	DWORD PTR -4[rbp], 0
	jmp	.L105
.L106:
	mov	eax, DWORD PTR -8[rbp]
	and	eax, 1
	or	eax, -124
	mov	BYTE PTR -9[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 1
	imul	eax, DWORD PTR -24[rbp]
	add	eax, 8
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -9[rbp]
	mov	BYTE PTR [rdx], al
	shr	DWORD PTR -8[rbp]
	add	DWORD PTR -4[rbp], 1
.L105:
	cmp	DWORD PTR -4[rbp], 7
	jle	.L106
	mov	DWORD PTR -4[rbp], 0
	jmp	.L107
.L108:
	mov	eax, DWORD PTR -8[rbp]
	and	eax, 1
	or	eax, -124
	mov	BYTE PTR -9[rbp], al
	mov	eax, DWORD PTR -24[rbp]
	sal	eax, 3
	add	eax, 7
	sub	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -9[rbp]
	mov	BYTE PTR [rdx], al
	shr	DWORD PTR -8[rbp]
	add	DWORD PTR -4[rbp], 1
.L107:
	cmp	DWORD PTR -4[rbp], 6
	jle	.L108
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	MMask_writeFormatInformation, .-MMask_writeFormatInformation
	.globl	MQRraw_free
	.type	MQRraw_free, @function
MQRraw_free:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L111
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L111:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	MQRraw_free, .-MQRraw_free
	.globl	MQRraw_getCode
	.type	MQRraw_getCode, @function
MQRraw_getCode:
.LFB19:
	.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	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L113
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 44[rax]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -1[rbp], al
	jmp	.L114
.L113:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, ecx
	cmp	edx, eax
	jge	.L115
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, edx
	sub	eax, esi
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -1[rbp], al
	jmp	.L114
.L115:
	mov	eax, 0
	jmp	.L116
.L114:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 44[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 44[rax], edx
	movzx	eax, BYTE PTR -1[rbp]
.L116:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	MQRraw_getCode, .-MQRraw_getCode
	.globl	MQRraw_new
	.type	MQRraw_new, @function
MQRraw_new:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L118
	mov	eax, 0
	jmp	.L119
.L118:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	MQRspec_getDataLength
	mov	rdx, QWORD PTR -32[rbp]
	mov	DWORD PTR 4[rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	MQRspec_getECCLength
	mov	rdx, QWORD PTR -32[rbp]
	mov	DWORD PTR 8[rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	MQRspec_getDataLengthBit
	mov	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	sal	eax, 3
	sub	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	QRinput_getByteStream
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L120
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L119
.L120:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L121
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L119
.L121:
	mov	esi, 32
	mov	edi, 1
	call	calloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	jne	.L122
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	MQRraw_free
	mov	eax, 0
	jmp	.L119
.L122:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, 255
	sub	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	sub	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	r9d, edx
	mov	r8d, eax
	mov	ecx, 1
	mov	edx, 0
	mov	esi, 285
	mov	edi, 8
	call	init_rs
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L123
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	MQRraw_free
	mov	eax, 0
	jmp	.L119
.L123:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	r8, QWORD PTR -8[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	call	RSblock_initBlock
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 44[rax], 0
	mov	rax, QWORD PTR -32[rbp]
.L119:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	MQRraw_new, .-MQRraw_new
	.globl	MQRspec_clearCache
	.type	MQRspec_clearCache, @function
MQRspec_clearCache:
.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, 16
	lea	rdi, frames_mutex$link1[rip]
	call	pthread_mutex_lock@PLT
	mov	DWORD PTR -4[rbp], 1
	jmp	.L125
.L126:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, frames$link1[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, frames$link1[rip]
	mov	QWORD PTR [rdx+rax], 0
	add	DWORD PTR -4[rbp], 1
.L125:
	cmp	DWORD PTR -4[rbp], 4
	jle	.L126
	lea	rdi, frames_mutex$link1[rip]
	call	pthread_mutex_unlock@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	MQRspec_clearCache, .-MQRspec_clearCache
	.type	MQRspec_createFrame, @function
MQRspec_createFrame:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, mqrspecCapacity[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L128
	mov	eax, 0
	jmp	.L129
.L128:
	mov	eax, DWORD PTR -36[rbp]
	imul	eax, eax
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	esi, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	putFinderPattern$link1
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L130
.L131:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 7
	mov	BYTE PTR [rax], -64
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	QWORD PTR -32[rbp], rax
	add	DWORD PTR -40[rbp], 1
.L130:
	cmp	DWORD PTR -40[rbp], 6
	jle	.L131
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, edx
	sal	eax, 3
	sub	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, 8
	mov	esi, 192
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -36[rbp]
	sal	eax, 3
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, 8
	mov	esi, 132
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L132
.L133:
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], -124
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	QWORD PTR -32[rbp], rax
	add	DWORD PTR -40[rbp], 1
.L132:
	cmp	DWORD PTR -40[rbp], 6
	jle	.L133
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	sal	eax, 3
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 1
	jmp	.L134
.L135:
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 1
	or	eax, -112
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 1
	or	eax, -112
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -32[rbp], 1
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	add	DWORD PTR -44[rbp], 1
.L134:
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 7
	cmp	DWORD PTR -44[rbp], eax
	jl	.L135
	mov	rax, QWORD PTR -8[rbp]
.L129:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	MQRspec_createFrame, .-MQRspec_createFrame
	.globl	MQRspec_getDataLength
	.type	MQRspec_getDataLength, @function
MQRspec_getDataLength:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	MQRspec_getDataLengthBit
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 4
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	MQRspec_getDataLength, .-MQRspec_getDataLength
	.globl	MQRspec_getDataLengthBit
	.type	MQRspec_getDataLengthBit, @function
MQRspec_getDataLengthBit:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, mqrspecCapacity[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	ecx, DWORD PTR -24[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, mqrspecCapacity[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L139
	mov	eax, 0
	jmp	.L140
.L139:
	mov	eax, DWORD PTR -8[rbp]
	imul	eax, eax
	lea	edx, -64[rax]
	mov	eax, DWORD PTR -4[rbp]
	lea	ecx, 0[0+rax*8]
	mov	eax, edx
	sub	eax, ecx
.L140:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	MQRspec_getDataLengthBit, .-MQRspec_getDataLengthBit
	.globl	MQRspec_getECCLength
	.type	MQRspec_getECCLength, @function
MQRspec_getECCLength:
.LFB25:
	.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 -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	ecx, DWORD PTR -8[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, mqrspecCapacity[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	MQRspec_getECCLength, .-MQRspec_getECCLength
	.globl	MQRspec_getFormatInfo
	.type	MQRspec_getFormatInfo, @function
MQRspec_getFormatInfo:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	cmp	DWORD PTR -20[rbp], 3
	jg	.L144
	cmp	DWORD PTR -20[rbp], 0
	jns	.L145
.L144:
	mov	eax, 0
	jmp	.L146
.L145:
	cmp	DWORD PTR -24[rbp], 4
	jg	.L147
	cmp	DWORD PTR -24[rbp], 0
	jg	.L148
.L147:
	mov	eax, 0
	jmp	.L146
.L148:
	cmp	DWORD PTR -28[rbp], 3
	jne	.L149
	mov	eax, 0
	jmp	.L146
.L149:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, typeTable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jns	.L150
	mov	eax, 0
	jmp	.L146
.L150:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, formatInfo$link1[rip]
	mov	eax, DWORD PTR [rdx+rax]
.L146:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	MQRspec_getFormatInfo, .-MQRspec_getFormatInfo
	.globl	MQRspec_getWidth
	.type	MQRspec_getWidth, @function
MQRspec_getWidth:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, mqrspecCapacity[rip]
	mov	eax, DWORD PTR [rdx+rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	MQRspec_getWidth, .-MQRspec_getWidth
	.globl	MQRspec_lengthIndicator
	.type	MQRspec_lengthIndicator, @function
MQRspec_lengthIndicator:
.LFB28:
	.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 -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	mov	edx, DWORD PTR -8[rbp]
	sub	edx, 1
	movsx	rdx, edx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, lengthTableBits$link1[rip]
	mov	eax, DWORD PTR [rdx+rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	MQRspec_lengthIndicator, .-MQRspec_lengthIndicator
	.globl	MQRspec_maximumWords
	.type	MQRspec_maximumWords, @function
MQRspec_maximumWords:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	mov	edx, DWORD PTR -24[rbp]
	sub	edx, 1
	movsx	rdx, edx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, lengthTableBits$link1[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -20[rbp], 3
	jne	.L156
	sal	DWORD PTR -8[rbp]
.L156:
	mov	eax, DWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	MQRspec_maximumWords, .-MQRspec_maximumWords
	.globl	MQRspec_newFrame
	.type	MQRspec_newFrame, @function
MQRspec_newFrame:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	DWORD PTR -52[rbp], edi
	cmp	DWORD PTR -52[rbp], 4
	jg	.L159
	cmp	DWORD PTR -52[rbp], 0
	jg	.L160
.L159:
	mov	eax, 0
	jmp	.L161
.L160:
	lea	rdi, frames_mutex$link1[rip]
	call	pthread_mutex_lock@PLT
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, frames$link1[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L162
	mov	eax, DWORD PTR -52[rbp]
	movsx	rbx, eax
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	MQRspec_createFrame
	lea	rcx, 0[0+rbx*8]
	lea	rdx, frames$link1[rip]
	mov	QWORD PTR [rcx+rdx], rax
.L162:
	lea	rdi, frames_mutex$link1[rip]
	call	pthread_mutex_unlock@PLT
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, frames$link1[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L163
	mov	eax, 0
	jmp	.L161
.L163:
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, mqrspecCapacity[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L164
	mov	eax, 0
	jmp	.L161
.L164:
	mov	eax, DWORD PTR -36[rbp]
	imul	eax, eax
	movsx	rdx, eax
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rax, frames$link1[rip]
	mov	rcx, QWORD PTR [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
.L161:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	MQRspec_newFrame, .-MQRspec_newFrame
	.globl	Mask_calcN1N3
	.type	Mask_calcN1N3, @function
Mask_calcN1N3:
.LFB31:
	.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 -8[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L166
.L174:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	jle	.L167
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, 3[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	sub	eax, 5
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
.L167:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 1
	test	eax, eax
	je	.L168
	cmp	DWORD PTR -12[rbp], 2
	jle	.L168
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 2
	cmp	DWORD PTR -12[rbp], eax
	jge	.L168
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	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	.L168
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	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 -4[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 2
	cdqe
	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
	jne	.L168
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	cdqe
	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
	jne	.L168
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 1
	cdqe
	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
	jne	.L168
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 2
	cdqe
	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
	jne	.L168
	cmp	DWORD PTR -12[rbp], 3
	jne	.L169
	mov	BYTE PTR -14[rbp], 1
	jmp	.L170
.L169:
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 3
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -4[rbp]
	sal	edx, 2
	cmp	eax, edx
	setge	al
	mov	BYTE PTR -14[rbp], al
.L170:
	cmp	BYTE PTR -14[rbp], 0
	je	.L171
	add	DWORD PTR -8[rbp], 40
	jmp	.L168
.L171:
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 4
	cmp	DWORD PTR -20[rbp], eax
	jg	.L172
	mov	BYTE PTR -13[rbp], 1
	jmp	.L173
.L172:
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 3
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -4[rbp]
	sal	edx, 2
	cmp	eax, edx
	setge	al
	mov	BYTE PTR -13[rbp], al
.L173:
	cmp	BYTE PTR -13[rbp], 0
	je	.L168
	add	DWORD PTR -8[rbp], 40
.L168:
	add	DWORD PTR -12[rbp], 1
.L166:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L174
	mov	eax, DWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	Mask_calcN1N3, .-Mask_calcN1N3
	.globl	Mask_calcN2
	.type	Mask_calcN2, @function
Mask_calcN2:
.LFB32:
	.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 -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -12[rbp], 0
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -16[rbp], 1
	jmp	.L177
.L181:
	mov	DWORD PTR -20[rbp], 1
	jmp	.L178
.L180:
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	mov	ecx, edx
	and	ecx, eax
	mov	eax, DWORD PTR -36[rbp]
	neg	eax
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	ecx, eax
	mov	eax, DWORD PTR -36[rbp]
	not	eax
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, ecx
	mov	BYTE PTR -22[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	mov	ecx, edx
	or	ecx, eax
	mov	eax, DWORD PTR -36[rbp]
	neg	eax
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	ecx, eax
	mov	eax, DWORD PTR -36[rbp]
	not	eax
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, ecx
	mov	BYTE PTR -21[rbp], al
	movzx	eax, BYTE PTR -21[rbp]
	xor	eax, 1
	or	al, BYTE PTR -22[rbp]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L179
	add	DWORD PTR -12[rbp], 3
.L179:
	add	QWORD PTR -8[rbp], 1
	add	DWORD PTR -20[rbp], 1
.L178:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L180
	add	QWORD PTR -8[rbp], 1
	add	DWORD PTR -16[rbp], 1
.L177:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L181
	mov	eax, DWORD PTR -12[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	Mask_calcN2, .-Mask_calcN2
	.globl	Mask_calcRunLength
	.type	Mask_calcRunLength, @function
Mask_calcRunLength:
.LFB33:
	.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 -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -40[rbp], edx
	mov	QWORD PTR -56[rbp], rcx
	cmp	DWORD PTR -40[rbp], 0
	je	.L184
	mov	eax, DWORD PTR -36[rbp]
	jmp	.L185
.L184:
	mov	eax, 1
.L185:
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	test	al, al
	je	.L186
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], -1
	mov	DWORD PTR -20[rbp], 1
	jmp	.L187
.L186:
	mov	DWORD PTR -20[rbp], 0
.L187:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -16[rbp], 1
	jmp	.L188
.L191:
	mov	eax, DWORD PTR -12[rbp]
	neg	eax
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	xor	eax, edx
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L189
	add	DWORD PTR -20[rbp], 1
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	jmp	.L190
.L189:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	add	edx, 1
	mov	DWORD PTR [rax], edx
.L190:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	QWORD PTR -8[rbp], rax
	add	DWORD PTR -16[rbp], 1
.L188:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L191
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	Mask_calcRunLength, .-Mask_calcRunLength
	.globl	Mask_evaluateSymbol
	.type	Mask_evaluateSymbol, @function
Mask_evaluateSymbol:
.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, 768
	mov	DWORD PTR -756[rbp], edi
	mov	QWORD PTR -768[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -740[rbp], 0
	mov	rdx, QWORD PTR -768[rbp]
	mov	eax, DWORD PTR -756[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	Mask_calcN2
	mov	DWORD PTR -736[rbp], eax
	mov	eax, DWORD PTR -736[rbp]
	add	DWORD PTR -740[rbp], eax
	mov	DWORD PTR -744[rbp], 0
	jmp	.L194
.L195:
	mov	eax, DWORD PTR -744[rbp]
	imul	eax, DWORD PTR -756[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -768[rbp]
	lea	rsi, [rdx+rax]
	lea	rdx, -720[rbp]
	mov	eax, DWORD PTR -756[rbp]
	mov	rcx, rdx
	mov	edx, 0
	mov	edi, eax
	call	Mask_calcRunLength
	mov	DWORD PTR -732[rbp], eax
	lea	rdx, -720[rbp]
	mov	eax, DWORD PTR -732[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	Mask_calcN1N3
	mov	DWORD PTR -724[rbp], eax
	mov	eax, DWORD PTR -724[rbp]
	add	DWORD PTR -740[rbp], eax
	add	DWORD PTR -744[rbp], 1
.L194:
	mov	eax, DWORD PTR -744[rbp]
	cmp	eax, DWORD PTR -756[rbp]
	jl	.L195
	mov	DWORD PTR -748[rbp], 0
	jmp	.L196
.L197:
	mov	eax, DWORD PTR -748[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -768[rbp]
	lea	rsi, [rdx+rax]
	lea	rdx, -720[rbp]
	mov	eax, DWORD PTR -756[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	edi, eax
	call	Mask_calcRunLength
	mov	DWORD PTR -732[rbp], eax
	lea	rdx, -720[rbp]
	mov	eax, DWORD PTR -732[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	Mask_calcN1N3
	mov	DWORD PTR -728[rbp], eax
	mov	eax, DWORD PTR -728[rbp]
	add	DWORD PTR -740[rbp], eax
	add	DWORD PTR -748[rbp], 1
.L196:
	mov	eax, DWORD PTR -748[rbp]
	cmp	eax, DWORD PTR -756[rbp]
	jl	.L197
	mov	eax, DWORD PTR -740[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L199
	call	__stack_chk_fail@PLT
.L199:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	Mask_evaluateSymbol, .-Mask_evaluateSymbol
	.globl	Mask_makeMask
	.type	Mask_makeMask, @function
Mask_makeMask:
.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, 64
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -40[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	cmp	DWORD PTR -40[rbp], 7
	jg	.L201
	cmp	DWORD PTR -40[rbp], 0
	jns	.L202
.L201:
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L203
.L202:
	mov	eax, DWORD PTR -36[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L204
	mov	eax, 0
	jmp	.L203
.L204:
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, maskMakers[rip]
	mov	r8, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	r8
	mov	ecx, DWORD PTR -52[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	Mask_writeFormatInformation
	mov	rax, QWORD PTR -16[rbp]
.L203:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	Mask_makeMask, .-Mask_makeMask
	.globl	Mask_makeMaskedFrame
	.type	Mask_makeMaskedFrame, @function
Mask_makeMaskedFrame:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	eax, DWORD PTR -20[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L206
	mov	eax, 0
	jmp	.L207
.L206:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, maskMakers[rip]
	mov	r8, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	r8
	mov	rax, QWORD PTR -8[rbp]
.L207:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	Mask_makeMaskedFrame, .-Mask_makeMaskedFrame
	.globl	Mask_mask
	.type	Mask_mask, @function
Mask_mask:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -88[rbp], edx
	mov	DWORD PTR -68[rbp], 2147483647
	mov	eax, DWORD PTR -84[rbp]
	imul	eax, eax
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L209
	mov	eax, 0
	jmp	.L210
.L209:
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	cmp	DWORD PTR -60[rbp], 7
	jg	.L211
	mov	DWORD PTR -56[rbp], 0
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, maskMakers[rip]
	mov	r8, QWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	r8
	mov	DWORD PTR -52[rbp], eax
	mov	ecx, DWORD PTR -88[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	edi, eax
	call	Mask_writeFormatInformation
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	add	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	imul	edx, eax, 200
	mov	eax, DWORD PTR -64[rbp]
	add	eax, edx
	cdq
	idiv	DWORD PTR -64[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 50
	cdq
	xor	eax, edx
	mov	DWORD PTR -40[rbp], eax
	sub	DWORD PTR -40[rbp], edx
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	DWORD PTR -56[rbp], eax
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	Mask_evaluateSymbol
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	add	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jge	.L212
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -32[rbp], rax
.L212:
	add	DWORD PTR -60[rbp], 1
.L211:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
.L210:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	Mask_mask, .-Mask_mask
	.type	Mask_mask0, @function
Mask_mask0:
.LFB38:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L214
.L219:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L215
.L218:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L216
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L217
.L216:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	ecx, eax
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	and	eax, 1
	test	eax, eax
	sete	al
	xor	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L217:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	add	DWORD PTR -4[rbp], eax
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -12[rbp], 1
.L215:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L218
	add	DWORD PTR -8[rbp], 1
.L214:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L219
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	Mask_mask0, .-Mask_mask0
	.type	Mask_mask0$link1, @function
Mask_mask0$link1:
.LFB39:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L222
.L227:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L223
.L226:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L224
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L225
.L224:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 1
	test	eax, eax
	sete	al
	xor	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L225:
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -8[rbp], 1
.L223:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L226
	add	DWORD PTR -4[rbp], 1
.L222:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L227
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	Mask_mask0$link1, .-Mask_mask0$link1
	.type	Mask_mask1, @function
Mask_mask1:
.LFB40:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L229
.L234:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L230
.L233:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L231
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L232
.L231:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	mov	eax, DWORD PTR -8[rbp]
	and	eax, 1
	test	eax, eax
	sete	al
	xor	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L232:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	add	DWORD PTR -4[rbp], eax
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -12[rbp], 1
.L230:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L233
	add	DWORD PTR -8[rbp], 1
.L229:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L234
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	Mask_mask1, .-Mask_mask1
	.type	Mask_mask1$link1, @function
Mask_mask1$link1:
.LFB41:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L237
.L242:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L238
.L241:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L239
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L240
.L239:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	esi, eax
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edi, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, edi
	and	eax, 1
	test	eax, eax
	sete	al
	xor	eax, esi
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L240:
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -8[rbp], 1
.L238:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L241
	add	DWORD PTR -4[rbp], 1
.L237:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L242
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	Mask_mask1$link1, .-Mask_mask1$link1
	.type	Mask_mask2, @function
Mask_mask2:
.LFB42:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L244
.L249:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L245
.L248:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L246
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L247
.L246:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	esi, eax
	mov	edx, DWORD PTR -12[rbp]
	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
	sete	al
	xor	eax, esi
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L247:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	add	DWORD PTR -4[rbp], eax
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -12[rbp], 1
.L245:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L248
	add	DWORD PTR -8[rbp], 1
.L244:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L249
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	Mask_mask2, .-Mask_mask2
	.type	Mask_mask2$link1, @function
Mask_mask2$link1:
.LFB43:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L252
.L257:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L253
.L256:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L254
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L255
.L254:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	esi, eax
	mov	eax, DWORD PTR -8[rbp]
	imul	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	mov	eax, DWORD PTR -8[rbp]
	imul	eax, DWORD PTR -4[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
	add	eax, edi
	and	eax, 1
	test	eax, eax
	sete	al
	xor	eax, esi
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L255:
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -8[rbp], 1
.L253:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L256
	add	DWORD PTR -4[rbp], 1
.L252:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L257
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	Mask_mask2$link1, .-Mask_mask2$link1
	.type	Mask_mask3, @function
Mask_mask3:
.LFB44:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L259
.L264:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L260
.L263:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L261
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L262
.L261:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	esi, eax
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	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
	sete	al
	xor	eax, esi
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L262:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	add	DWORD PTR -4[rbp], eax
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -12[rbp], 1
.L260:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L263
	add	DWORD PTR -8[rbp], 1
.L259:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L264
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	Mask_mask3, .-Mask_mask3
	.type	Mask_mask3$link1, @function
Mask_mask3$link1:
.LFB45:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L267
.L272:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L268
.L271:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L269
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L270
.L269:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	esi, eax
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	mov	edi, eax
	mov	eax, DWORD PTR -8[rbp]
	imul	eax, DWORD PTR -4[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
	add	eax, edi
	and	eax, 1
	test	eax, eax
	sete	al
	xor	eax, esi
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L270:
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -8[rbp], 1
.L268:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L271
	add	DWORD PTR -4[rbp], 1
.L267:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L272
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	Mask_mask3$link1, .-Mask_mask3$link1
	.type	Mask_mask4, @function
Mask_mask4:
.LFB46:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L274
.L279:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L275
.L278:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L276
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L277
.L276:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	esi, eax
	mov	eax, DWORD PTR -8[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edi, eax
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, edi
	and	eax, 1
	test	eax, eax
	sete	al
	xor	eax, esi
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L277:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	add	DWORD PTR -4[rbp], eax
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -12[rbp], 1
.L275:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L278
	add	DWORD PTR -8[rbp], 1
.L274:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L279
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	Mask_mask4, .-Mask_mask4
	.type	Mask_mask5, @function
Mask_mask5:
.LFB47:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L282
.L287:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L283
.L286:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L284
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L285
.L284:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	r8d, eax
	mov	eax, DWORD PTR -12[rbp]
	imul	eax, DWORD PTR -8[rbp]
	and	eax, 1
	mov	esi, eax
	mov	eax, DWORD PTR -12[rbp]
	imul	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	mov	edi, eax
	sar	edi, 31
	mov	ecx, edx
	sub	ecx, edi
	mov	edx, ecx
	add	edx, edx
	add	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	lea	eax, [rsi+rcx]
	test	eax, eax
	sete	al
	xor	eax, r8d
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L285:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	add	DWORD PTR -4[rbp], eax
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -12[rbp], 1
.L283:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L286
	add	DWORD PTR -8[rbp], 1
.L282:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L287
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	Mask_mask5, .-Mask_mask5
	.type	Mask_mask6, @function
Mask_mask6:
.LFB48:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L290
.L295:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L291
.L294:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L292
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L293
.L292:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	esi, eax
	mov	eax, DWORD PTR -12[rbp]
	imul	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	mov	eax, DWORD PTR -12[rbp]
	imul	eax, DWORD PTR -8[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
	add	eax, edi
	and	eax, 1
	test	eax, eax
	sete	al
	xor	eax, esi
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L293:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	add	DWORD PTR -4[rbp], eax
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -12[rbp], 1
.L291:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L294
	add	DWORD PTR -8[rbp], 1
.L290:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L295
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	Mask_mask6, .-Mask_mask6
	.type	Mask_mask7, @function
Mask_mask7:
.LFB49:
	.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	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L298
.L303:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L299
.L302:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L300
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L301
.L300:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	esi, eax
	mov	eax, DWORD PTR -12[rbp]
	imul	eax, DWORD PTR -8[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
	mov	ecx, eax
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	add	eax, ecx
	and	eax, 1
	test	eax, eax
	sete	al
	xor	eax, esi
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L301:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	add	DWORD PTR -4[rbp], eax
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -12[rbp], 1
.L299:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L302
	add	DWORD PTR -8[rbp], 1
.L298:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L303
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	Mask_mask7, .-Mask_mask7
	.globl	Mask_writeFormatInformation
	.type	Mask_writeFormatInformation, @function
Mask_writeFormatInformation:
.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, 48
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	DWORD PTR -4[rbp], 0
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRspec_getFormatInfo
	mov	DWORD PTR -12[rbp], eax
	mov	DWORD PTR -8[rbp], 0
	jmp	.L306
.L311:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 1
	test	eax, eax
	je	.L307
	add	DWORD PTR -4[rbp], 2
	mov	BYTE PTR -13[rbp], -123
	jmp	.L308
.L307:
	mov	BYTE PTR -13[rbp], -124
.L308:
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	sub	eax, 1
	sub	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -13[rbp]
	mov	BYTE PTR [rdx], al
	cmp	DWORD PTR -8[rbp], 5
	jg	.L309
	mov	eax, DWORD PTR -20[rbp]
	imul	eax, DWORD PTR -8[rbp]
	add	eax, 8
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -13[rbp]
	mov	BYTE PTR [rdx], al
	jmp	.L310
.L309:
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 1
	imul	eax, DWORD PTR -20[rbp]
	add	eax, 8
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -13[rbp]
	mov	BYTE PTR [rdx], al
.L310:
	shr	DWORD PTR -12[rbp]
	add	DWORD PTR -8[rbp], 1
.L306:
	cmp	DWORD PTR -8[rbp], 7
	jle	.L311
	mov	DWORD PTR -8[rbp], 0
	jmp	.L312
.L317:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 1
	test	eax, eax
	je	.L313
	add	DWORD PTR -4[rbp], 2
	mov	BYTE PTR -13[rbp], -123
	jmp	.L314
.L313:
	mov	BYTE PTR -13[rbp], -124
.L314:
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, -7[rax]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	imul	eax, DWORD PTR -20[rbp]
	add	eax, 8
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -13[rbp]
	mov	BYTE PTR [rdx], al
	cmp	DWORD PTR -8[rbp], 0
	jne	.L315
	mov	eax, DWORD PTR -20[rbp]
	sal	eax, 3
	add	eax, 7
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -13[rbp]
	mov	BYTE PTR [rdx], al
	jmp	.L316
.L315:
	mov	eax, DWORD PTR -20[rbp]
	sal	eax, 3
	add	eax, 6
	sub	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -13[rbp]
	mov	BYTE PTR [rdx], al
.L316:
	shr	DWORD PTR -12[rbp]
	add	DWORD PTR -8[rbp], 1
.L312:
	cmp	DWORD PTR -8[rbp], 6
	jle	.L317
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	Mask_writeFormatInformation, .-Mask_writeFormatInformation
	.globl	QRcode_APIVersion
	.type	QRcode_APIVersion, @function
QRcode_APIVersion:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	cmp	QWORD PTR -8[rbp], 0
	je	.L320
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 3
.L320:
	cmp	QWORD PTR -16[rbp], 0
	je	.L321
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 4
.L321:
	cmp	QWORD PTR -24[rbp], 0
	je	.L323
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 4
.L323:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	QRcode_APIVersion, .-QRcode_APIVersion
	.section	.rodata
.LC1:
	.string	"3.4.4"
	.text
	.globl	QRcode_APIVersionString
	.type	QRcode_APIVersionString, @function
QRcode_APIVersionString:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rax, .LC1[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	QRcode_APIVersionString, .-QRcode_APIVersionString
	.globl	QRcode_List_free
	.type	QRcode_List_free, @function
QRcode_List_free:
.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	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L327
.L328:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	QRcode_List_freeEntry
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L327:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L328
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	QRcode_List_free, .-QRcode_List_free
	.type	QRcode_List_freeEntry, @function
QRcode_List_freeEntry:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L331
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	QRcode_free
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L331:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	QRcode_List_freeEntry, .-QRcode_List_freeEntry
	.type	QRcode_List_newEntry, @function
QRcode_List_newEntry:
.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, 16
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L333
	mov	eax, 0
	jmp	.L334
.L333:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
.L334:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	QRcode_List_newEntry, .-QRcode_List_newEntry
	.globl	QRcode_List_size
	.type	QRcode_List_size, @function
QRcode_List_size:
.LFB56:
	.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	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L336
.L337:
	add	DWORD PTR -12[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L336:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L337
	mov	eax, DWORD PTR -12[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	QRcode_List_size, .-QRcode_List_size
	.globl	QRcode_clearCache
	.type	QRcode_clearCache, @function
QRcode_clearCache:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	QRspec_clearCache
	call	MQRspec_clearCache
	call	free_rs_cache
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	QRcode_clearCache, .-QRcode_clearCache
	.globl	QRcode_encodeData
	.type	QRcode_encodeData, @function
QRcode_encodeData:
.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, 48
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	ecx, DWORD PTR -36[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	esi, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	QRcode_encodeDataReal
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	QRcode_encodeData, .-QRcode_encodeData
	.globl	QRcode_encodeDataMQR
	.type	QRcode_encodeDataMQR, @function
QRcode_encodeDataMQR:
.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, 48
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	ecx, DWORD PTR -36[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	esi, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	r8d, 1
	mov	rdi, rax
	call	QRcode_encodeDataReal
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	QRcode_encodeDataMQR, .-QRcode_encodeDataMQR
	.type	QRcode_encodeDataReal, @function
QRcode_encodeDataReal:
.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, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	mov	DWORD PTR -56[rbp], r8d
	cmp	QWORD PTR -40[rbp], 0
	je	.L345
	cmp	DWORD PTR -44[rbp], 0
	jne	.L346
.L345:
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L347
.L346:
	cmp	DWORD PTR -56[rbp], 0
	je	.L348
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRinput_newMQR
	mov	QWORD PTR -24[rbp], rax
	jmp	.L349
.L348:
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRinput_new2
	mov	QWORD PTR -24[rbp], rax
.L349:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L350
	mov	eax, 0
	jmp	.L347
.L350:
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	QRinput_append
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jns	.L351
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_free
	mov	eax, 0
	jmp	.L347
.L351:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRcode_encodeInput
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_free
	mov	rax, QWORD PTR -16[rbp]
.L347:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	QRcode_encodeDataReal, .-QRcode_encodeDataReal
	.globl	QRcode_encodeDataStructured
	.type	QRcode_encodeDataStructured, @function
QRcode_encodeDataStructured:
.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, 48
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	ecx, DWORD PTR -36[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, -1
	mov	r8d, 1
	mov	edi, eax
	call	QRcode_encodeDataStructuredReal
	add	rsp, 16
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	QRcode_encodeDataStructured, .-QRcode_encodeDataStructured
	.type	QRcode_encodeDataStructuredReal, @function
QRcode_encodeDataStructuredReal:
.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, 80
	mov	DWORD PTR -52[rbp], edi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -56[rbp], edx
	mov	DWORD PTR -68[rbp], ecx
	mov	DWORD PTR -72[rbp], r8d
	mov	DWORD PTR -76[rbp], r9d
	cmp	DWORD PTR -56[rbp], 0
	jg	.L355
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L356
.L355:
	cmp	DWORD PTR -72[rbp], 0
	jne	.L357
	cmp	DWORD PTR -76[rbp], 2
	je	.L357
	cmp	DWORD PTR -76[rbp], 3
	je	.L357
	call	__errno_location@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L356
.L357:
	mov	edx, DWORD PTR -68[rbp]
	mov	eax, DWORD PTR -56[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRinput_new2
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L358
	mov	eax, 0
	jmp	.L356
.L358:
	cmp	DWORD PTR -72[rbp], 0
	je	.L359
	mov	rcx, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	QRinput_append
	mov	DWORD PTR -36[rbp], eax
	jmp	.L360
.L359:
	mov	edx, DWORD PTR -76[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	ecx, DWORD PTR 16[rbp]
	mov	rdi, rax
	call	Split_splitStringToQRinput
	mov	DWORD PTR -36[rbp], eax
.L360:
	cmp	DWORD PTR -36[rbp], 0
	jns	.L361
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_free
	mov	eax, 0
	jmp	.L356
.L361:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRcode_encodeInputToStructured
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_free
	mov	rax, QWORD PTR -16[rbp]
.L356:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	QRcode_encodeDataStructuredReal, .-QRcode_encodeDataStructuredReal
	.globl	QRcode_encodeInput
	.type	QRcode_encodeInput, @function
QRcode_encodeInput:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L363
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, -1
	mov	rdi, rax
	call	QRcode_encodeMaskMQR
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L364
.L363:
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, -1
	mov	rdi, rax
	call	QRcode_encodeMask
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
.L364:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	QRcode_encodeInput, .-QRcode_encodeInput
	.globl	QRcode_encodeInputStructured
	.type	QRcode_encodeInputStructured, @function
QRcode_encodeInputStructured:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L366
.L373:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L367
	call	QRcode_List_newEntry
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L375
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L370
.L367:
	call	QRcode_List_newEntry
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L376
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L370:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	QRcode_encodeInput
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L377
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L366:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L373
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L374
.L375:
	nop
	jmp	.L369
.L376:
	nop
	jmp	.L369
.L377:
	nop
.L369:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	QRcode_List_free
	mov	eax, 0
.L374:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	QRcode_encodeInputStructured, .-QRcode_encodeInputStructured
	.type	QRcode_encodeInputToStructured, @function
QRcode_encodeInputToStructured:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_splitQRinputToStruct
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L379
	mov	eax, 0
	jmp	.L380
.L379:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	QRcode_encodeInputStructured
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	QRinput_Struct_free
	mov	rax, QWORD PTR -8[rbp]
.L380:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	QRcode_encodeInputToStructured, .-QRcode_encodeInputToStructured
	.globl	QRcode_encodeMask
	.type	QRcode_encodeMask, @function
QRcode_encodeMask:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -120[rbp], rdi
	mov	DWORD PTR -124[rbp], esi
	mov	QWORD PTR -64[rbp], 0
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L382
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L383
.L382:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jns	.L384
	mov	BYTE PTR -98[rbp], 1
	jmp	.L385
.L384:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 40
	setg	al
	mov	BYTE PTR -98[rbp], al
.L385:
	cmp	BYTE PTR -98[rbp], 0
	je	.L386
	call	__errno_location@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L383
.L386:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	eax, 3
	jle	.L387
	call	__errno_location@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L383
.L387:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	QRraw_new
	mov	QWORD PTR -80[rbp], rax
	cmp	QWORD PTR -80[rbp], 0
	jne	.L388
	mov	eax, 0
	jmp	.L383
.L388:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	mov	edi, eax
	call	QRspec_getWidth
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	mov	edi, eax
	call	QRspec_newFrame
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L389
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	QRraw_free
	mov	eax, 0
	jmp	.L383
.L389:
	mov	rcx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	FrameFiller_new
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L390
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	QRraw_free
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L383
.L390:
	mov	DWORD PTR -96[rbp], 0
	jmp	.L391
.L398:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	QRraw_getCode
	mov	BYTE PTR -97[rbp], al
	mov	BYTE PTR -99[rbp], -128
	mov	DWORD PTR -92[rbp], 0
	jmp	.L392
.L397:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	FrameFiller_next
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L405
	movzx	eax, BYTE PTR -99[rbp]
	and	al, BYTE PTR -97[rbp]
	test	al, al
	je	.L395
	mov	edx, 3
	jmp	.L396
.L395:
	mov	edx, 2
.L396:
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	shr	BYTE PTR -99[rbp]
	add	DWORD PTR -92[rbp], 1
.L392:
	cmp	DWORD PTR -92[rbp], 7
	jle	.L397
	add	DWORD PTR -96[rbp], 1
.L391:
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, edx
	cmp	DWORD PTR -96[rbp], eax
	jl	.L398
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	QRraw_free
	mov	QWORD PTR -80[rbp], 0
	mov	eax, DWORD PTR -88[rbp]
	mov	edi, eax
	call	QRspec_getRemainder
	mov	DWORD PTR -92[rbp], eax
	mov	DWORD PTR -96[rbp], 0
	jmp	.L399
.L401:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	FrameFiller_next
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L406
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], 2
	add	DWORD PTR -96[rbp], 1
.L399:
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, DWORD PTR -92[rbp]
	jl	.L401
	cmp	DWORD PTR -124[rbp], -2
	jne	.L402
	mov	eax, DWORD PTR -84[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	imul	eax, eax
	movsx	rdx, eax
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	jmp	.L403
.L402:
	cmp	DWORD PTR -124[rbp], 0
	jns	.L404
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rcx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	Mask_mask
	mov	QWORD PTR -72[rbp], rax
	jmp	.L403
.L404:
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	edx, DWORD PTR -124[rbp]
	mov	rsi, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	edi, eax
	call	Mask_makeMask
	mov	QWORD PTR -72[rbp], rax
.L403:
	cmp	QWORD PTR -72[rbp], 0
	je	.L407
	mov	rdx, QWORD PTR -72[rbp]
	mov	ecx, DWORD PTR -84[rbp]
	mov	eax, DWORD PTR -88[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	QRcode_new
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	jne	.L407
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L394
.L405:
	nop
	jmp	.L394
.L406:
	nop
	jmp	.L394
.L407:
	nop
.L394:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	QRraw_free
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -64[rbp]
.L383:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	QRcode_encodeMask, .-QRcode_encodeMask
	.globl	QRcode_encodeMaskMQR
	.type	QRcode_encodeMaskMQR, @function
QRcode_encodeMaskMQR:
.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, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	QWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L409
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L410
.L409:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jg	.L411
	mov	BYTE PTR -91[rbp], 1
	jmp	.L412
.L411:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	setg	al
	mov	BYTE PTR -91[rbp], al
.L412:
	cmp	BYTE PTR -91[rbp], 0
	je	.L413
	call	__errno_location@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L410
.L413:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	eax, 2
	jle	.L414
	call	__errno_location@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L410
.L414:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	MQRraw_new
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L415
	mov	eax, 0
	jmp	.L410
.L415:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	mov	edi, eax
	call	MQRspec_getWidth
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	mov	edi, eax
	call	MQRspec_newFrame
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L416
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	MQRraw_free
	mov	eax, 0
	jmp	.L410
.L416:
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -76[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	edi, eax
	call	FrameFiller_new
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L417
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	MQRraw_free
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L410
.L417:
	mov	DWORD PTR -88[rbp], 0
	jmp	.L418
.L434:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	MQRraw_getCode
	mov	BYTE PTR -89[rbp], al
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 40[rax]
	test	eax, eax
	je	.L419
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	cmp	DWORD PTR -88[rbp], eax
	sete	al
	mov	BYTE PTR -90[rbp], al
	jmp	.L420
.L419:
	mov	BYTE PTR -90[rbp], 0
.L420:
	cmp	BYTE PTR -90[rbp], 0
	je	.L421
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 40[rax]
	sub	eax, 1
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	BYTE PTR -92[rbp], al
	mov	DWORD PTR -84[rbp], 0
	jmp	.L422
.L427:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	FrameFiller_next
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L437
	movzx	eax, BYTE PTR -92[rbp]
	and	al, BYTE PTR -89[rbp]
	test	al, al
	je	.L425
	mov	edx, 3
	jmp	.L426
.L425:
	mov	edx, 2
.L426:
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	shr	BYTE PTR -92[rbp]
	add	DWORD PTR -84[rbp], 1
.L422:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -84[rbp], eax
	jl	.L427
	jmp	.L428
.L421:
	mov	BYTE PTR -92[rbp], -128
	mov	DWORD PTR -84[rbp], 0
	jmp	.L429
.L433:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	FrameFiller_next
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L438
	movzx	eax, BYTE PTR -92[rbp]
	and	al, BYTE PTR -89[rbp]
	test	al, al
	je	.L431
	mov	edx, 3
	jmp	.L432
.L431:
	mov	edx, 2
.L432:
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	shr	BYTE PTR -92[rbp]
	add	DWORD PTR -84[rbp], 1
.L429:
	cmp	DWORD PTR -84[rbp], 7
	jle	.L433
.L428:
	add	DWORD PTR -88[rbp], 1
.L418:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, edx
	cmp	DWORD PTR -88[rbp], eax
	jl	.L434
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	MQRraw_free
	mov	QWORD PTR -72[rbp], 0
	cmp	DWORD PTR -108[rbp], 0
	jns	.L435
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rcx, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	MMask_mask
	mov	QWORD PTR -64[rbp], rax
	jmp	.L436
.L435:
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	edx, DWORD PTR -108[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR -80[rbp]
	mov	edi, eax
	call	MMask_makeMask
	mov	QWORD PTR -64[rbp], rax
.L436:
	cmp	QWORD PTR -64[rbp], 0
	je	.L439
	mov	rdx, QWORD PTR -64[rbp]
	mov	ecx, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR -80[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	QRcode_new
	mov	QWORD PTR -56[rbp], rax
	jmp	.L424
.L437:
	nop
	jmp	.L424
.L438:
	nop
	jmp	.L424
.L439:
	nop
.L424:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	MQRraw_free
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -56[rbp]
.L410:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	QRcode_encodeMaskMQR, .-QRcode_encodeMaskMQR
	.globl	QRcode_encodeString
	.type	QRcode_encodeString, @function
QRcode_encodeString:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	DWORD PTR -40[rbp], r8d
	mov	edi, DWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, edi
	mov	r8d, ecx
	mov	ecx, 0
	mov	rdi, rax
	call	QRcode_encodeStringReal
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	QRcode_encodeString, .-QRcode_encodeString
	.globl	QRcode_encodeString8bit
	.type	QRcode_encodeString8bit, @function
QRcode_encodeString8bit:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	cmp	QWORD PTR -40[rbp], 0
	jne	.L443
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L444
.L443:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, eax
	mov	ecx, DWORD PTR -48[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	QRcode_encodeDataReal
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
.L444:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	QRcode_encodeString8bit, .-QRcode_encodeString8bit
	.globl	QRcode_encodeString8bitMQR
	.type	QRcode_encodeString8bitMQR, @function
QRcode_encodeString8bitMQR:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	cmp	QWORD PTR -40[rbp], 0
	jne	.L446
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L447
.L446:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, eax
	mov	ecx, DWORD PTR -48[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, 1
	mov	rdi, rax
	call	QRcode_encodeDataReal
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
.L447:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	QRcode_encodeString8bitMQR, .-QRcode_encodeString8bitMQR
	.globl	QRcode_encodeString8bitStructured
	.type	QRcode_encodeString8bitStructured, @function
QRcode_encodeString8bitStructured:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	cmp	QWORD PTR -40[rbp], 0
	jne	.L449
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L450
.L449:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edi, eax
	mov	ecx, DWORD PTR -48[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	call	QRcode_encodeDataStructured
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
.L450:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	QRcode_encodeString8bitStructured, .-QRcode_encodeString8bitStructured
	.globl	QRcode_encodeStringMQR
	.type	QRcode_encodeStringMQR, @function
QRcode_encodeStringMQR:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	DWORD PTR -40[rbp], r8d
	mov	edi, DWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, edi
	mov	r8d, ecx
	mov	ecx, 1
	mov	rdi, rax
	call	QRcode_encodeStringReal
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	QRcode_encodeStringMQR, .-QRcode_encodeStringMQR
	.type	QRcode_encodeStringReal, @function
QRcode_encodeStringReal:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	DWORD PTR -68[rbp], ecx
	mov	DWORD PTR -72[rbp], r8d
	mov	DWORD PTR -76[rbp], r9d
	cmp	QWORD PTR -56[rbp], 0
	jne	.L454
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L455
.L454:
	cmp	DWORD PTR -72[rbp], 2
	je	.L456
	cmp	DWORD PTR -72[rbp], 3
	je	.L456
	call	__errno_location@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L455
.L456:
	cmp	DWORD PTR -68[rbp], 0
	je	.L457
	mov	edx, DWORD PTR -64[rbp]
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRinput_newMQR
	mov	QWORD PTR -32[rbp], rax
	jmp	.L458
.L457:
	mov	edx, DWORD PTR -64[rbp]
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRinput_new2
	mov	QWORD PTR -32[rbp], rax
.L458:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L459
	mov	eax, 0
	jmp	.L455
.L459:
	mov	ecx, DWORD PTR -76[rbp]
	mov	edx, DWORD PTR -72[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Split_splitStringToQRinput
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jns	.L460
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	QRinput_free
	mov	eax, 0
	jmp	.L455
.L460:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	QRcode_encodeInput
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	QRinput_free
	mov	rax, QWORD PTR -16[rbp]
.L455:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	QRcode_encodeStringReal, .-QRcode_encodeStringReal
	.globl	QRcode_encodeStringStructured
	.type	QRcode_encodeStringStructured, @function
QRcode_encodeStringStructured:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	DWORD PTR -52[rbp], ecx
	mov	DWORD PTR -56[rbp], r8d
	cmp	QWORD PTR -40[rbp], 0
	jne	.L462
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L463
.L462:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	r10d, eax
	mov	edi, DWORD PTR -52[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	sub	rsp, 8
	mov	esi, DWORD PTR -56[rbp]
	push	rsi
	mov	r9d, edi
	mov	r8d, 0
	mov	rsi, rax
	mov	edi, r10d
	call	QRcode_encodeDataStructuredReal
	add	rsp, 16
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
.L463:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	QRcode_encodeStringStructured, .-QRcode_encodeStringStructured
	.globl	QRcode_free
	.type	QRcode_free, @function
QRcode_free:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L466
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L466:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	QRcode_free, .-QRcode_free
	.globl	QRcode_new
	.type	QRcode_new, @function
QRcode_new:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	QWORD PTR -32[rbp], rdx
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L468
	mov	eax, 0
	jmp	.L469
.L468:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
.L469:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	QRcode_new, .-QRcode_new
	.type	QRinput_InputList_freeEntry, @function
QRinput_InputList_freeEntry:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L472
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	QRinput_free
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L472:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	QRinput_InputList_freeEntry, .-QRinput_InputList_freeEntry
	.type	QRinput_InputList_newEntry, @function
QRinput_InputList_newEntry:
.LFB78:
	.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	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L474
	mov	eax, 0
	jmp	.L475
.L474:
	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 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
.L475:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	QRinput_InputList_newEntry, .-QRinput_InputList_newEntry
	.type	QRinput_List_dup, @function
QRinput_List_dup:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	edi, 32
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L477
	mov	eax, 0
	jmp	.L478
.L477:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L479
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L478
.L479:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -16[rbp]
.L478:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	QRinput_List_dup, .-QRinput_List_dup
	.type	QRinput_List_freeEntry, @function
QRinput_List_freeEntry:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L482
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	BitStream_free
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L482:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	QRinput_List_freeEntry, .-QRinput_List_freeEntry
	.type	QRinput_List_newEntry, @function
QRinput_List_newEntry:
.LFB81:
	.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	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	mov	QWORD PTR -64[rbp], rdx
	mov	rdx, QWORD PTR -64[rbp]
	mov	ecx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	QRinput_check
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L484
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L485
.L484:
	mov	edi, 32
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L486
	mov	eax, 0
	jmp	.L485
.L486:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -52[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
	cmp	DWORD PTR -56[rbp], 0
	jle	.L487
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L488
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L485
.L488:
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
.L487:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -24[rbp]
.L485:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	QRinput_List_newEntry, .-QRinput_List_newEntry
	.type	QRinput_List_shrinkEntry, @function
QRinput_List_shrinkEntry:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L490
	mov	eax, -1
	jmp	.L491
.L490:
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	eax, 0
.L491:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	QRinput_List_shrinkEntry, .-QRinput_List_shrinkEntry
	.globl	QRinput_Struct_appendInput
	.type	QRinput_Struct_appendInput, @function
QRinput_Struct_appendInput:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L493
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
	jmp	.L494
.L493:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	QRinput_InputList_newEntry
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L495
	mov	eax, -1
	jmp	.L494
.L495:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L496
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L497
.L496:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
.L497:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
.L494:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	QRinput_Struct_appendInput, .-QRinput_Struct_appendInput
	.type	QRinput_Struct_calcParity, @function
QRinput_Struct_calcParity:
.LFB84:
	.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	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L499
.L500:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	QRinput_calcParity
	mov	BYTE PTR -9[rbp], al
	movzx	eax, BYTE PTR -9[rbp]
	xor	BYTE PTR -10[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L499:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L500
	movzx	edx, BYTE PTR -10[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	QRinput_Struct_setParity
	movzx	eax, BYTE PTR -10[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	QRinput_Struct_calcParity, .-QRinput_Struct_calcParity
	.globl	QRinput_Struct_free
	.type	QRinput_Struct_free, @function
QRinput_Struct_free:
.LFB85:
	.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
	je	.L506
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L504
.L505:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	QRinput_InputList_freeEntry
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L504:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L505
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
.L506:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	QRinput_Struct_free, .-QRinput_Struct_free
	.globl	QRinput_Struct_insertStructuredAppendHeaders
	.type	QRinput_Struct_insertStructuredAppendHeaders, @function
QRinput_Struct_insertStructuredAppendHeaders:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L508
	mov	eax, 0
	jmp	.L509
.L508:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jns	.L510
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_Struct_calcParity
.L510:
	mov	DWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L511
.L513:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -16[rbp]
	mov	rdi, rax
	call	QRinput_insertStructuredAppendHeader
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L512
	mov	eax, -1
	jmp	.L509
.L512:
	add	DWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L511:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L513
	mov	eax, 0
.L509:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	QRinput_Struct_insertStructuredAppendHeaders, .-QRinput_Struct_insertStructuredAppendHeaders
	.globl	QRinput_Struct_new
	.type	QRinput_Struct_new, @function
QRinput_Struct_new:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L515
	mov	eax, 0
	jmp	.L516
.L515:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], -1
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
.L516:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	QRinput_Struct_new, .-QRinput_Struct_new
	.globl	QRinput_Struct_setParity
	.type	QRinput_Struct_setParity, @function
QRinput_Struct_setParity:
.LFB88:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -12[rbp], al
	movzx	edx, BYTE PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	QRinput_Struct_setParity, .-QRinput_Struct_setParity
	.globl	QRinput_append
	.type	QRinput_append, @function
QRinput_append:
.LFB89:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 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	rdx, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	QRinput_List_newEntry
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L519
	mov	eax, -1
	jmp	.L520
.L519:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	QRinput_appendEntry
	mov	eax, 0
.L520:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	QRinput_append, .-QRinput_append
	.globl	QRinput_appendECIheader
	.type	QRinput_appendECIheader, @function
QRinput_appendECIheader:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -44[rbp], 999999
	jbe	.L522
	call	__errno_location@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
	jmp	.L524
.L522:
	mov	eax, DWORD PTR -44[rbp]
	mov	BYTE PTR -12[rbp], al
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 8
	mov	BYTE PTR -11[rbp], al
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 16
	mov	BYTE PTR -10[rbp], al
	mov	eax, DWORD PTR -44[rbp]
	shr	eax, 24
	mov	BYTE PTR -9[rbp], al
	lea	rdx, -12[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	mov	edx, 4
	mov	esi, 5
	mov	rdi, rax
	call	QRinput_append
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
.L524:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L525
	call	__stack_chk_fail@PLT
.L525:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	QRinput_appendECIheader, .-QRinput_appendECIheader
	.type	QRinput_appendEntry, @function
QRinput_appendEntry:
.LFB91:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L527
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L528
.L527:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
.L528:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	QRinput_appendEntry, .-QRinput_appendEntry
	.type	QRinput_appendPaddingBit, @function
QRinput_appendPaddingBit:
.LFB92:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	QRspec_getDataLength
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	sal	eax, 3
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jge	.L530
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 34
	mov	eax, -1
	jmp	.L531
.L530:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jne	.L532
	mov	eax, 0
	jmp	.L531
.L532:
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, DWORD PTR -52[rbp]
	cmp	eax, 4
	jg	.L533
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, DWORD PTR -52[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -56[rbp], eax
	jmp	.L534
.L533:
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 11
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -40[rbp], eax
	call	BitStream_new
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L535
	mov	eax, -1
	jmp	.L531
.L535:
	mov	eax, DWORD PTR -40[rbp]
	sal	eax, 3
	sub	eax, DWORD PTR -52[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], 0
	js	.L542
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jle	.L536
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L537
	mov	DWORD PTR -56[rbp], -1
	jmp	.L534
.L537:
	mov	DWORD PTR -60[rbp], 0
	jmp	.L538
.L541:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 1
	test	eax, eax
	je	.L539
	mov	edx, 17
	jmp	.L540
.L539:
	mov	edx, -20
.L540:
	mov	eax, DWORD PTR -60[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rcx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -60[rbp], 1
.L538:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L541
	mov	rdx, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendBytes
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	cmp	DWORD PTR -56[rbp], 0
	js	.L543
.L536:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	BitStream_append
	mov	DWORD PTR -56[rbp], eax
	jmp	.L534
.L542:
	nop
	jmp	.L534
.L543:
	nop
.L534:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	BitStream_free
	mov	eax, DWORD PTR -56[rbp]
.L531:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	QRinput_appendPaddingBit, .-QRinput_appendPaddingBit
	.type	QRinput_appendPaddingBitMQR, @function
QRinput_appendPaddingBitMQR:
.LFB93:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	MQRspec_getDataLengthBit
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jge	.L545
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 34
	mov	eax, -1
	jmp	.L546
.L545:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jne	.L547
	mov	eax, 0
	jmp	.L546
.L547:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, eax
	add	eax, 1
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, DWORD PTR -52[rbp]
	cmp	DWORD PTR -56[rbp], eax
	jl	.L548
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, DWORD PTR -52[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -60[rbp], eax
	jmp	.L549
.L548:
	mov	eax, DWORD PTR -56[rbp]
	add	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 7
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -40[rbp], eax
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, 0
	sub	eax, edx
	sal	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	test	eax, eax
	jle	.L550
	mov	eax, DWORD PTR -40[rbp]
	sal	eax, 3
	sub	eax, DWORD PTR -52[rbp]
	add	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jne	.L551
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, edx
	add	DWORD PTR -56[rbp], eax
	jmp	.L551
.L550:
	mov	eax, DWORD PTR -40[rbp]
	sal	eax, 3
	sub	eax, DWORD PTR -52[rbp]
	add	DWORD PTR -56[rbp], eax
.L551:
	call	BitStream_new
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L552
	mov	eax, -1
	jmp	.L546
.L552:
	mov	ecx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	js	.L560
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jle	.L553
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L554
	mov	DWORD PTR -60[rbp], -1
	jmp	.L549
.L554:
	mov	DWORD PTR -64[rbp], 0
	jmp	.L555
.L558:
	mov	eax, DWORD PTR -64[rbp]
	and	eax, 1
	test	eax, eax
	je	.L556
	mov	edx, 17
	jmp	.L557
.L556:
	mov	edx, -20
.L557:
	mov	eax, DWORD PTR -64[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rcx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -64[rbp], 1
.L555:
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L558
	mov	rdx, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendBytes
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	cmp	DWORD PTR -60[rbp], 0
	js	.L561
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, edx
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], 0
	jle	.L553
	mov	ecx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	js	.L562
.L553:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	BitStream_append
	mov	DWORD PTR -60[rbp], eax
	jmp	.L549
.L560:
	nop
	jmp	.L549
.L561:
	nop
	jmp	.L549
.L562:
	nop
.L549:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	BitStream_free
	mov	eax, DWORD PTR -60[rbp]
.L546:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	QRinput_appendPaddingBitMQR, .-QRinput_appendPaddingBitMQR
	.type	QRinput_calcParity, @function
QRinput_calcParity:
.LFB94:
	.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 -13[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L564
.L568:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L565
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, 1
	mov	DWORD PTR -12[rbp], eax
	jmp	.L566
.L567:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	xor	BYTE PTR -13[rbp], al
	sub	DWORD PTR -12[rbp], 1
.L566:
	cmp	DWORD PTR -12[rbp], 0
	jns	.L567
.L565:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
.L564:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L568
	movzx	eax, BYTE PTR -13[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	QRinput_calcParity, .-QRinput_calcParity
	.globl	QRinput_check
	.type	QRinput_check, @function
QRinput_check:
.LFB95:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	QWORD PTR -32[rbp], rdx
	cmp	DWORD PTR -20[rbp], 6
	jne	.L571
	cmp	DWORD PTR -24[rbp], 0
	js	.L572
.L571:
	cmp	DWORD PTR -24[rbp], 0
	jg	.L573
.L572:
	mov	eax, -1
	jmp	.L574
.L573:
	cmp	DWORD PTR -20[rbp], 7
	ja	.L575
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L577[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L577[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L577:
	.long	.L584-.L577
	.long	.L583-.L577
	.long	.L582-.L577
	.long	.L581-.L577
	.long	.L580-.L577
	.long	.L579-.L577
	.long	.L578-.L577
	.long	.L576-.L577
	.text
.L584:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	QRinput_checkModeNum
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L574
.L583:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	QRinput_checkModeAn
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	jmp	.L574
.L581:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	QRinput_checkModeKanji
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L574
.L582:
	mov	eax, 0
	jmp	.L574
.L580:
	mov	eax, 0
	jmp	.L574
.L579:
	mov	eax, 0
	jmp	.L574
.L578:
	mov	eax, 0
	jmp	.L574
.L576:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	QRinput_checkModeFNC1Second
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	jmp	.L574
.L575:
	mov	eax, -1
.L574:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	QRinput_check, .-QRinput_check
	.type	QRinput_checkModeAn, @function
QRinput_checkModeAn:
.LFB96:
	.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 -8[rbp], 0
	jmp	.L586
.L591:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L587
	mov	DWORD PTR -4[rbp], -1
	jmp	.L588
.L587:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	lea	rdx, QRinput_anTable[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	DWORD PTR -4[rbp], eax
.L588:
	cmp	DWORD PTR -4[rbp], 0
	jns	.L589
	mov	eax, -1
	jmp	.L590
.L589:
	add	DWORD PTR -8[rbp], 1
.L586:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L591
	mov	eax, 0
.L590:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	QRinput_checkModeAn, .-QRinput_checkModeAn
	.type	QRinput_checkModeFNC1Second, @function
QRinput_checkModeFNC1Second:
.LFB97:
	.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 -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	cmp	DWORD PTR -4[rbp], 1
	je	.L593
	mov	eax, -1
	jmp	.L594
.L593:
	mov	eax, 0
.L594:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	QRinput_checkModeFNC1Second, .-QRinput_checkModeFNC1Second
	.type	QRinput_checkModeKanji, @function
QRinput_checkModeKanji:
.LFB98:
	.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	eax, DWORD PTR -20[rbp]
	and	eax, 1
	test	eax, eax
	je	.L596
	mov	eax, -1
	jmp	.L597
.L596:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L598
.L602:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	eax, ecx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 60351
	ja	.L599
	cmp	DWORD PTR -4[rbp], 40956
	jbe	.L600
	cmp	DWORD PTR -4[rbp], 57407
	jbe	.L599
.L600:
	cmp	DWORD PTR -4[rbp], 33087
	ja	.L601
.L599:
	mov	eax, -1
	jmp	.L597
.L601:
	add	DWORD PTR -8[rbp], 2
.L598:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L602
	mov	eax, 0
.L597:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	QRinput_checkModeKanji, .-QRinput_checkModeKanji
	.type	QRinput_checkModeNum, @function
QRinput_checkModeNum:
.LFB99:
	.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 -4[rbp], 0
	jmp	.L604
.L609:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jg	.L605
	mov	BYTE PTR -5[rbp], 1
	jmp	.L606
.L605:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	setg	al
	mov	BYTE PTR -5[rbp], al
.L606:
	cmp	BYTE PTR -5[rbp], 0
	je	.L607
	mov	eax, -1
	jmp	.L608
.L607:
	add	DWORD PTR -4[rbp], 1
.L604:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L609
	mov	eax, 0
.L608:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	QRinput_checkModeNum, .-QRinput_checkModeNum
	.type	QRinput_convertData, @function
QRinput_convertData:
.LFB100:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_estimateVersion
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_getVersion
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jge	.L618
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	QRinput_setVersion
.L618:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_createBitStream
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	jns	.L612
	mov	eax, -1
	jmp	.L613
.L612:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, 7
	lea	ecx, 7[rax]
	test	eax, eax
	cmovs	eax, ecx
	sar	eax, 3
	mov	esi, edx
	mov	edi, eax
	call	QRspec_getMinimumVersion
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jns	.L614
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 34
	mov	eax, -1
	jmp	.L613
.L614:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_getVersion
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jge	.L619
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	QRinput_setVersion
	jmp	.L618
.L619:
	nop
	mov	eax, 0
.L613:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	QRinput_convertData, .-QRinput_convertData
	.type	QRinput_createBitStream, @function
QRinput_createBitStream:
.LFB101:
	.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 -16[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L621
.L624:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	QRinput_encodeBitStream
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jns	.L622
	mov	eax, -1
	jmp	.L623
.L622:
	mov	eax, DWORD PTR -12[rbp]
	add	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
.L621:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L624
	mov	eax, DWORD PTR -16[rbp]
.L623:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	QRinput_createBitStream, .-QRinput_createBitStream
	.type	QRinput_decodeECIfromByteArray, @function
QRinput_decodeECIfromByteArray:
.LFB102:
	.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
	mov	DWORD PTR -8[rbp], 0
	jmp	.L626
.L627:
	sal	DWORD PTR -4[rbp], 8
	mov	eax, 3
	sub	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	DWORD PTR -4[rbp], eax
	add	DWORD PTR -8[rbp], 1
.L626:
	cmp	DWORD PTR -8[rbp], 3
	jle	.L627
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	QRinput_decodeECIfromByteArray, .-QRinput_decodeECIfromByteArray
	.globl	QRinput_dup
	.type	QRinput_dup, @function
QRinput_dup:
.LFB103:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L630
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	QRinput_newMQR
	mov	QWORD PTR -24[rbp], rax
	jmp	.L631
.L630:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	QRinput_new2
	mov	QWORD PTR -24[rbp], rax
.L631:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L632
	mov	eax, 0
	jmp	.L633
.L632:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L634
.L636:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	QRinput_List_dup
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L635
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_free
	mov	eax, 0
	jmp	.L633
.L635:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	QRinput_appendEntry
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
.L634:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L636
	mov	rax, QWORD PTR -24[rbp]
.L633:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	QRinput_dup, .-QRinput_dup
	.type	QRinput_encodeBitStream, @function
QRinput_encodeBitStream:
.LFB104:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	QWORD PTR -8[rbp], 0
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L638
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	BitStream_free
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], 0
.L638:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -44[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRspec_maximumWords
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L639
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -20[rbp], eax
	setl	al
	mov	BYTE PTR -25[rbp], al
	jmp	.L640
.L639:
	mov	BYTE PTR -25[rbp], 0
.L640:
	cmp	BYTE PTR -25[rbp], 0
	je	.L641
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	QRinput_List_newEntry
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L661
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, DWORD PTR -20[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, ecx
	mov	edi, eax
	call	QRinput_List_newEntry
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L662
	mov	edx, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	QRinput_encodeBitStream
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L663
	mov	edx, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	QRinput_encodeBitStream
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L664
	call	BitStream_new
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L665
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	BitStream_append
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L666
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	BitStream_append
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L667
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	QRinput_List_freeEntry
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	QRinput_List_freeEntry
	jmp	.L650
.L641:
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 7
	ja	.L651
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L653[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L653[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L653:
	.long	.L659-.L653
	.long	.L658-.L653
	.long	.L657-.L653
	.long	.L656-.L653
	.long	.L655-.L653
	.long	.L654-.L653
	.long	.L651-.L653
	.long	.L652-.L653
	.text
.L659:
	mov	edx, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	QRinput_encodeModeNum
	mov	DWORD PTR -24[rbp], eax
	jmp	.L651
.L658:
	mov	edx, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	QRinput_encodeModeAn
	mov	DWORD PTR -24[rbp], eax
	jmp	.L651
.L657:
	mov	edx, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	QRinput_encodeMode8
	mov	DWORD PTR -24[rbp], eax
	jmp	.L651
.L656:
	mov	edx, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	QRinput_encodeModeKanji
	mov	DWORD PTR -24[rbp], eax
	jmp	.L651
.L655:
	mov	edx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	QRinput_encodeModeStructure
	mov	DWORD PTR -24[rbp], eax
	jmp	.L651
.L654:
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	QRinput_encodeModeECI
	mov	DWORD PTR -24[rbp], eax
	jmp	.L651
.L652:
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	QRinput_encodeModeFNC1Second
	mov	DWORD PTR -24[rbp], eax
.L651:
	cmp	DWORD PTR -24[rbp], 0
	jns	.L650
	mov	eax, -1
	jmp	.L660
.L650:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	eax, DWORD PTR [rax]
	jmp	.L660
.L661:
	nop
	jmp	.L643
.L662:
	nop
	jmp	.L643
.L663:
	nop
	jmp	.L643
.L664:
	nop
	jmp	.L643
.L665:
	nop
	jmp	.L643
.L666:
	nop
	jmp	.L643
.L667:
	nop
.L643:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	QRinput_List_freeEntry
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	QRinput_List_freeEntry
	mov	eax, -1
.L660:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	QRinput_encodeBitStream, .-QRinput_encodeBitStream
	.type	QRinput_encodeMode8, @function
QRinput_encodeMode8:
.LFB105:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	call	BitStream_new
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L669
	mov	eax, -1
	jmp	.L670
.L669:
	cmp	DWORD PTR -48[rbp], 0
	je	.L671
	cmp	DWORD PTR -44[rbp], 2
	jg	.L672
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	jmp	.L673
.L672:
	mov	eax, DWORD PTR -44[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 2
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L677
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	mov	edi, 2
	call	MQRspec_lengthIndicator
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, DWORD PTR -12[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jns	.L675
	jmp	.L673
.L671:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 4
	mov	esi, 4
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L678
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	mov	edi, 2
	call	QRspec_lengthIndicator
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, DWORD PTR -16[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L679
.L675:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendBytes
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L680
	mov	eax, 0
	jmp	.L670
.L677:
	nop
	jmp	.L673
.L678:
	nop
	jmp	.L673
.L679:
	nop
	jmp	.L673
.L680:
	nop
.L673:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	BitStream_free
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	eax, -1
.L670:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	QRinput_encodeMode8, .-QRinput_encodeMode8
	.type	QRinput_encodeModeAn, @function
QRinput_encodeModeAn:
.LFB106:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	call	BitStream_new
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L682
	mov	eax, -1
	jmp	.L683
.L682:
	cmp	DWORD PTR -64[rbp], 0
	je	.L684
	cmp	DWORD PTR -60[rbp], 1
	jg	.L685
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	jmp	.L686
.L685:
	mov	eax, DWORD PTR -60[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	js	.L700
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, eax
	mov	edi, 1
	call	MQRspec_lengthIndicator
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jns	.L688
	jmp	.L686
.L684:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 2
	mov	esi, 4
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	js	.L701
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, eax
	mov	edi, 1
	call	QRspec_lengthIndicator
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, DWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	js	.L702
.L688:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L690
.L696:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, eax
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L691
	mov	DWORD PTR -40[rbp], -1
	jmp	.L692
.L691:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, eax
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	rdx, QRinput_anTable[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	DWORD PTR -40[rbp], eax
.L692:
	mov	eax, DWORD PTR -40[rbp]
	imul	eax, eax, 45
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, eax
	add	eax, 1
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L693
	mov	DWORD PTR -36[rbp], -1
	jmp	.L694
.L693:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, eax
	add	eax, 1
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	rdx, QRinput_anTable[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	DWORD PTR -36[rbp], eax
.L694:
	mov	eax, DWORD PTR -36[rbp]
	add	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, 11
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	js	.L703
	add	DWORD PTR -44[rbp], 1
.L690:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jl	.L696
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 1
	test	eax, eax
	je	.L697
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, eax
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L698
	mov	DWORD PTR -32[rbp], -1
	jmp	.L699
.L698:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, eax
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	rdx, QRinput_anTable[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	DWORD PTR -32[rbp], eax
.L699:
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, 6
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	js	.L704
.L697:
	mov	eax, 0
	jmp	.L683
.L700:
	nop
	jmp	.L686
.L701:
	nop
	jmp	.L686
.L702:
	nop
	jmp	.L686
.L703:
	nop
	jmp	.L686
.L704:
	nop
.L686:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	BitStream_free
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	eax, -1
.L683:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	QRinput_encodeModeAn, .-QRinput_encodeModeAn
	.type	QRinput_encodeModeECI, @function
QRinput_encodeModeECI:
.LFB107:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	call	BitStream_new
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L706
	mov	eax, -1
	jmp	.L707
.L706:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	QRinput_decodeECIfromByteArray
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 127
	ja	.L708
	mov	DWORD PTR -16[rbp], 1
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L709
.L708:
	cmp	DWORD PTR -8[rbp], 16383
	ja	.L710
	mov	DWORD PTR -16[rbp], 2
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 32768
	mov	DWORD PTR -12[rbp], eax
	jmp	.L709
.L710:
	mov	DWORD PTR -16[rbp], 3
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 786432
	mov	DWORD PTR -12[rbp], eax
.L709:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 7
	mov	esi, 4
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L713
	mov	eax, DWORD PTR -16[rbp]
	lea	ecx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L714
	mov	eax, 0
	jmp	.L707
.L713:
	nop
	jmp	.L711
.L714:
	nop
.L711:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	BitStream_free
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	eax, -1
.L707:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	QRinput_encodeModeECI, .-QRinput_encodeModeECI
	.type	QRinput_encodeModeFNC1Second, @function
QRinput_encodeModeFNC1Second:
.LFB108:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	call	BitStream_new
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L716
	mov	eax, -1
	jmp	.L717
.L716:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 9
	mov	esi, 4
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L720
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 1
	mov	rdi, rax
	call	BitStream_appendBytes
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L721
	mov	eax, 0
	jmp	.L717
.L720:
	nop
	jmp	.L718
.L721:
	nop
.L718:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	BitStream_free
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	eax, -1
.L717:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	QRinput_encodeModeFNC1Second, .-QRinput_encodeModeFNC1Second
	.type	QRinput_encodeModeKanji, @function
QRinput_encodeModeKanji:
.LFB109:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	call	BitStream_new
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L723
	mov	eax, -1
	jmp	.L724
.L723:
	cmp	DWORD PTR -48[rbp], 0
	je	.L725
	cmp	DWORD PTR -44[rbp], 1
	jg	.L726
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	jmp	.L727
.L726:
	mov	eax, DWORD PTR -44[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 3
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L736
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	mov	edi, 3
	call	MQRspec_lengthIndicator
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, DWORD PTR -16[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jns	.L729
	jmp	.L727
.L725:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 8
	mov	esi, 4
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L737
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	mov	edi, 3
	call	QRspec_lengthIndicator
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L738
.L729:
	mov	DWORD PTR -32[rbp], 0
	jmp	.L731
.L735:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 1
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	eax, ecx
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 40956
	ja	.L732
	sub	DWORD PTR -28[rbp], 33088
	jmp	.L733
.L732:
	sub	DWORD PTR -28[rbp], 49472
.L733:
	mov	eax, DWORD PTR -28[rbp]
	shr	eax, 8
	mov	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	sal	eax, 6
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, 13
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L739
	add	DWORD PTR -32[rbp], 2
.L731:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L735
	mov	eax, 0
	jmp	.L724
.L736:
	nop
	jmp	.L727
.L737:
	nop
	jmp	.L727
.L738:
	nop
	jmp	.L727
.L739:
	nop
.L727:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	BitStream_free
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	eax, -1
.L724:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	QRinput_encodeModeKanji, .-QRinput_encodeModeKanji
	.type	QRinput_encodeModeNum, @function
QRinput_encodeModeNum:
.LFB110:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	call	BitStream_new
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L741
	mov	eax, -1
	jmp	.L742
.L741:
	cmp	DWORD PTR -48[rbp], 0
	je	.L743
	cmp	DWORD PTR -44[rbp], 1
	jle	.L744
	mov	eax, DWORD PTR -44[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L753
.L744:
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	mov	edi, 0
	call	MQRspec_lengthIndicator
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, DWORD PTR -12[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jns	.L746
	jmp	.L745
.L743:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L754
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	mov	edi, 0
	call	QRspec_lengthIndicator
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, DWORD PTR -16[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L755
.L746:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	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 -8[rbp], eax
	mov	DWORD PTR -24[rbp], 0
	jmp	.L748
.L750:
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sub	eax, 48
	imul	eax, eax, 100
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, 1
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	edx, -48[rax]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	add	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, 2
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	sub	eax, 48
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	esi, 10
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	js	.L756
	add	DWORD PTR -24[rbp], 1
.L748:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L750
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	lea	ecx, 0[0+rax*4]
	mov	eax, esi
	sub	eax, ecx
	add	eax, edx
	cmp	eax, 1
	jne	.L751
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sub	eax, 48
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jns	.L752
	jmp	.L745
.L751:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	lea	ecx, 0[0+rax*4]
	mov	eax, esi
	sub	eax, ecx
	add	eax, edx
	cmp	eax, 2
	jne	.L752
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	edx, -48[rax]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, 1
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	sub	eax, 48
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	esi, 7
	mov	rdi, rax
	call	BitStream_appendNum
	cmp	DWORD PTR -20[rbp], 0
	js	.L757
.L752:
	mov	eax, 0
	jmp	.L742
.L753:
	nop
	jmp	.L745
.L754:
	nop
	jmp	.L745
.L755:
	nop
	jmp	.L745
.L756:
	nop
	jmp	.L745
.L757:
	nop
.L745:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	BitStream_free
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	eax, -1
.L742:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	QRinput_encodeModeNum, .-QRinput_encodeModeNum
	.type	QRinput_encodeModeStructure, @function
QRinput_encodeModeStructure:
.LFB111:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	cmp	DWORD PTR -28[rbp], 0
	je	.L759
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
	jmp	.L760
.L759:
	call	BitStream_new
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L761
	mov	eax, -1
	jmp	.L760
.L761:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, 3
	mov	esi, 4
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	js	.L766
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 4
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	js	.L767
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 4
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	js	.L768
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 8
	mov	rdi, rax
	call	BitStream_appendNum
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	js	.L769
	mov	eax, 0
	jmp	.L760
.L766:
	nop
	jmp	.L762
.L767:
	nop
	jmp	.L762
.L768:
	nop
	jmp	.L762
.L769:
	nop
.L762:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	BitStream_free
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	eax, -1
.L760:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	QRinput_encodeModeStructure, .-QRinput_encodeModeStructure
	.globl	QRinput_estimateBitStreamSize
	.type	QRinput_estimateBitStreamSize, @function
QRinput_estimateBitStreamSize:
.LFB112:
	.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 -16[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L771
.L772:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	QRinput_estimateBitStreamSizeOfEntry
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	add	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
.L771:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L772
	mov	eax, DWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	QRinput_estimateBitStreamSize, .-QRinput_estimateBitStreamSize
	.type	QRinput_estimateBitStreamSizeOfEntry, @function
QRinput_estimateBitStreamSizeOfEntry:
.LFB113:
	.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	DWORD PTR -16[rbp], 0
	cmp	DWORD PTR -28[rbp], 0
	jne	.L775
	mov	DWORD PTR -28[rbp], 1
.L775:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 7
	ja	.L776
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L778[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L778[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L778:
	.long	.L785-.L778
	.long	.L784-.L778
	.long	.L783-.L778
	.long	.L782-.L778
	.long	.L781-.L778
	.long	.L780-.L778
	.long	.L779-.L778
	.long	.L777-.L778
	.text
.L785:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edi, eax
	call	QRinput_estimateBitsModeNum
	mov	DWORD PTR -16[rbp], eax
	jmp	.L786
.L784:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edi, eax
	call	QRinput_estimateBitsModeAn
	mov	DWORD PTR -16[rbp], eax
	jmp	.L786
.L783:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edi, eax
	call	QRinput_estimateBitsMode8
	mov	DWORD PTR -16[rbp], eax
	jmp	.L786
.L782:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	edi, eax
	call	QRinput_estimateBitsModeKanji
	mov	DWORD PTR -16[rbp], eax
	jmp	.L786
.L781:
	mov	eax, 20
	jmp	.L787
.L780:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	QRinput_estimateBitsModeECI
	mov	DWORD PTR -16[rbp], eax
	jmp	.L786
.L779:
	mov	eax, 4
	jmp	.L787
.L777:
	mov	eax, 12
	jmp	.L787
.L776:
	mov	eax, 0
	jmp	.L787
.L786:
	cmp	DWORD PTR -32[rbp], 0
	je	.L788
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRspec_lengthIndicator
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	jmp	.L789
.L788:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRspec_lengthIndicator
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	sub	eax, 1
	cdq
	idiv	DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 4
	imul	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -16[rbp], eax
.L789:
	mov	eax, DWORD PTR -16[rbp]
.L787:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	QRinput_estimateBitStreamSizeOfEntry, .-QRinput_estimateBitStreamSizeOfEntry
	.globl	QRinput_estimateBitsMode8
	.type	QRinput_estimateBitsMode8, @function
QRinput_estimateBitsMode8:
.LFB114:
	.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 -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 3
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	QRinput_estimateBitsMode8, .-QRinput_estimateBitsMode8
	.globl	QRinput_estimateBitsModeAn
	.type	QRinput_estimateBitsModeAn, @function
QRinput_estimateBitsModeAn:
.LFB115:
	.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]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 1
	test	eax, eax
	je	.L793
	add	DWORD PTR -8[rbp], 6
.L793:
	mov	eax, DWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	QRinput_estimateBitsModeAn, .-QRinput_estimateBitsModeAn
	.globl	QRinput_estimateBitsModeECI
	.type	QRinput_estimateBitsModeECI, @function
QRinput_estimateBitsModeECI:
.LFB116:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_decodeECIfromByteArray
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 127
	ja	.L796
	mov	eax, 12
	jmp	.L797
.L796:
	cmp	DWORD PTR -4[rbp], 16383
	ja	.L798
	mov	eax, 20
	jmp	.L797
.L798:
	mov	eax, 28
.L797:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	QRinput_estimateBitsModeECI, .-QRinput_estimateBitsModeECI
	.globl	QRinput_estimateBitsModeKanji
	.type	QRinput_estimateBitsModeKanji, @function
QRinput_estimateBitsModeKanji:
.LFB117:
	.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 -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	QRinput_estimateBitsModeKanji, .-QRinput_estimateBitsModeKanji
	.globl	QRinput_estimateBitsModeNum
	.type	QRinput_estimateBitsModeNum, @function
QRinput_estimateBitsModeNum:
.LFB118:
	.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]
	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 -4[rbp], eax
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, eax
	sal	eax, 2
	sub	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	cmp	eax, 1
	je	.L802
	cmp	eax, 2
	je	.L803
	jmp	.L804
.L802:
	add	DWORD PTR -8[rbp], 4
	jmp	.L804
.L803:
	add	DWORD PTR -8[rbp], 7
.L804:
	mov	eax, DWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	QRinput_estimateBitsModeNum, .-QRinput_estimateBitsModeNum
	.type	QRinput_estimateVersion, @function
QRinput_estimateVersion:
.LFB119:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -12[rbp], 0
.L809:
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	QRinput_estimateBitStreamSize
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 7
	lea	ecx, 7[rax]
	test	eax, eax
	cmovs	eax, ecx
	sar	eax, 3
	mov	esi, edx
	mov	edi, eax
	call	QRspec_getMinimumVersion
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jns	.L807
	mov	eax, -1
	jmp	.L808
.L807:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jl	.L809
	mov	eax, DWORD PTR -12[rbp]
.L808:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	QRinput_estimateVersion, .-QRinput_estimateVersion
	.globl	QRinput_free
	.type	QRinput_free, @function
QRinput_free:
.LFB120:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	je	.L814
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L812
.L813:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	QRinput_List_freeEntry
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L812:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L813
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
.L814:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	QRinput_free, .-QRinput_free
	.globl	QRinput_getBitStream
	.type	QRinput_getBitStream, @function
QRinput_getBitStream:
.LFB121:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_mergeBitStream
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L816
	mov	eax, 0
	jmp	.L817
.L816:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L818
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	QRinput_appendPaddingBitMQR
	mov	DWORD PTR -12[rbp], eax
	jmp	.L819
.L818:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	QRinput_appendPaddingBit
	mov	DWORD PTR -12[rbp], eax
.L819:
	cmp	DWORD PTR -12[rbp], 0
	jns	.L820
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	BitStream_free
	mov	eax, 0
	jmp	.L817
.L820:
	mov	rax, QWORD PTR -8[rbp]
.L817:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	QRinput_getBitStream, .-QRinput_getBitStream
	.globl	QRinput_getByteStream
	.type	QRinput_getByteStream, @function
QRinput_getByteStream:
.LFB122:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_getBitStream
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L822
	mov	eax, 0
	jmp	.L823
.L822:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	BitStream_toByte
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	BitStream_free
	mov	rax, QWORD PTR -8[rbp]
.L823:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	QRinput_getByteStream, .-QRinput_getByteStream
	.globl	QRinput_getErrorCorrectionLevel
	.type	QRinput_getErrorCorrectionLevel, @function
QRinput_getErrorCorrectionLevel:
.LFB123:
	.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 4[rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	QRinput_getErrorCorrectionLevel, .-QRinput_getErrorCorrectionLevel
	.globl	QRinput_getVersion
	.type	QRinput_getVersion, @function
QRinput_getVersion:
.LFB124:
	.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 [rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE124:
	.size	QRinput_getVersion, .-QRinput_getVersion
	.type	QRinput_insertFNC1Header, @function
QRinput_insertFNC1Header:
.LFB125:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 1
	jne	.L829
	mov	edx, 0
	mov	esi, 0
	mov	edi, 6
	call	QRinput_List_newEntry
	mov	QWORD PTR -8[rbp], rax
	jmp	.L830
.L829:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 2
	jne	.L830
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 32
	mov	rdx, rax
	mov	esi, 1
	mov	edi, 7
	call	QRinput_List_newEntry
	mov	QWORD PTR -8[rbp], rax
.L830:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L831
	mov	eax, -1
	jmp	.L832
.L831:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L833
	mov	BYTE PTR -9[rbp], 1
	jmp	.L834
.L833:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	setne	al
	mov	BYTE PTR -9[rbp], al
.L834:
	cmp	BYTE PTR -9[rbp], 0
	je	.L835
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L836
.L835:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
.L836:
	mov	eax, 0
.L832:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE125:
	.size	QRinput_insertFNC1Header, .-QRinput_insertFNC1Header
	.globl	QRinput_insertStructuredAppendHeader
	.type	QRinput_insertStructuredAppendHeader, @function
QRinput_insertStructuredAppendHeader:
.LFB126:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	eax, ecx
	mov	BYTE PTR -68[rbp], al
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -60[rbp], 16
	jle	.L838
	call	__errno_location@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
	jmp	.L843
.L838:
	cmp	DWORD PTR -64[rbp], 0
	jle	.L840
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jge	.L841
.L840:
	call	__errno_location@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
	jmp	.L843
.L841:
	mov	eax, DWORD PTR -60[rbp]
	mov	BYTE PTR -11[rbp], al
	mov	eax, DWORD PTR -64[rbp]
	mov	BYTE PTR -10[rbp], al
	movzx	eax, BYTE PTR -68[rbp]
	mov	BYTE PTR -9[rbp], al
	lea	rax, -11[rbp]
	mov	rdx, rax
	mov	esi, 3
	mov	edi, 4
	call	QRinput_List_newEntry
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L842
	mov	eax, -1
	jmp	.L843
.L842:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 0
.L843:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L844
	call	__stack_chk_fail@PLT
.L844:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE126:
	.size	QRinput_insertStructuredAppendHeader, .-QRinput_insertStructuredAppendHeader
	.globl	QRinput_isSplittableMode
	.type	QRinput_isSplittableMode, @function
QRinput_isSplittableMode:
.LFB127:
	.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 -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 0
	js	.L846
	cmp	DWORD PTR -4[rbp], 3
	jg	.L846
	mov	eax, 1
	jmp	.L848
.L846:
	mov	eax, 0
.L848:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE127:
	.size	QRinput_isSplittableMode, .-QRinput_isSplittableMode
	.globl	QRinput_lengthOfCode
	.type	QRinput_lengthOfCode, @function
QRinput_lengthOfCode:
.LFB128:
	.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	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	DWORD PTR -44[rbp], edx
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRspec_lengthIndicator
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 4
	sub	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -36[rbp], 4
	ja	.L850
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L852[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L852[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L852:
	.long	.L856-.L852
	.long	.L855-.L852
	.long	.L854-.L852
	.long	.L853-.L852
	.long	.L851-.L852
	.text
.L856:
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx, 2
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	imul	edx, eax, -10
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -8[rbp], 6
	jle	.L857
	add	DWORD PTR -24[rbp], 2
	jmp	.L864
.L857:
	cmp	DWORD PTR -8[rbp], 3
	jle	.L864
	add	DWORD PTR -24[rbp], 1
	jmp	.L864
.L855:
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 780903145
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	imul	edx, eax, -11
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	add	eax, eax
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -8[rbp], 5
	jle	.L865
	add	DWORD PTR -24[rbp], 1
	jmp	.L865
.L854:
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -24[rbp], eax
	jmp	.L859
.L853:
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1321528399
	shr	rdx, 32
	sar	edx, 2
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, eax
	mov	DWORD PTR -24[rbp], eax
	jmp	.L859
.L851:
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -24[rbp], eax
	jmp	.L859
.L850:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L859
.L864:
	nop
	jmp	.L859
.L865:
	nop
.L859:
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRspec_maximumWords
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jns	.L861
	mov	DWORD PTR -24[rbp], 0
.L861:
	cmp	DWORD PTR -4[rbp], 0
	jle	.L862
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jge	.L862
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -24[rbp], eax
.L862:
	mov	eax, DWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE128:
	.size	QRinput_lengthOfCode, .-QRinput_lengthOfCode
	.globl	QRinput_mergeBitStream
	.type	QRinput_mergeBitStream, @function
QRinput_mergeBitStream:
.LFB129:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L867
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_createBitStream
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jns	.L868
	mov	eax, 0
	jmp	.L869
.L867:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	je	.L870
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_insertFNC1Header
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	jns	.L870
	mov	eax, 0
	jmp	.L869
.L870:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_convertData
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jns	.L868
	mov	eax, 0
	jmp	.L869
.L868:
	call	BitStream_new
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L871
	mov	eax, 0
	jmp	.L869
.L871:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L872
.L874:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	BitStream_append
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jns	.L873
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	BitStream_free
	mov	eax, 0
	jmp	.L869
.L873:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
.L872:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L874
	mov	rax, QWORD PTR -8[rbp]
.L869:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE129:
	.size	QRinput_mergeBitStream, .-QRinput_mergeBitStream
	.globl	QRinput_new
	.type	QRinput_new, @function
QRinput_new:
.LFB130:
	.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	esi, 0
	mov	edi, 0
	call	QRinput_new2
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE130:
	.size	QRinput_new, .-QRinput_new
	.globl	QRinput_new2
	.type	QRinput_new2, @function
QRinput_new2:
.LFB131:
	.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	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	cmp	DWORD PTR -36[rbp], 40
	jg	.L878
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, 3
	jg	.L878
	cmp	DWORD PTR -36[rbp], 0
	jns	.L879
.L878:
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L880
.L879:
	mov	edi, 40
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L881
	mov	eax, 0
	jmp	.L880
.L881:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 28[rax], 0
	mov	rax, QWORD PTR -16[rbp]
.L880:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE131:
	.size	QRinput_new2, .-QRinput_new2
	.globl	QRinput_newMQR
	.type	QRinput_newMQR, @function
QRinput_newMQR:
.LFB132:
	.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	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	cmp	DWORD PTR -36[rbp], 4
	jg	.L887
	cmp	DWORD PTR -36[rbp], 0
	jle	.L887
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	MQRspec_getECCLength
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L888
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRinput_new2
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L885
	mov	eax, 0
	jmp	.L886
.L885:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], 1
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L886
.L887:
	nop
	jmp	.L883
.L888:
	nop
.L883:
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
.L886:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE132:
	.size	QRinput_newMQR, .-QRinput_newMQR
	.globl	QRinput_setErrorCorrectionLevel
	.type	QRinput_setErrorCorrectionLevel, @function
QRinput_setErrorCorrectionLevel:
.LFB133:
	.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	eax, DWORD PTR -28[rbp]
	cmp	eax, 3
	jg	.L890
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L891
.L890:
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
	jmp	.L892
.L891:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	eax, 0
.L892:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE133:
	.size	QRinput_setErrorCorrectionLevel, .-QRinput_setErrorCorrectionLevel
	.globl	QRinput_setFNC1First
	.type	QRinput_setFNC1First, @function
QRinput_setFNC1First:
.LFB134:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L894
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
	jmp	.L895
.L894:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], 1
	mov	eax, 0
.L895:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE134:
	.size	QRinput_setFNC1First, .-QRinput_setFNC1First
	.globl	QRinput_setFNC1Second
	.type	QRinput_setFNC1Second, @function
QRinput_setFNC1Second:
.LFB135:
	.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	eax, esi
	mov	BYTE PTR -28[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L897
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
	jmp	.L898
.L897:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], 2
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR -28[rbp]
	mov	BYTE PTR 32[rax], dl
	mov	eax, 0
.L898:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE135:
	.size	QRinput_setFNC1Second, .-QRinput_setFNC1Second
	.globl	QRinput_setVersion
	.type	QRinput_setVersion, @function
QRinput_setVersion:
.LFB136:
	.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	DWORD PTR -28[rbp], 40
	jg	.L900
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L900
	cmp	DWORD PTR -28[rbp], 0
	jns	.L901
.L900:
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
	jmp	.L902
.L901:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
.L902:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE136:
	.size	QRinput_setVersion, .-QRinput_setVersion
	.globl	QRinput_setVersionAndErrorCorrectionLevel
	.type	QRinput_setVersionAndErrorCorrectionLevel, @function
QRinput_setVersionAndErrorCorrectionLevel:
.LFB137:
	.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	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L904
	cmp	DWORD PTR -28[rbp], 4
	jg	.L912
	cmp	DWORD PTR -28[rbp], 0
	jle	.L912
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	edi, eax
	call	MQRspec_getECCLength
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L908
	jmp	.L907
.L904:
	cmp	DWORD PTR -28[rbp], 40
	jg	.L913
	cmp	DWORD PTR -28[rbp], 0
	js	.L913
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, 3
	jg	.L914
.L908:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	eax, 0
	jmp	.L911
.L912:
	nop
	jmp	.L907
.L913:
	nop
	jmp	.L907
.L914:
	nop
.L907:
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
.L911:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE137:
	.size	QRinput_setVersionAndErrorCorrectionLevel, .-QRinput_setVersionAndErrorCorrectionLevel
	.globl	QRinput_splitEntry
	.type	QRinput_splitEntry, @function
QRinput_splitEntry:
.LFB138:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	eax, DWORD PTR -28[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, ecx
	mov	edi, eax
	call	QRinput_List_newEntry
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L916
	mov	eax, -1
	jmp	.L917
.L916:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	QRinput_List_shrinkEntry
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jns	.L918
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	QRinput_List_freeEntry
	mov	eax, -1
	jmp	.L917
.L918:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 0
.L917:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE138:
	.size	QRinput_splitEntry, .-QRinput_splitEntry
	.globl	QRinput_splitQRinputToStruct
	.type	QRinput_splitQRinputToStruct, @function
QRinput_splitQRinputToStruct:
.LFB139:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L920
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, 0
	jmp	.L921
.L920:
	call	QRinput_Struct_new
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L922
	mov	eax, 0
	jmp	.L921
.L922:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	QRinput_dup
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	jne	.L923
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_Struct_free
	mov	eax, 0
	jmp	.L921
.L923:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	QRinput_calcParity
	mov	BYTE PTR -81[rbp], al
	movzx	edx, BYTE PTR -81[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	QRinput_Struct_setParity
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	QRspec_getDataLength
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	sal	eax, 3
	sub	eax, 20
	mov	DWORD PTR -72[rbp], eax
	cmp	DWORD PTR -72[rbp], 0
	jg	.L924
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_Struct_free
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	QRinput_free
	mov	eax, 0
	jmp	.L921
.L924:
	mov	DWORD PTR -80[rbp], 0
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
	mov	QWORD PTR -48[rbp], 0
	jmp	.L925
.L934:
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	QRinput_estimateBitStreamSizeOfEntry
	mov	DWORD PTR -64[rbp], eax
	mov	edx, DWORD PTR -80[rbp]
	mov	eax, DWORD PTR -64[rbp]
	add	eax, edx
	cmp	DWORD PTR -72[rbp], eax
	jl	.L926
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	QRinput_encodeBitStream
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	js	.L937
	mov	eax, DWORD PTR -68[rbp]
	add	DWORD PTR -80[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L925
.L926:
	mov	eax, DWORD PTR -72[rbp]
	sub	eax, DWORD PTR -80[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, ecx
	mov	edi, eax
	call	QRinput_lengthOfCode
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, edx
	mov	edi, eax
	call	QRinput_new2
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L938
	cmp	DWORD PTR -60[rbp], 0
	jle	.L930
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	QRinput_splitEntry
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jns	.L931
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_free
	jmp	.L928
.L931:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L932
.L930:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
.L932:
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	QRinput_Struct_appendInput
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jns	.L933
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	QRinput_free
	jmp	.L928
.L933:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	DWORD PTR -80[rbp], 0
.L925:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L934
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	QRinput_Struct_appendInput
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	js	.L939
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 16
	jle	.L935
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_Struct_free
	call	__errno_location@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 34
	mov	eax, 0
	jmp	.L921
.L935:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_Struct_insertStructuredAppendHeaders
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jns	.L936
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_Struct_free
	mov	eax, 0
	jmp	.L921
.L936:
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L921
.L937:
	nop
	jmp	.L928
.L938:
	nop
	jmp	.L928
.L939:
	nop
.L928:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	QRinput_free
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	QRinput_Struct_free
	mov	eax, 0
.L921:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE139:
	.size	QRinput_splitQRinputToStruct, .-QRinput_splitQRinputToStruct
	.globl	QRraw_free
	.type	QRraw_free, @function
QRraw_free:
.LFB140:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L942
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
.L942:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE140:
	.size	QRraw_free, .-QRraw_free
	.globl	QRraw_getCode
	.type	QRraw_getCode, @function
QRraw_getCode:
.LFB141:
	.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	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	jge	.L944
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 36[rdx]
	cdq
	idiv	ecx
	mov	DWORD PTR -8[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR 36[rdx]
	cdq
	idiv	esi
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L945
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	add	DWORD PTR -8[rbp], eax
.L945:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	jmp	.L946
.L944:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, ecx
	cmp	edx, eax
	jge	.L947
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 36[rax]
	mov	eax, edx
	cdq
	idiv	ecx
	mov	DWORD PTR -8[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edi, DWORD PTR 36[rax]
	mov	eax, ecx
	cdq
	idiv	edi
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	jmp	.L946
.L947:
	mov	eax, 0
	jmp	.L948
.L946:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 48[rax], edx
	movzx	eax, BYTE PTR -9[rbp]
.L948:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE141:
	.size	QRraw_getCode, .-QRraw_getCode
	.globl	QRraw_new
	.type	QRraw_new, @function
QRraw_new:
.LFB142:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edi, 56
	call	malloc@PLT
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L950
	mov	eax, 0
	jmp	.L956
.L950:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	QRinput_getByteStream
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L952
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L956
.L952:
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR [rax]
	lea	rdx, -32[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	QRspec_getEccSpec
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	ecx, edx
	imul	ecx, eax
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -16[rbp]
	imul	eax, edx
	lea	edx, [rcx+rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	imul	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L953
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L956
.L953:
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 36[rax]
	cdqe
	mov	esi, 32
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	jne	.L954
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	QRraw_free
	mov	eax, 0
	jmp	.L956
.L954:
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rsi, -32[rbp]
	mov	rdi, rax
	call	RSblock_init
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	jns	.L955
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	QRraw_free
	mov	eax, 0
	jmp	.L956
.L955:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -56[rbp]
.L956:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L957
	call	__stack_chk_fail@PLT
.L957:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE142:
	.size	QRraw_new, .-QRraw_new
	.globl	QRspec_clearCache
	.type	QRspec_clearCache, @function
QRspec_clearCache:
.LFB143:
	.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
	lea	rdi, frames_mutex[rip]
	call	pthread_mutex_lock@PLT
	mov	DWORD PTR -4[rbp], 1
	jmp	.L959
.L960:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, frames[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, frames[rip]
	mov	QWORD PTR [rdx+rax], 0
	add	DWORD PTR -4[rbp], 1
.L959:
	cmp	DWORD PTR -4[rbp], 40
	jle	.L960
	lea	rdi, frames_mutex[rip]
	call	pthread_mutex_unlock@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE143:
	.size	QRspec_clearCache, .-QRspec_clearCache
	.type	QRspec_createFrame, @function
QRspec_createFrame:
.LFB144:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -68[rbp], edi
	mov	eax, DWORD PTR -68[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, qrspecCapacity[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L962
	mov	eax, 0
	jmp	.L963
.L962:
	mov	eax, DWORD PTR -40[rbp]
	imul	eax, eax
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	putFinderPattern
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, -7[rax]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	putFinderPattern
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, -7[rax]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	putFinderPattern
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 7
	imul	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L964
.L965:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 7
	mov	BYTE PTR [rax], -64
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 8
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], -64
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 7
	mov	BYTE PTR [rax], -64
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	add	DWORD PTR -48[rbp], 1
.L964:
	cmp	DWORD PTR -48[rbp], 6
	jle	.L965
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, edx
	sal	eax, 3
	sub	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, 8
	mov	esi, 192
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -40[rbp]
	sal	eax, 3
	cdqe
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, 8
	mov	esi, 192
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 8
	imul	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, 8
	mov	esi, 192
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -40[rbp]
	sal	eax, 3
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, 9
	mov	esi, 132
	mov	rdi, rax
	call	memset@PLT
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	cdqe
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, 8
	mov	esi, 132
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L966
.L967:
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], -124
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	QWORD PTR -32[rbp], rax
	add	DWORD PTR -48[rbp], 1
.L966:
	cmp	DWORD PTR -48[rbp], 7
	jle	.L967
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 7
	imul	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L968
.L969:
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], -124
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	QWORD PTR -32[rbp], rax
	add	DWORD PTR -48[rbp], 1
.L968:
	cmp	DWORD PTR -48[rbp], 6
	jle	.L969
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, eax
	cdqe
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	sal	eax, 3
	cdqe
	lea	rdx, 6[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -52[rbp], 1
	jmp	.L970
.L971:
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 1
	or	eax, -112
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 1
	or	eax, -112
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -32[rbp], 1
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	add	DWORD PTR -52[rbp], 1
.L970:
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 15
	cmp	DWORD PTR -52[rbp], eax
	jl	.L971
	mov	edx, DWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR -68[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	QRspec_putAlignmentPattern
	cmp	DWORD PTR -68[rbp], 6
	jle	.L972
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	QRspec_getVersionPattern
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 11
	imul	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	DWORD PTR -52[rbp], 0
	jmp	.L973
.L976:
	mov	DWORD PTR -48[rbp], 0
	jmp	.L974
.L975:
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -40[rbp]
	imul	eax, DWORD PTR -48[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, ecx
	movsx	rcx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	or	edx, -120
	mov	BYTE PTR [rax], dl
	shr	DWORD PTR -44[rbp]
	add	DWORD PTR -48[rbp], 1
.L974:
	cmp	DWORD PTR -48[rbp], 2
	jle	.L975
	add	DWORD PTR -52[rbp], 1
.L973:
	cmp	DWORD PTR -52[rbp], 5
	jle	.L976
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, -11[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L977
.L980:
	mov	DWORD PTR -52[rbp], 0
	jmp	.L978
.L979:
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -52[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	or	edx, -120
	mov	BYTE PTR [rax], dl
	shr	DWORD PTR -44[rbp]
	add	DWORD PTR -52[rbp], 1
.L978:
	cmp	DWORD PTR -52[rbp], 2
	jle	.L979
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	QWORD PTR -32[rbp], rax
	add	DWORD PTR -48[rbp], 1
.L977:
	cmp	DWORD PTR -48[rbp], 5
	jle	.L980
.L972:
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 8
	imul	eax, DWORD PTR -40[rbp]
	add	eax, 8
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], -127
	mov	rax, QWORD PTR -8[rbp]
.L963:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE144:
	.size	QRspec_createFrame, .-QRspec_createFrame
	.globl	QRspec_getDataLength
	.type	QRspec_getDataLength, @function
QRspec_getDataLength:
.LFB145:
	.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 -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, qrspecCapacity[rip+4]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	esi, DWORD PTR -8[rbp]
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, qrspecCapacity[rip+12]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, ecx
	sub	eax, edx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE145:
	.size	QRspec_getDataLength, .-QRspec_getDataLength
	.globl	QRspec_getECCLength
	.type	QRspec_getECCLength, @function
QRspec_getECCLength:
.LFB146:
	.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 -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	ecx, DWORD PTR -8[rbp]
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, qrspecCapacity[rip+12]
	mov	eax, DWORD PTR [rdx+rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE146:
	.size	QRspec_getECCLength, .-QRspec_getECCLength
	.globl	QRspec_getEccSpec
	.type	QRspec_getEccSpec, @function
QRspec_getEccSpec:
.LFB147:
	.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	DWORD PTR -24[rbp], esi
	mov	QWORD PTR -32[rbp], rdx
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	mov	edx, DWORD PTR -24[rbp]
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*8]
	lea	rax, eccTable[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	mov	edx, DWORD PTR -24[rbp]
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*8]
	lea	rax, eccTable[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRspec_getDataLength
	mov	DWORD PTR -8[rbp], eax
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	QRspec_getECCLength
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L986
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, 4[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdq
	idiv	DWORD PTR -16[rbp]
	mov	DWORD PTR [rcx], eax
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdq
	idiv	DWORD PTR -16[rbp]
	mov	DWORD PTR [rcx], eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 16
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 12[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR [rdx], eax
	jmp	.L988
.L986:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -12[rbp]
	lea	esi, [rdx+rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, 4[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdq
	idiv	esi
	mov	DWORD PTR [rcx], eax
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -12[rbp]
	lea	edi, [rdx+rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdq
	idiv	edi
	mov	DWORD PTR [rcx], eax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 12[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 4
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 16
	add	edx, 1
	mov	DWORD PTR [rax], edx
.L988:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE147:
	.size	QRspec_getEccSpec, .-QRspec_getEccSpec
	.globl	QRspec_getFormatInfo
	.type	QRspec_getFormatInfo, @function
QRspec_getFormatInfo:
.LFB148:
	.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 -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 7
	jg	.L990
	cmp	DWORD PTR -4[rbp], 0
	jns	.L991
.L990:
	mov	eax, 0
	jmp	.L992
.L991:
	mov	eax, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, formatInfo[rip]
	mov	eax, DWORD PTR [rdx+rax]
.L992:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE148:
	.size	QRspec_getFormatInfo, .-QRspec_getFormatInfo
	.globl	QRspec_getMinimumVersion
	.type	QRspec_getMinimumVersion, @function
QRspec_getMinimumVersion:
.LFB149:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -8[rbp], 1
	jmp	.L994
.L997:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, qrspecCapacity[rip+4]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	esi, DWORD PTR -24[rbp]
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, qrspecCapacity[rip+12]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, ecx
	sub	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L995
	mov	eax, DWORD PTR -8[rbp]
	jmp	.L996
.L995:
	add	DWORD PTR -8[rbp], 1
.L994:
	cmp	DWORD PTR -8[rbp], 40
	jle	.L997
	mov	eax, -1
.L996:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE149:
	.size	QRspec_getMinimumVersion, .-QRspec_getMinimumVersion
	.globl	QRspec_getRemainder
	.type	QRspec_getRemainder, @function
QRspec_getRemainder:
.LFB150:
	.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 -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, qrspecCapacity[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE150:
	.size	QRspec_getRemainder, .-QRspec_getRemainder
	.globl	QRspec_getVersionPattern
	.type	QRspec_getVersionPattern, @function
QRspec_getVersionPattern:
.LFB151:
	.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 -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 40
	jg	.L1001
	cmp	DWORD PTR -4[rbp], 6
	jg	.L1002
.L1001:
	mov	eax, 0
	jmp	.L1003
.L1002:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 7
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, versionPattern[rip]
	mov	eax, DWORD PTR [rdx+rax]
.L1003:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE151:
	.size	QRspec_getVersionPattern, .-QRspec_getVersionPattern
	.globl	QRspec_getWidth
	.type	QRspec_getWidth, @function
QRspec_getWidth:
.LFB152:
	.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 -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, qrspecCapacity[rip]
	mov	eax, DWORD PTR [rdx+rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE152:
	.size	QRspec_getWidth, .-QRspec_getWidth
	.globl	QRspec_lengthIndicator
	.type	QRspec_lengthIndicator, @function
QRspec_lengthIndicator:
.LFB153:
	.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	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	QRinput_isSplittableMode
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1007
	mov	eax, 0
	jmp	.L1008
.L1007:
	cmp	DWORD PTR -24[rbp], 9
	jg	.L1009
	mov	DWORD PTR -8[rbp], 0
	jmp	.L1010
.L1009:
	cmp	DWORD PTR -24[rbp], 26
	jg	.L1011
	mov	DWORD PTR -8[rbp], 1
	jmp	.L1010
.L1011:
	mov	DWORD PTR -8[rbp], 2
.L1010:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, lengthTableBits[rip]
	mov	eax, DWORD PTR [rdx+rax]
.L1008:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE153:
	.size	QRspec_lengthIndicator, .-QRspec_lengthIndicator
	.globl	QRspec_maximumWords
	.type	QRspec_maximumWords, @function
QRspec_maximumWords:
.LFB154:
	.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	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	QRinput_isSplittableMode
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	jne	.L1013
	mov	eax, 0
	jmp	.L1014
.L1013:
	cmp	DWORD PTR -24[rbp], 9
	jg	.L1015
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1016
.L1015:
	cmp	DWORD PTR -24[rbp], 26
	jg	.L1017
	mov	DWORD PTR -16[rbp], 1
	jmp	.L1016
.L1017:
	mov	DWORD PTR -16[rbp], 2
.L1016:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, lengthTableBits[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -20[rbp], 3
	jne	.L1018
	sal	DWORD PTR -12[rbp]
.L1018:
	mov	eax, DWORD PTR -12[rbp]
.L1014:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE154:
	.size	QRspec_maximumWords, .-QRspec_maximumWords
	.globl	QRspec_newFrame
	.type	QRspec_newFrame, @function
QRspec_newFrame:
.LFB155:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	DWORD PTR -52[rbp], edi
	cmp	DWORD PTR -52[rbp], 40
	jg	.L1020
	cmp	DWORD PTR -52[rbp], 0
	jg	.L1021
.L1020:
	mov	eax, 0
	jmp	.L1022
.L1021:
	lea	rdi, frames_mutex[rip]
	call	pthread_mutex_lock@PLT
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, frames[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L1023
	mov	eax, DWORD PTR -52[rbp]
	movsx	rbx, eax
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	QRspec_createFrame
	lea	rcx, 0[0+rbx*8]
	lea	rdx, frames[rip]
	mov	QWORD PTR [rcx+rdx], rax
.L1023:
	lea	rdi, frames_mutex[rip]
	call	pthread_mutex_unlock@PLT
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, frames[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L1024
	mov	eax, 0
	jmp	.L1022
.L1024:
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 3
	sub	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, qrspecCapacity[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	imul	eax, eax
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1025
	mov	eax, 0
	jmp	.L1022
.L1025:
	mov	eax, DWORD PTR -36[rbp]
	imul	eax, eax
	movsx	rdx, eax
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rax, frames[rip]
	mov	rcx, QWORD PTR [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
.L1022:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE155:
	.size	QRspec_newFrame, .-QRspec_newFrame
	.type	QRspec_putAlignmentMarker, @function
QRspec_putAlignmentMarker:
.LFB156:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 2
	imul	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	sub	eax, 2
	cdqe
	add	QWORD PTR -24[rbp], rax
	lea	rax, finder.4[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L1027
.L1030:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1028
.L1029:
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -16[rbp], 1
.L1028:
	cmp	DWORD PTR -16[rbp], 4
	jle	.L1029
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	add	QWORD PTR -8[rbp], 5
	add	DWORD PTR -12[rbp], 1
.L1027:
	cmp	DWORD PTR -12[rbp], 4
	jle	.L1030
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE156:
	.size	QRspec_putAlignmentMarker, .-QRspec_putAlignmentMarker
	.type	QRspec_putAlignmentPattern, @function
QRspec_putAlignmentPattern:
.LFB157:
	.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	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -40[rbp], edx
	cmp	DWORD PTR -36[rbp], 1
	jle	.L1042
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, alignmentPattern[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, DWORD PTR -36[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, alignmentPattern[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	sub	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jns	.L1033
	mov	DWORD PTR -24[rbp], 2
	jmp	.L1034
.L1033:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, alignmentPattern[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, edx
	cdq
	idiv	DWORD PTR -4[rbp]
	add	eax, 2
	mov	DWORD PTR -24[rbp], eax
.L1034:
	mov	eax, DWORD PTR -24[rbp]
	imul	eax, eax
	cmp	eax, 4
	jne	.L1035
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, alignmentPattern[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, alignmentPattern[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -16[rbp], eax
	mov	ecx, DWORD PTR -16[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	QRspec_putAlignmentMarker
	jmp	.L1042
.L1035:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, alignmentPattern[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -12[rbp], eax
	mov	DWORD PTR -20[rbp], 1
	jmp	.L1036
.L1037:
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	ecx, edx
	mov	edx, 6
	mov	rdi, rax
	call	QRspec_putAlignmentMarker
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	ecx, 6
	mov	rdi, rax
	call	QRspec_putAlignmentMarker
	mov	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -12[rbp], eax
	add	DWORD PTR -20[rbp], 1
.L1036:
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	cmp	DWORD PTR -20[rbp], eax
	jl	.L1037
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, alignmentPattern[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -8[rbp], eax
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1038
.L1041:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, alignmentPattern[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -12[rbp], eax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1039
.L1040:
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	QRspec_putAlignmentMarker
	mov	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -12[rbp], eax
	add	DWORD PTR -20[rbp], 1
.L1039:
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	cmp	DWORD PTR -20[rbp], eax
	jl	.L1040
	mov	eax, DWORD PTR -4[rbp]
	add	DWORD PTR -8[rbp], eax
	add	DWORD PTR -16[rbp], 1
.L1038:
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	jl	.L1041
.L1042:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE157:
	.size	QRspec_putAlignmentPattern, .-QRspec_putAlignmentPattern
	.type	RSblock_init, @function
RSblock_init:
.LFB158:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, 255
	sub	eax, DWORD PTR -40[rbp]
	sub	eax, DWORD PTR -36[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	mov	r9d, edx
	mov	r8d, eax
	mov	ecx, 1
	mov	edx, 0
	mov	esi, 285
	mov	edi, 8
	call	init_rs
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1044
	mov	eax, -1
	jmp	.L1045
.L1044:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L1046
.L1047:
	mov	r8, QWORD PTR -8[rbp]
	mov	rdi, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	call	RSblock_initBlock
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	QWORD PTR -16[rbp], rax
	add	QWORD PTR -32[rbp], 32
	add	DWORD PTR -44[rbp], 1
.L1046:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L1047
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 12
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1048
	mov	eax, 0
	jmp	.L1045
.L1048:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, 255
	sub	eax, DWORD PTR -40[rbp]
	sub	eax, DWORD PTR -36[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	mov	r9d, edx
	mov	r8d, eax
	mov	ecx, 1
	mov	edx, 0
	mov	esi, 285
	mov	edi, 8
	call	init_rs
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1049
	mov	eax, -1
	jmp	.L1045
.L1049:
	mov	DWORD PTR -44[rbp], 0
	jmp	.L1050
.L1051:
	mov	r8, QWORD PTR -8[rbp]
	mov	rdi, QWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	r9, r8
	mov	r8, rdi
	mov	rdi, rax
	call	RSblock_initBlock
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	QWORD PTR -16[rbp], rax
	add	QWORD PTR -32[rbp], 32
	add	DWORD PTR -44[rbp], 1
.L1050:
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 12
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L1051
	mov	eax, 0
.L1045:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE158:
	.size	RSblock_init, .-RSblock_init
	.type	RSblock_initBlock, @function
RSblock_initBlock:
.LFB159:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -16[rbp], ecx
	mov	QWORD PTR -32[rbp], r8
	mov	QWORD PTR -40[rbp], r9
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	encode_rs_char
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE159:
	.size	RSblock_initBlock, .-RSblock_initBlock
	.type	Split_eat8, @function
Split_eat8:
.LFB160:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	DWORD PTR -116[rbp], edx
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	mov	edi, 1
	call	QRspec_lengthIndicator
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	mov	edi, 0
	call	QRspec_lengthIndicator
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	mov	edi, 2
	call	QRspec_lengthIndicator
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 1
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1054
.L1070:
	mov	edx, DWORD PTR -116[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Split_identifyMode
	mov	DWORD PTR -64[rbp], eax
	cmp	DWORD PTR -64[rbp], 3
	je	.L1074
	cmp	DWORD PTR -64[rbp], 0
	jne	.L1057
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	nop
	mov	edx, DWORD PTR -116[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Split_identifyMode
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 2
	jne	.L1058
	mov	eax, DWORD PTR -68[rbp]
	add	eax, 4
	mov	DWORD PTR -84[rbp], eax
	jmp	.L1059
.L1058:
	mov	DWORD PTR -84[rbp], 0
.L1059:
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -104[rbp]
	mov	edi, eax
	call	QRinput_estimateBitsMode8
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -16[rbp]
	mov	edi, eax
	call	QRinput_estimateBitsModeNum
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -104[rbp]
	mov	edi, eax
	call	QRinput_estimateBitsMode8
	mov	DWORD PTR -28[rbp], eax
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	lea	edx, 4[rax]
	mov	eax, DWORD PTR -72[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -84[rbp]
	add	eax, edx
	sub	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	js	.L1075
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1054
.L1057:
	cmp	DWORD PTR -64[rbp], 1
	jne	.L1061
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
.L1066:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L1062
	mov	DWORD PTR -80[rbp], -1
	jmp	.L1063
.L1062:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	lea	rdx, QRinput_anTable[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	DWORD PTR -80[rbp], eax
.L1063:
	cmp	DWORD PTR -80[rbp], 0
	js	.L1076
	add	QWORD PTR -8[rbp], 1
	jmp	.L1066
.L1076:
	nop
	mov	edx, DWORD PTR -116[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Split_identifyMode
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 2
	jne	.L1067
	mov	eax, DWORD PTR -68[rbp]
	add	eax, 4
	mov	DWORD PTR -84[rbp], eax
	jmp	.L1068
.L1067:
	mov	DWORD PTR -84[rbp], 0
.L1068:
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -104[rbp]
	mov	edi, eax
	call	QRinput_estimateBitsMode8
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -16[rbp]
	mov	edi, eax
	call	QRinput_estimateBitsModeAn
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -104[rbp]
	mov	edi, eax
	call	QRinput_estimateBitsMode8
	mov	DWORD PTR -48[rbp], eax
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -52[rbp]
	add	eax, edx
	lea	edx, 4[rax]
	mov	eax, DWORD PTR -76[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -84[rbp]
	add	eax, edx
	sub	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	js	.L1077
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1054
.L1061:
	add	QWORD PTR -16[rbp], 1
.L1054:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1070
	jmp	.L1056
.L1074:
	nop
	jmp	.L1056
.L1075:
	nop
	jmp	.L1056
.L1077:
	nop
.L1056:
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	rcx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	QRinput_append
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jns	.L1071
	mov	eax, -1
	jmp	.L1072
.L1071:
	mov	eax, DWORD PTR -24[rbp]
.L1072:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE160:
	.size	Split_eat8, .-Split_eat8
	.type	Split_eatAn, @function
Split_eatAn:
.LFB161:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	DWORD PTR -84[rbp], edx
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	mov	edi, 1
	call	QRspec_lengthIndicator
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	mov	edi, 0
	call	QRspec_lengthIndicator
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -8[rbp], rax
.L1083:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L1079
	mov	DWORD PTR -44[rbp], -1
	jmp	.L1080
.L1079:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	lea	rdx, QRinput_anTable[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	DWORD PTR -44[rbp], eax
.L1080:
	cmp	DWORD PTR -44[rbp], 0
	js	.L1090
	add	QWORD PTR -8[rbp], 1
	jmp	.L1083
.L1090:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1084
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L1085
	mov	DWORD PTR -40[rbp], -1
	jmp	.L1086
.L1085:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	lea	rdx, QRinput_anTable[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	DWORD PTR -40[rbp], eax
.L1086:
	cmp	DWORD PTR -40[rbp], 0
	jns	.L1084
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	QRinput_estimateBitsModeAn
	mov	DWORD PTR -32[rbp], eax
	mov	edi, 1
	call	QRinput_estimateBitsMode8
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	mov	edi, eax
	call	QRinput_estimateBitsMode8
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 4[rax]
	mov	eax, DWORD PTR -52[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	sub	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jle	.L1084
	mov	edx, DWORD PTR -84[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Split_eat8
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	jmp	.L1087
.L1084:
	mov	rcx, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	QRinput_append
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jns	.L1088
	mov	eax, -1
	jmp	.L1087
.L1088:
	mov	eax, DWORD PTR -36[rbp]
.L1087:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE161:
	.size	Split_eatAn, .-Split_eatAn
	.type	Split_eatKanji, @function
Split_eatKanji:
.LFB162:
	.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	DWORD PTR -52[rbp], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
.L1094:
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Split_identifyMode
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 3
	jne	.L1098
	add	QWORD PTR -8[rbp], 2
	jmp	.L1094
.L1098:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 3
	mov	rdi, rax
	call	QRinput_append
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jns	.L1095
	mov	eax, -1
	jmp	.L1096
.L1095:
	mov	eax, DWORD PTR -16[rbp]
.L1096:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE162:
	.size	Split_eatKanji, .-Split_eatKanji
	.type	Split_eatNum, @function
Split_eatNum:
.LFB163:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	DWORD PTR -84[rbp], edx
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	mov	edi, 0
	call	QRspec_lengthIndicator
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -8[rbp], rax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR -56[rbp], eax
	mov	edx, DWORD PTR -84[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Split_identifyMode
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 2
	jne	.L1100
	mov	eax, DWORD PTR -56[rbp]
	mov	edi, eax
	call	QRinput_estimateBitsModeNum
	mov	DWORD PTR -48[rbp], eax
	mov	edi, 1
	call	QRinput_estimateBitsMode8
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 1
	mov	edi, eax
	call	QRinput_estimateBitsMode8
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	lea	edx, 4[rax]
	mov	eax, DWORD PTR -60[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	sub	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jle	.L1100
	mov	edx, DWORD PTR -84[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Split_eat8
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	jmp	.L1101
.L1100:
	cmp	DWORD PTR -52[rbp], 1
	jne	.L1102
	mov	eax, DWORD PTR -56[rbp]
	mov	edi, eax
	call	QRinput_estimateBitsModeNum
	mov	DWORD PTR -28[rbp], eax
	mov	edi, 1
	call	QRinput_estimateBitsModeAn
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 1
	mov	edi, eax
	call	QRinput_estimateBitsModeAn
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 4[rax]
	mov	eax, DWORD PTR -60[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	sub	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jle	.L1102
	mov	edx, DWORD PTR -84[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Split_eatAn
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	jmp	.L1101
.L1102:
	mov	rcx, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	QRinput_append
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jns	.L1103
	mov	eax, -1
	jmp	.L1101
.L1103:
	mov	eax, DWORD PTR -56[rbp]
.L1101:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE163:
	.size	Split_eatNum, .-Split_eatNum
	.type	Split_identifyMode, @function
Split_identifyMode:
.LFB164:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	cmp	BYTE PTR -10[rbp], 0
	jne	.L1105
	mov	eax, -1
	jmp	.L1106
.L1105:
	movzx	eax, BYTE PTR -10[rbp]
	test	al, al
	jns	.L1107
	mov	DWORD PTR -8[rbp], -1
	jmp	.L1108
.L1107:
	movzx	eax, BYTE PTR -10[rbp]
	lea	rdx, QRinput_anTable[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	DWORD PTR -8[rbp], eax
.L1108:
	cmp	DWORD PTR -8[rbp], 0
	js	.L1109
	mov	eax, 1
	jmp	.L1106
.L1109:
	cmp	DWORD PTR -28[rbp], 3
	jne	.L1110
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	cmp	BYTE PTR -9[rbp], 0
	je	.L1110
	movzx	eax, BYTE PTR -10[rbp]
	sal	eax, 8
	mov	edx, eax
	movzx	eax, BYTE PTR -9[rbp]
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 33087
	jbe	.L1111
	cmp	DWORD PTR -4[rbp], 40956
	jbe	.L1112
.L1111:
	cmp	DWORD PTR -4[rbp], 57407
	jbe	.L1110
	cmp	DWORD PTR -4[rbp], 60351
	ja	.L1110
.L1112:
	mov	eax, 3
	jmp	.L1106
.L1110:
	mov	eax, 2
.L1106:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE164:
	.size	Split_identifyMode, .-Split_identifyMode
	.type	Split_splitString, @function
Split_splitString:
.LFB165:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1114
	mov	eax, 0
	jmp	.L1115
.L1114:
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Split_identifyMode
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	jne	.L1116
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Split_eatNum
	mov	DWORD PTR -12[rbp], eax
	jmp	.L1117
.L1116:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L1118
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Split_eatAn
	mov	DWORD PTR -12[rbp], eax
	jmp	.L1117
.L1118:
	cmp	DWORD PTR -8[rbp], 3
	jne	.L1119
	cmp	DWORD PTR -36[rbp], 3
	jne	.L1119
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Split_eatKanji
	mov	DWORD PTR -12[rbp], eax
	jmp	.L1117
.L1119:
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Split_eat8
	mov	DWORD PTR -12[rbp], eax
.L1117:
	cmp	DWORD PTR -12[rbp], 0
	jne	.L1120
	mov	eax, 0
	jmp	.L1115
.L1120:
	cmp	DWORD PTR -12[rbp], 0
	jns	.L1121
	mov	eax, -1
	jmp	.L1115
.L1121:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, [rdx+rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	Split_splitString
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
.L1115:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE165:
	.size	Split_splitString, .-Split_splitString
	.globl	Split_splitStringToQRinput
	.type	Split_splitStringToQRinput, @function
Split_splitStringToQRinput:
.LFB166:
	.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	DWORD PTR -52[rbp], edx
	mov	DWORD PTR -56[rbp], ecx
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1123
	mov	BYTE PTR -21[rbp], 1
	jmp	.L1124
.L1123:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	sete	al
	mov	BYTE PTR -21[rbp], al
.L1124:
	cmp	BYTE PTR -21[rbp], 0
	je	.L1125
	call	__errno_location@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 22
	mov	eax, -1
	jmp	.L1126
.L1125:
	cmp	DWORD PTR -56[rbp], 0
	jne	.L1127
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	dupAndToUpper
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1128
	mov	eax, -1
	jmp	.L1126
.L1128:
	mov	edx, DWORD PTR -52[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Split_splitString
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L1129
.L1127:
	mov	edx, DWORD PTR -52[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Split_splitString
	mov	DWORD PTR -20[rbp], eax
.L1129:
	mov	eax, DWORD PTR -20[rbp]
.L1126:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE166:
	.size	Split_splitStringToQRinput, .-Split_splitStringToQRinput
	.type	dupAndToUpper, @function
dupAndToUpper:
.LFB167:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1131
	mov	eax, 0
	jmp	.L1132
.L1131:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1133
.L1136:
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Split_identifyMode
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 3
	jne	.L1134
	add	QWORD PTR -16[rbp], 2
	jmp	.L1133
.L1134:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 96
	jle	.L1135
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 122
	jg	.L1135
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	sub	eax, 32
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
.L1135:
	add	QWORD PTR -16[rbp], 1
.L1133:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1136
	mov	rax, QWORD PTR -8[rbp]
.L1132:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE167:
	.size	dupAndToUpper, .-dupAndToUpper
	.globl	encode_rs_char
	.type	encode_rs_char, @function
encode_rs_char:
.LFB168:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1138
.L1144:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -16[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rcx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	xor	eax, ecx
	movzx	eax, al
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -17[rbp], al
	movzx	edx, BYTE PTR -17[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	je	.L1139
	mov	DWORD PTR -12[rbp], 1
	jmp	.L1140
.L1141:
	movzx	edx, BYTE PTR -17[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	sub	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	modnn
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	movsx	rsi, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rsi
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -12[rbp], 1
.L1140:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L1141
.L1139:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	sub	eax, 1
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	movzx	edx, BYTE PTR -17[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	edx, eax
	je	.L1142
	movzx	edx, BYTE PTR -17[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	modnn
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	sub	eax, 1
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR [rcx]
	mov	BYTE PTR [rdx], al
	jmp	.L1143
.L1142:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	sub	eax, 1
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L1143:
	add	DWORD PTR -16[rbp], 1
.L1138:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	sub	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 48[rax]
	mov	eax, edx
	sub	eax, ecx
	cmp	DWORD PTR -16[rbp], eax
	jl	.L1144
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE168:
	.size	encode_rs_char, .-encode_rs_char
	.section	.rodata
.LC2:
	.string	"Failed to encode:"
	.text
	.globl	encode_ver1to10
	.type	encode_ver1to10, @function
encode_ver1to10:
.LFB169:
	.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 -16[rbp], 0
	jmp	.L1146
.L1151:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L1147
.L1150:
	mov	rax, QWORD PTR data.3[rip]
	mov	esi, DWORD PTR -12[rbp]
	mov	r8d, 0
	mov	ecx, 2
	mov	edx, 0
	mov	rdi, rax
	call	QRcode_encodeString
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1148
	lea	rdi, .LC2[rip]
	call	perror@PLT
	jmp	.L1149
.L1148:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	QRcode_free
.L1149:
	add	DWORD PTR -12[rbp], 1
.L1147:
	cmp	DWORD PTR -12[rbp], 10
	jle	.L1150
	add	DWORD PTR -16[rbp], 1
.L1146:
	cmp	DWORD PTR -16[rbp], 499
	jle	.L1151
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE169:
	.size	encode_ver1to10, .-encode_ver1to10
	.globl	encode_ver31to40
	.type	encode_ver31to40, @function
encode_ver31to40:
.LFB170:
	.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 -16[rbp], 0
	jmp	.L1154
.L1159:
	mov	DWORD PTR -12[rbp], 31
	jmp	.L1155
.L1158:
	mov	rax, QWORD PTR data.2[rip]
	mov	esi, DWORD PTR -12[rbp]
	mov	r8d, 0
	mov	ecx, 2
	mov	edx, 0
	mov	rdi, rax
	call	QRcode_encodeString
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1156
	lea	rdi, .LC2[rip]
	call	perror@PLT
	jmp	.L1157
.L1156:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	QRcode_free
.L1157:
	add	DWORD PTR -12[rbp], 1
.L1155:
	cmp	DWORD PTR -12[rbp], 40
	jle	.L1158
	add	DWORD PTR -16[rbp], 1
.L1154:
	cmp	DWORD PTR -16[rbp], 49
	jle	.L1159
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE170:
	.size	encode_ver31to40, .-encode_ver31to40
	.globl	free_rs_cache
	.type	free_rs_cache, @function
free_rs_cache:
.LFB171:
	.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
	lea	rdi, rslist_mutex[rip]
	call	pthread_mutex_lock@PLT
	mov	rax, QWORD PTR rslist[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1162
.L1163:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free_rs_char
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L1162:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1163
	mov	QWORD PTR rslist[rip], 0
	lea	rdi, rslist_mutex[rip]
	call	pthread_mutex_unlock@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE171:
	.size	free_rs_cache, .-free_rs_cache
	.globl	free_rs_char
	.type	free_rs_char, @function
free_rs_char:
.LFB172:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE172:
	.size	free_rs_char, .-free_rs_char
	.globl	init_rs
	.type	init_rs, @function
init_rs:
.LFB173:
	.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	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	mov	DWORD PTR -32[rbp], ecx
	mov	DWORD PTR -36[rbp], r8d
	mov	DWORD PTR -40[rbp], r9d
	lea	rdi, rslist_mutex[rip]
	call	pthread_mutex_lock@PLT
	mov	rax, QWORD PTR rslist[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1166
.L1169:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	cmp	DWORD PTR -40[rbp], eax
	jne	.L1167
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -36[rbp], eax
	jne	.L1167
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L1167
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L1167
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L1167
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -32[rbp], eax
	je	.L1171
.L1167:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
.L1166:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1169
	mov	r8d, DWORD PTR -40[rbp]
	mov	edi, DWORD PTR -36[rbp]
	mov	ecx, DWORD PTR -32[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	esi, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	r9d, r8d
	mov	r8d, edi
	mov	edi, eax
	call	init_rs_char
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1172
	mov	rdx, QWORD PTR rslist[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR rslist[rip], rax
	jmp	.L1168
.L1171:
	nop
	jmp	.L1168
.L1172:
	nop
.L1168:
	lea	rdi, rslist_mutex[rip]
	call	pthread_mutex_unlock@PLT
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE173:
	.size	init_rs, .-init_rs
	.type	init_rs_char, @function
init_rs_char:
.LFB174:
	.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	DWORD PTR -84[rbp], edi
	mov	DWORD PTR -88[rbp], esi
	mov	DWORD PTR -92[rbp], edx
	mov	DWORD PTR -96[rbp], ecx
	mov	DWORD PTR -100[rbp], r8d
	mov	DWORD PTR -104[rbp], r9d
	mov	QWORD PTR -40[rbp], 0
	cmp	DWORD PTR -84[rbp], 8
	jg	.L1193
	cmp	DWORD PTR -84[rbp], 0
	js	.L1193
	mov	eax, DWORD PTR -84[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	cmp	DWORD PTR -92[rbp], eax
	jge	.L1193
	cmp	DWORD PTR -92[rbp], 0
	js	.L1193
	mov	eax, DWORD PTR -84[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	cmp	DWORD PTR -96[rbp], eax
	jge	.L1193
	cmp	DWORD PTR -96[rbp], 0
	jle	.L1193
	mov	eax, DWORD PTR -84[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	cmp	DWORD PTR -100[rbp], eax
	jge	.L1193
	cmp	DWORD PTR -100[rbp], 0
	js	.L1193
	mov	eax, DWORD PTR -84[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	sub	eax, DWORD PTR -100[rbp]
	cmp	DWORD PTR -104[rbp], eax
	jge	.L1193
	cmp	DWORD PTR -104[rbp], 0
	js	.L1193
	mov	esi, 64
	mov	edi, 1
	call	calloc@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L1193
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -84[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -84[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -104[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1175
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR -40[rbp], 0
	jmp	.L1174
.L1175:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L1176
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR -40[rbp], 0
	jmp	.L1174
.L1176:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -60[rbp], 1
	mov	DWORD PTR -68[rbp], 0
	jmp	.L1177
.L1179:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	add	rax, rdx
	mov	edx, DWORD PTR -68[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, rdx
	mov	edx, DWORD PTR -60[rbp]
	mov	BYTE PTR [rax], dl
	sal	DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	je	.L1178
	mov	eax, DWORD PTR -88[rbp]
	xor	DWORD PTR -60[rbp], eax
.L1178:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	DWORD PTR -60[rbp], eax
	add	DWORD PTR -68[rbp], 1
.L1177:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -68[rbp], eax
	jl	.L1179
	cmp	DWORD PTR -60[rbp], 1
	je	.L1180
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR -40[rbp], 0
	jmp	.L1174
.L1180:
	mov	eax, DWORD PTR -100[rbp]
	add	eax, 1
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L1181
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR -40[rbp], 0
	jmp	.L1174
.L1181:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -92[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -96[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -100[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -88[rbp]
	mov	DWORD PTR 52[rax], edx
	mov	DWORD PTR -52[rbp], 1
	jmp	.L1182
.L1183:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	add	DWORD PTR -52[rbp], eax
.L1182:
	mov	eax, DWORD PTR -52[rbp]
	cdq
	idiv	DWORD PTR -96[rbp]
	mov	eax, edx
	test	eax, eax
	jne	.L1183
	mov	eax, DWORD PTR -52[rbp]
	cdq
	idiv	DWORD PTR -96[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	BYTE PTR [rax], 1
	mov	DWORD PTR -68[rbp], 0
	mov	eax, DWORD PTR -92[rbp]
	imul	eax, DWORD PTR -96[rbp]
	mov	DWORD PTR -56[rbp], eax
	jmp	.L1184
.L1189:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -68[rbp]
	add	eax, 1
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 1
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	jmp	.L1185
.L1188:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1186
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -56[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	modnn
	mov	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	sub	eax, 1
	cdqe
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	add	rax, rsi
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	jmp	.L1187
.L1186:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	sub	eax, 1
	cdqe
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR [rcx]
	mov	BYTE PTR [rdx], al
.L1187:
	sub	DWORD PTR -64[rbp], 1
.L1185:
	cmp	DWORD PTR -64[rbp], 0
	jg	.L1188
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -56[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	modnn
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -68[rbp], 1
	mov	eax, DWORD PTR -96[rbp]
	add	DWORD PTR -56[rbp], eax
.L1184:
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jl	.L1189
	mov	DWORD PTR -68[rbp], 0
	jmp	.L1190
.L1191:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rdx, rax
	movzx	eax, BYTE PTR [rcx]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -68[rbp], 1
.L1190:
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jge	.L1191
.L1193:
	nop
.L1174:
	mov	rax, QWORD PTR -40[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE174:
	.size	init_rs_char, .-init_rs_char
	.globl	main
	.type	main, @function
main:
.LFB175:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	prof_ver1to10
	call	prof_ver31to40
	call	QRcode_clearCache
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE175:
	.size	main, .-main
	.type	modnn, @function
modnn:
.LFB176:
	.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
	jmp	.L1197
.L1198:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	sub	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, DWORD PTR -12[rbp]
	add	eax, edx
	mov	DWORD PTR -12[rbp], eax
.L1197:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -12[rbp], eax
	jge	.L1198
	mov	eax, DWORD PTR -12[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE176:
	.size	modnn, .-modnn
	.section	.rodata
	.align 8
.LC3:
	.string	"Version 1 - 10 (500 symbols for each)"
	.text
	.globl	prof_ver1to10
	.type	prof_ver1to10, @function
prof_ver1to10:
.LFB177:
	.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
	lea	rdi, .LC3[rip]
	call	timerStart
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1201
.L1202:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, threads[rip]
	add	rax, rdx
	mov	ecx, 0
	lea	rdx, encode_ver1to10[rip]
	mov	esi, 0
	mov	rdi, rax
	call	pthread_create@PLT
	add	DWORD PTR -4[rbp], 1
.L1201:
	cmp	DWORD PTR -4[rbp], 9
	jle	.L1202
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1203
.L1204:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, threads[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	esi, 0
	mov	rdi, rax
	call	pthread_join@PLT
	add	DWORD PTR -4[rbp], 1
.L1203:
	cmp	DWORD PTR -4[rbp], 9
	jle	.L1204
	call	timerStop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE177:
	.size	prof_ver1to10, .-prof_ver1to10
	.section	.rodata
	.align 8
.LC4:
	.string	"Version 31 - 40 (50 symbols for each)"
	.text
	.globl	prof_ver31to40
	.type	prof_ver31to40, @function
prof_ver31to40:
.LFB178:
	.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
	lea	rdi, .LC4[rip]
	call	timerStart
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1206
.L1207:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, threads[rip]
	add	rax, rdx
	mov	ecx, 0
	lea	rdx, encode_ver31to40[rip]
	mov	esi, 0
	mov	rdi, rax
	call	pthread_create@PLT
	add	DWORD PTR -4[rbp], 1
.L1206:
	cmp	DWORD PTR -4[rbp], 9
	jle	.L1207
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1208
.L1209:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, threads[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	esi, 0
	mov	rdi, rax
	call	pthread_join@PLT
	add	DWORD PTR -4[rbp], 1
.L1208:
	cmp	DWORD PTR -4[rbp], 9
	jle	.L1209
	call	timerStop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE178:
	.size	prof_ver31to40, .-prof_ver31to40
	.type	putFinderPattern, @function
putFinderPattern:
.LFB179:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	eax, DWORD PTR -36[rbp]
	imul	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	cdqe
	add	QWORD PTR -24[rbp], rax
	lea	rax, finder.1[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L1211
.L1214:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1212
.L1213:
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -16[rbp], 1
.L1212:
	cmp	DWORD PTR -16[rbp], 6
	jle	.L1213
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	add	QWORD PTR -8[rbp], 7
	add	DWORD PTR -12[rbp], 1
.L1211:
	cmp	DWORD PTR -12[rbp], 6
	jle	.L1214
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE179:
	.size	putFinderPattern, .-putFinderPattern
	.type	putFinderPattern$link1, @function
putFinderPattern$link1:
.LFB180:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	eax, DWORD PTR -36[rbp]
	imul	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	cdqe
	add	QWORD PTR -24[rbp], rax
	lea	rax, finder$link1.0[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L1216
.L1219:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L1217
.L1218:
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -16[rbp], 1
.L1217:
	cmp	DWORD PTR -16[rbp], 6
	jle	.L1218
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	add	QWORD PTR -8[rbp], 7
	add	DWORD PTR -12[rbp], 1
.L1216:
	cmp	DWORD PTR -12[rbp], 6
	jle	.L1219
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE180:
	.size	putFinderPattern$link1, .-putFinderPattern$link1
	.section	.rodata
.LC5:
	.string	"%s: START\n"
	.text
	.globl	timerStart
	.type	timerStart, @function
timerStart:
.LFB181:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, tv[rip]
	call	gettimeofday@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE181:
	.size	timerStart, .-timerStart
	.section	.rodata
.LC6:
	.string	"STOP: %ld msec\n"
	.text
	.globl	timerStop
	.type	timerStop, @function
timerStop:
.LFB182:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR tv[rip]
	sub	rax, rdx
	imul	rsi, rax, 1000
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR tv[rip+8]
	sub	rax, rdx
	mov	rcx, rax
	movabs	rdx, 2361183241434822607
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 7
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	add	rax, rsi
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1222
	call	__stack_chk_fail@PLT
.L1222:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE182:
	.size	timerStop, .-timerStop
	.section	.rodata
	.align 16
	.type	finder.4, @object
	.size	finder.4, 25
finder.4:
	.ascii	"\241\241\241\241\241\241\240\240\240\241\241\240\241\240\241"
	.ascii	"\241\240\240\240\241\241\241\241\241\241"
.LC7:
	.string	"This is test."
	.section	.data.rel.local
	.align 8
	.type	data.3, @object
	.size	data.3, 8
data.3:
	.quad	.LC7
	.align 8
	.type	data.2, @object
	.size	data.2, 8
data.2:
	.quad	.LC7
	.section	.rodata
	.align 32
	.type	finder.1, @object
	.size	finder.1, 49
finder.1:
	.ascii	"\301\301\301\301\301\301\301\301\300\300\300\300\300\301\301"
	.ascii	"\300\301\301\301\300\301\301\300\301\301\301\300\301\301\300"
	.ascii	"\301\301\301\300\301\301\300\300\300\300\300\301\301\301\301"
	.ascii	"\301\301\301\301"
	.align 32
	.type	finder$link1.0, @object
	.size	finder$link1.0, 49
finder$link1.0:
	.ascii	"\301\301\301\301\301\301\301\301\300\300\300\300\300\301\301"
	.ascii	"\300\301\301\301\300\301\301\300\301\301\301\300\301\301\300"
	.ascii	"\301\301\301\300\301\301\300\300\300\300\300\301\301\301\301"
	.ascii	"\301\301\301\301"
	.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	"900313.c"
	.text
	.global	QRinput_anTable
	.section	.rodata
	.align	2
	.type	QRinput_anTable, %object
	.size	QRinput_anTable, 128
QRinput_anTable:
	.ascii	"\377\377\377\377\377\377\377\377\377\377\377\377\377"
	.ascii	"\377\377\377\377\377\377\377\377\377\377\377\377\377"
	.ascii	"\377\377\377\377\377\377$\377\377\377%&\377\377\377"
	.ascii	"\377'(\377)*+\000\001\002\003\004\005\006\007\010\011"
	.ascii	",\377\377\377\377\377\377\012\013\014\015\016\017\020"
	.ascii	"\021\022\023\024\025\026\027\030\031\032\033\034\035"
	.ascii	"\036\037 !\"#\377\377\377\377\377\377\377\377\377\377"
	.ascii	"\377\377\377\377\377\377\377\377\377\377\377\377\377"
	.ascii	"\377\377\377\377\377\377\377\377\377\377\377\377\377"
	.ascii	"\377"
	.align	2
	.type	alignmentPattern, %object
	.size	alignmentPattern, 328
alignmentPattern:
	.word	0
	.word	0
	.word	0
	.word	0
	.word	18
	.word	0
	.word	22
	.word	0
	.word	26
	.word	0
	.word	30
	.word	0
	.word	34
	.word	0
	.word	22
	.word	38
	.word	24
	.word	42
	.word	26
	.word	46
	.word	28
	.word	50
	.word	30
	.word	54
	.word	32
	.word	58
	.word	34
	.word	62
	.word	26
	.word	46
	.word	26
	.word	48
	.word	26
	.word	50
	.word	30
	.word	54
	.word	30
	.word	56
	.word	30
	.word	58
	.word	34
	.word	62
	.word	28
	.word	50
	.word	26
	.word	50
	.word	30
	.word	54
	.word	28
	.word	54
	.word	32
	.word	58
	.word	30
	.word	58
	.word	34
	.word	62
	.word	26
	.word	50
	.word	30
	.word	54
	.word	26
	.word	52
	.word	30
	.word	56
	.word	34
	.word	60
	.word	30
	.word	58
	.word	34
	.word	62
	.word	30
	.word	54
	.word	24
	.word	50
	.word	28
	.word	54
	.word	32
	.word	58
	.word	26
	.word	54
	.word	30
	.word	58
	.align	2
	.type	eccTable, %object
	.size	eccTable, 1312
eccTable:
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	1
	.word	0
	.word	1
	.word	0
	.word	1
	.word	0
	.word	1
	.word	0
	.word	1
	.word	0
	.word	1
	.word	0
	.word	1
	.word	0
	.word	1
	.word	0
	.word	1
	.word	0
	.word	1
	.word	0
	.word	2
	.word	0
	.word	2
	.word	0
	.word	1
	.word	0
	.word	2
	.word	0
	.word	2
	.word	0
	.word	4
	.word	0
	.word	1
	.word	0
	.word	2
	.word	0
	.word	2
	.word	2
	.word	2
	.word	2
	.word	2
	.word	0
	.word	4
	.word	0
	.word	4
	.word	0
	.word	4
	.word	0
	.word	2
	.word	0
	.word	4
	.word	0
	.word	2
	.word	4
	.word	4
	.word	1
	.word	2
	.word	0
	.word	2
	.word	2
	.word	4
	.word	2
	.word	4
	.word	2
	.word	2
	.word	0
	.word	3
	.word	2
	.word	4
	.word	4
	.word	4
	.word	4
	.word	2
	.word	2
	.word	4
	.word	1
	.word	6
	.word	2
	.word	6
	.word	2
	.word	4
	.word	0
	.word	1
	.word	4
	.word	4
	.word	4
	.word	3
	.word	8
	.word	2
	.word	2
	.word	6
	.word	2
	.word	4
	.word	6
	.word	7
	.word	4
	.word	4
	.word	0
	.word	8
	.word	1
	.word	8
	.word	4
	.word	12
	.word	4
	.word	3
	.word	1
	.word	4
	.word	5
	.word	11
	.word	5
	.word	11
	.word	5
	.word	5
	.word	1
	.word	5
	.word	5
	.word	5
	.word	7
	.word	11
	.word	7
	.word	5
	.word	1
	.word	7
	.word	3
	.word	15
	.word	2
	.word	3
	.word	13
	.word	1
	.word	5
	.word	10
	.word	1
	.word	1
	.word	15
	.word	2
	.word	17
	.word	5
	.word	1
	.word	9
	.word	4
	.word	17
	.word	1
	.word	2
	.word	19
	.word	3
	.word	4
	.word	3
	.word	11
	.word	17
	.word	4
	.word	9
	.word	16
	.word	3
	.word	5
	.word	3
	.word	13
	.word	15
	.word	5
	.word	15
	.word	10
	.word	4
	.word	4
	.word	17
	.word	0
	.word	17
	.word	6
	.word	19
	.word	6
	.word	2
	.word	7
	.word	17
	.word	0
	.word	7
	.word	16
	.word	34
	.word	0
	.word	4
	.word	5
	.word	4
	.word	14
	.word	11
	.word	14
	.word	16
	.word	14
	.word	6
	.word	4
	.word	6
	.word	14
	.word	11
	.word	16
	.word	30
	.word	2
	.word	8
	.word	4
	.word	8
	.word	13
	.word	7
	.word	22
	.word	22
	.word	13
	.word	10
	.word	2
	.word	19
	.word	4
	.word	28
	.word	6
	.word	33
	.word	4
	.word	8
	.word	4
	.word	22
	.word	3
	.word	8
	.word	26
	.word	12
	.word	28
	.word	3
	.word	10
	.word	3
	.word	23
	.word	4
	.word	31
	.word	11
	.word	31
	.word	7
	.word	7
	.word	21
	.word	7
	.word	1
	.word	37
	.word	19
	.word	26
	.word	5
	.word	10
	.word	19
	.word	10
	.word	15
	.word	25
	.word	23
	.word	25
	.word	13
	.word	3
	.word	2
	.word	29
	.word	42
	.word	1
	.word	23
	.word	28
	.word	17
	.word	0
	.word	10
	.word	23
	.word	10
	.word	35
	.word	19
	.word	35
	.word	17
	.word	1
	.word	14
	.word	21
	.word	29
	.word	19
	.word	11
	.word	46
	.word	13
	.word	6
	.word	14
	.word	23
	.word	44
	.word	7
	.word	59
	.word	1
	.word	12
	.word	7
	.word	12
	.word	26
	.word	39
	.word	14
	.word	22
	.word	41
	.word	6
	.word	14
	.word	6
	.word	34
	.word	46
	.word	10
	.word	2
	.word	64
	.word	17
	.word	4
	.word	29
	.word	14
	.word	49
	.word	10
	.word	24
	.word	46
	.word	4
	.word	18
	.word	13
	.word	32
	.word	48
	.word	14
	.word	42
	.word	32
	.word	20
	.word	4
	.word	40
	.word	7
	.word	43
	.word	22
	.word	10
	.word	67
	.word	19
	.word	6
	.word	18
	.word	31
	.word	34
	.word	34
	.word	20
	.word	61
	.align	2
	.type	formatInfo, %object
	.size	formatInfo, 128
formatInfo:
	.word	30660
	.word	29427
	.word	32170
	.word	30877
	.word	26159
	.word	25368
	.word	27713
	.word	26998
	.word	21522
	.word	20773
	.word	24188
	.word	23371
	.word	17913
	.word	16590
	.word	20375
	.word	19104
	.word	13663
	.word	12392
	.word	16177
	.word	14854
	.word	9396
	.word	8579
	.word	11994
	.word	11245
	.word	5769
	.word	5054
	.word	7399
	.word	6608
	.word	1890
	.word	597
	.word	3340
	.word	2107
	.align	2
	.type	formatInfo$link1, %object
	.size	formatInfo$link1, 128
formatInfo$link1:
	.word	17477
	.word	21934
	.word	26515
	.word	30328
	.word	1758
	.word	5941
	.word	9480
	.word	13539
	.word	16754
	.word	20633
	.word	25252
	.word	29519
	.word	1001
	.word	4610
	.word	8255
	.word	12756
	.word	20011
	.word	24512
	.word	28157
	.word	31766
	.word	3248
	.word	7515
	.word	12134
	.word	16013
	.word	19228
	.word	23287
	.word	26826
	.word	31009
	.word	2439
	.word	6252
	.word	10833
	.word	15290
	.local	frames
	.comm	frames,164,4
	.local	frames$link1
	.comm	frames$link1,20,4
	.local	frames_mutex
	.comm	frames_mutex,40,4
	.local	frames_mutex$link1
	.comm	frames_mutex$link1,40,4
	.align	2
	.type	lengthTableBits, %object
	.size	lengthTableBits, 48
lengthTableBits:
	.word	10
	.word	12
	.word	14
	.word	9
	.word	11
	.word	13
	.word	8
	.word	16
	.word	16
	.word	8
	.word	10
	.word	12
	.align	2
	.type	lengthTableBits$link1, %object
	.size	lengthTableBits$link1, 64
lengthTableBits$link1:
	.word	3
	.word	4
	.word	5
	.word	6
	.word	0
	.word	3
	.word	4
	.word	5
	.word	0
	.word	0
	.word	4
	.word	5
	.word	0
	.word	0
	.word	3
	.word	4
	.data
	.align	2
	.type	maskMakers, %object
	.size	maskMakers, 32
maskMakers:
	.word	Mask_mask0
	.word	Mask_mask1
	.word	Mask_mask2
	.word	Mask_mask3
	.word	Mask_mask4
	.word	Mask_mask5
	.word	Mask_mask6
	.word	Mask_mask7
	.align	2
	.type	maskMakers$link1, %object
	.size	maskMakers$link1, 16
maskMakers$link1:
	.word	Mask_mask0$link1
	.word	Mask_mask1$link1
	.word	Mask_mask2$link1
	.word	Mask_mask3$link1
	.section	.rodata
	.align	2
	.type	mqrspecCapacity, %object
	.size	mqrspecCapacity, 100
mqrspecCapacity:
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	11
	.word	2
	.word	0
	.word	0
	.word	0
	.word	13
	.word	5
	.word	6
	.word	0
	.word	0
	.word	15
	.word	6
	.word	8
	.word	0
	.word	0
	.word	17
	.word	8
	.word	10
	.word	14
	.word	0
	.align	2
	.type	qrspecCapacity, %object
	.size	qrspecCapacity, 1148
qrspecCapacity:
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	21
	.word	26
	.word	0
	.word	7
	.word	10
	.word	13
	.word	17
	.word	25
	.word	44
	.word	7
	.word	10
	.word	16
	.word	22
	.word	28
	.word	29
	.word	70
	.word	7
	.word	15
	.word	26
	.word	36
	.word	44
	.word	33
	.word	100
	.word	7
	.word	20
	.word	36
	.word	52
	.word	64
	.word	37
	.word	134
	.word	7
	.word	26
	.word	48
	.word	72
	.word	88
	.word	41
	.word	172
	.word	7
	.word	36
	.word	64
	.word	96
	.word	112
	.word	45
	.word	196
	.word	0
	.word	40
	.word	72
	.word	108
	.word	130
	.word	49
	.word	242
	.word	0
	.word	48
	.word	88
	.word	132
	.word	156
	.word	53
	.word	292
	.word	0
	.word	60
	.word	110
	.word	160
	.word	192
	.word	57
	.word	346
	.word	0
	.word	72
	.word	130
	.word	192
	.word	224
	.word	61
	.word	404
	.word	0
	.word	80
	.word	150
	.word	224
	.word	264
	.word	65
	.word	466
	.word	0
	.word	96
	.word	176
	.word	260
	.word	308
	.word	69
	.word	532
	.word	0
	.word	104
	.word	198
	.word	288
	.word	352
	.word	73
	.word	581
	.word	3
	.word	120
	.word	216
	.word	320
	.word	384
	.word	77
	.word	655
	.word	3
	.word	132
	.word	240
	.word	360
	.word	432
	.word	81
	.word	733
	.word	3
	.word	144
	.word	280
	.word	408
	.word	480
	.word	85
	.word	815
	.word	3
	.word	168
	.word	308
	.word	448
	.word	532
	.word	89
	.word	901
	.word	3
	.word	180
	.word	338
	.word	504
	.word	588
	.word	93
	.word	991
	.word	3
	.word	196
	.word	364
	.word	546
	.word	650
	.word	97
	.word	1085
	.word	3
	.word	224
	.word	416
	.word	600
	.word	700
	.word	101
	.word	1156
	.word	4
	.word	224
	.word	442
	.word	644
	.word	750
	.word	105
	.word	1258
	.word	4
	.word	252
	.word	476
	.word	690
	.word	816
	.word	109
	.word	1364
	.word	4
	.word	270
	.word	504
	.word	750
	.word	900
	.word	113
	.word	1474
	.word	4
	.word	300
	.word	560
	.word	810
	.word	960
	.word	117
	.word	1588
	.word	4
	.word	312
	.word	588
	.word	870
	.word	1050
	.word	121
	.word	1706
	.word	4
	.word	336
	.word	644
	.word	952
	.word	1110
	.word	125
	.word	1828
	.word	4
	.word	360
	.word	700
	.word	1020
	.word	1200
	.word	129
	.word	1921
	.word	3
	.word	390
	.word	728
	.word	1050
	.word	1260
	.word	133
	.word	2051
	.word	3
	.word	420
	.word	784
	.word	1140
	.word	1350
	.word	137
	.word	2185
	.word	3
	.word	450
	.word	812
	.word	1200
	.word	1440
	.word	141
	.word	2323
	.word	3
	.word	480
	.word	868
	.word	1290
	.word	1530
	.word	145
	.word	2465
	.word	3
	.word	510
	.word	924
	.word	1350
	.word	1620
	.word	149
	.word	2611
	.word	3
	.word	540
	.word	980
	.word	1440
	.word	1710
	.word	153
	.word	2761
	.word	3
	.word	570
	.word	1036
	.word	1530
	.word	1800
	.word	157
	.word	2876
	.word	0
	.word	570
	.word	1064
	.word	1590
	.word	1890
	.word	161
	.word	3034
	.word	0
	.word	600
	.word	1120
	.word	1680
	.word	1980
	.word	165
	.word	3196
	.word	0
	.word	630
	.word	1204
	.word	1770
	.word	2100
	.word	169
	.word	3362
	.word	0
	.word	660
	.word	1260
	.word	1860
	.word	2220
	.word	173
	.word	3532
	.word	0
	.word	720
	.word	1316
	.word	1950
	.word	2310
	.word	177
	.word	3706
	.word	0
	.word	750
	.word	1372
	.word	2040
	.word	2430
	.local	rslist
	.comm	rslist,4,4
	.local	rslist_mutex
	.comm	rslist_mutex,40,4
	.local	threads
	.comm	threads,40,4
	.comm	tv,8,4
	.align	2
	.type	typeTable, %object
	.size	typeTable, 60
typeTable:
	.word	-1
	.word	-1
	.word	-1
	.word	0
	.word	-1
	.word	-1
	.word	1
	.word	2
	.word	-1
	.word	3
	.word	4
	.word	-1
	.word	5
	.word	6
	.word	7
	.align	2
	.type	versionPattern, %object
	.size	versionPattern, 136
versionPattern:
	.word	31892
	.word	34236
	.word	39577
	.word	42195
	.word	48118
	.word	51042
	.word	55367
	.word	58893
	.word	63784
	.word	68472
	.word	70749
	.word	76311
	.word	79154
	.word	84390
	.word	87683
	.word	92361
	.word	96236
	.word	102084
	.word	102881
	.word	110507
	.word	110734
	.word	117786
	.word	119615
	.word	126325
	.word	127568
	.word	133589
	.word	136944
	.word	141498
	.word	145311
	.word	150283
	.word	152622
	.word	158308
	.word	161089
	.word	167017
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	BitStream_allocate, %function
BitStream_allocate:
	@ 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	.L2
	mvn	r3, #0
	b	.L3
.L2:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L4
	mvn	r3, #0
	b	.L3
.L4:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L5
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free
.L5:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	mov	r3, #0
.L3:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BitStream_allocate, .-BitStream_allocate
	.align	2
	.global	BitStream_append
	.syntax unified
	.arm
	.fpu softvfp
	.type	BitStream_append, %function
BitStream_append:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L7
	mvn	r3, #0
	b	.L8
.L7:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L9
	mov	r3, #0
	b	.L8
.L9:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L10
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	BitStream_allocate
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L11
	mvn	r3, #0
	b	.L8
.L11:
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r2, r3
	bl	memcpy
	mov	r3, #0
	b	.L8
.L10:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r3, r2, r3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L12
	mvn	r3, #0
	b	.L8
.L12:
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-12]
	bl	memcpy
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r0, r3, r2
	ldr	r3, [fp, #-28]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	mov	r3, #0
.L8:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BitStream_append, .-BitStream_append
	.align	2
	.global	BitStream_appendBytes
	.syntax unified
	.arm
	.fpu softvfp
	.type	BitStream_appendBytes, %function
BitStream_appendBytes:
	@ 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, [fp, #-20]
	cmp	r3, #0
	bne	.L14
	mov	r3, #0
	b	.L15
.L14:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	BitStream_newFromBytes
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L16
	mvn	r3, #0
	b	.L15
.L16:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	BitStream_append
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	BitStream_free
	ldr	r3, [fp, #-8]
.L15:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BitStream_appendBytes, .-BitStream_appendBytes
	.align	2
	.global	BitStream_appendNum
	.syntax unified
	.arm
	.fpu softvfp
	.type	BitStream_appendNum, %function
BitStream_appendNum:
	@ 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, [fp, #-20]
	cmp	r3, #0
	bne	.L18
	mov	r3, #0
	b	.L19
.L18:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	BitStream_newFromNum
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L20
	mvn	r3, #0
	b	.L19
.L20:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	BitStream_append
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	BitStream_free
	ldr	r3, [fp, #-8]
.L19:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BitStream_appendNum, .-BitStream_appendNum
	.align	2
	.global	BitStream_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	BitStream_free, %function
BitStream_free:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L23
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
.L23:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BitStream_free, .-BitStream_free
	.align	2
	.global	BitStream_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	BitStream_new, %function
BitStream_new:
	@ 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	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L25
	mov	r3, #0
	b	.L26
.L25:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
.L26:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BitStream_new, .-BitStream_new
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	BitStream_newFromBytes, %function
BitStream_newFromBytes:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	bl	BitStream_new
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L28
	mov	r3, #0
	b	.L29
.L28:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #3
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	BitStream_allocate
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L30
	ldr	r0, [fp, #-12]
	bl	BitStream_free
	mov	r3, #0
	b	.L29
.L30:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L31
.L36:
	mvn	r3, #127
	strb	r3, [fp, #-25]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L32
.L35:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-25]
	and	r3, r3, r2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L33
	ldr	r3, [fp, #-16]
	mov	r2, #1
	strb	r2, [r3]
	b	.L34
.L33:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
.L34:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	lsr	r3, r3, #1
	strb	r3, [fp, #-25]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L32:
	ldr	r3, [fp, #-20]
	cmp	r3, #7
	ble	.L35
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L31:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L36
	ldr	r3, [fp, #-12]
.L29:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BitStream_newFromBytes, .-BitStream_newFromBytes
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	BitStream_newFromNum, %function
BitStream_newFromNum:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	bl	BitStream_new
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L38
	mov	r3, #0
	b	.L39
.L38:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-12]
	bl	BitStream_allocate
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L40
	ldr	r0, [fp, #-12]
	bl	BitStream_free
	mov	r3, #0
	b	.L39
.L40:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	mov	r2, #1
	lsl	r3, r2, r3
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L41
.L44:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L42
	ldr	r3, [fp, #-16]
	mov	r2, #1
	strb	r2, [r3]
	b	.L43
.L42:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
.L43:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L41:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L44
	ldr	r3, [fp, #-12]
.L39:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BitStream_newFromNum, .-BitStream_newFromNum
	.align	2
	.global	BitStream_toByte
	.syntax unified
	.arm
	.fpu softvfp
	.type	BitStream_toByte, %function
BitStream_toByte:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L46
	mov	r3, #0
	b	.L47
.L46:
	ldr	r3, [fp, #-20]
	add	r3, r3, #7
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L48
	mov	r3, #0
	b	.L47
.L48:
	ldr	r3, [fp, #-20]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L49
.L52:
	mov	r3, #0
	strb	r3, [fp, #-33]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L50
.L51:
	ldrb	r3, [fp, #-33]
	lsl	r3, r3, #1
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-24]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-33]
	orr	r3, r2, r3
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L50:
	ldr	r3, [fp, #-28]
	cmp	r3, #7
	ble	.L51
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r2, [fp, #-33]
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L49:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L52
	ldr	r3, [fp, #-20]
	and	r3, r3, #7
	cmp	r3, #0
	beq	.L53
	mov	r3, #0
	strb	r3, [fp, #-33]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L54
.L55:
	ldrb	r3, [fp, #-33]
	lsl	r3, r3, #1
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-24]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-33]
	orr	r3, r2, r3
	strb	r3, [fp, #-33]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L54:
	ldr	r3, [fp, #-20]
	and	r3, r3, #7
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L55
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r2, [fp, #-33]
	strb	r2, [r3]
.L53:
	ldr	r3, [fp, #-12]
.L47:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	BitStream_toByte, .-BitStream_toByte
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FrameFiller_new, %function
FrameFiller_new:
	@ 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]
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L57
	mov	r3, #0
	b	.L58
.L57:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mvn	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mvn	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
.L58:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FrameFiller_new, .-FrameFiller_new
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FrameFiller_next, %function
FrameFiller_next:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	cmn	r3, #1
	bne	.L60
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-32]
	ldr	r1, [r1]
	mul	r3, r1, r3
	mov	r1, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r3, r1, r3
	add	r3, r2, r3
	b	.L61
.L60:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L62
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #20]
	b	.L63
.L62:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #20]
.L63:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bge	.L64
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L65
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	mov	r2, #1
	str	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L65
	ldr	r3, [fp, #-24]
	cmp	r3, #6
	bne	.L65
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	mov	r3, #9
	str	r3, [fp, #-20]
	b	.L65
.L64:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bne	.L65
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	mvn	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	bne	.L65
	ldr	r3, [fp, #-24]
	cmp	r3, #6
	bne	.L65
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #8
	str	r3, [fp, #-20]
.L65:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L66
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L67
.L66:
	mov	r3, #0
	b	.L61
.L67:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	mul	r2, r3, r2
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L68
	ldr	r0, [fp, #-32]
	bl	FrameFiller_next
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L61
.L68:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	mul	r2, r3, r2
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
.L61:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FrameFiller_next, .-FrameFiller_next
	.align	2
	.global	FrameFiller_test
	.syntax unified
	.arm
	.fpu softvfp
	.type	FrameFiller_test, %function
FrameFiller_test:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r0, [fp, #-48]
	bl	QRspec_getWidth
	str	r0, [fp, #-36]
	ldr	r0, [fp, #-48]
	bl	QRspec_newFrame
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L70
	mov	r3, #0
	b	.L71
.L70:
	mov	r2, #0
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	FrameFiller_new
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L72
	ldr	r0, [fp, #-32]
	bl	free
	mov	r3, #0
	b	.L71
.L72:
	mov	r1, #0
	ldr	r0, [fp, #-48]
	bl	QRspec_getDataLength
	str	r0, [fp, #-24]
	mov	r1, #0
	ldr	r0, [fp, #-48]
	bl	QRspec_getECCLength
	str	r0, [fp, #-20]
	ldr	r0, [fp, #-48]
	bl	QRspec_getRemainder
	str	r0, [fp, #-16]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	lsl	r3, r3, #3
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L73
.L75:
	ldr	r0, [fp, #-28]
	bl	FrameFiller_next
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L74
	ldr	r0, [fp, #-28]
	bl	free
	ldr	r0, [fp, #-32]
	bl	free
	mov	r3, #0
	b	.L71
.L74:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L73:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L75
	ldr	r0, [fp, #-28]
	bl	free
	ldr	r3, [fp, #-32]
.L71:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FrameFiller_test, .-FrameFiller_test
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Frame filler run over the frame!\012\000"
	.text
	.align	2
	.global	FrameFiller_testMQR
	.syntax unified
	.arm
	.fpu softvfp
	.type	FrameFiller_testMQR, %function
FrameFiller_testMQR:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r0, [fp, #-40]
	bl	MQRspec_getWidth
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-40]
	bl	MQRspec_newFrame
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L77
	mov	r3, #0
	b	.L78
.L77:
	mov	r2, #1
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	FrameFiller_new
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L79
	ldr	r0, [fp, #-28]
	bl	free
	mov	r3, #0
	b	.L78
.L79:
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	MQRspec_getDataLengthBit
	str	r0, [fp, #-20]
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	MQRspec_getECCLength
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L80
.L82:
	ldr	r0, [fp, #-24]
	bl	FrameFiller_next
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L81
	ldr	r3, .L83
	ldr	r3, [r3]
	mov	r2, #33
	mov	r1, #1
	ldr	r0, .L83+4
	bl	fwrite
	ldr	r0, [fp, #-24]
	bl	free
	ldr	r3, [fp, #-28]
	b	.L78
.L81:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L80:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L82
	ldr	r0, [fp, #-24]
	bl	free
	ldr	r3, [fp, #-28]
.L78:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L84:
	.align	2
.L83:
	.word	stderr
	.word	.LC0
	.size	FrameFiller_testMQR, .-FrameFiller_testMQR
	.align	2
	.global	MMask_evaluateSymbol
	.syntax unified
	.arm
	.fpu softvfp
	.type	MMask_evaluateSymbol, %function
MMask_evaluateSymbol:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	ldr	r2, [fp, #-32]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L86
.L87:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L86:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L87
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #1
	sub	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-20]
	b	.L88
.L89:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L88:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L89
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bgt	.L90
	ldr	r3, [fp, #-12]
	lsl	r2, r3, #4
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	b	.L92
.L90:
	ldr	r3, [fp, #-8]
	lsl	r2, r3, #4
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
.L92:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	MMask_evaluateSymbol, .-MMask_evaluateSymbol
	.align	2
	.global	MMask_makeMask
	.syntax unified
	.arm
	.fpu softvfp
	.type	MMask_makeMask, %function
MMask_makeMask:
	@ args = 0, pretend = 0, frame = 32
	@ 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]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r3, #3
	bgt	.L94
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L95
.L94:
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L96
.L95:
	ldr	r0, [fp, #-24]
	bl	MQRspec_getWidth
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L97
	mov	r3, #0
	b	.L96
.L97:
	ldr	r2, .L98
	ldr	r3, [fp, #-32]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-20]
	blx	r3
	ldr	r3, [fp, #-36]
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	MMask_writeFormatInformation
	ldr	r3, [fp, #-12]
.L96:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L99:
	.align	2
.L98:
	.word	maskMakers$link1
	.size	MMask_makeMask, .-MMask_makeMask
	.align	2
	.global	MMask_makeMaskedFrame
	.syntax unified
	.arm
	.fpu softvfp
	.type	MMask_makeMaskedFrame, %function
MMask_makeMaskedFrame:
	@ 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, [fp, #-16]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L101
	mov	r3, #0
	b	.L102
.L101:
	ldr	r2, .L103
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	blx	r3
	ldr	r3, [fp, #-8]
.L102:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L104:
	.align	2
.L103:
	.word	maskMakers$link1
	.size	MMask_makeMaskedFrame, .-MMask_makeMaskedFrame
	.align	2
	.global	MMask_mask
	.syntax unified
	.arm
	.fpu softvfp
	.type	MMask_mask, %function
MMask_mask:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r0, [fp, #-40]
	bl	MQRspec_getWidth
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L106
	mov	r3, #0
	b	.L107
.L106:
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bgt	.L108
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r2, .L110
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-24]
	blx	r3
	ldr	r3, [fp, #-48]
	str	r3, [sp]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-40]
	bl	MMask_writeFormatInformation
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-24]
	bl	MMask_evaluateSymbol
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bge	.L109
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	free
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-36]
.L109:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L108:
	ldr	r0, [fp, #-36]
	bl	free
	ldr	r3, [fp, #-32]
.L107:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L111:
	.align	2
.L110:
	.word	maskMakers$link1
	.size	MMask_mask, .-MMask_mask
	.align	2
	.global	MMask_writeFormatInformation
	.syntax unified
	.arm
	.fpu softvfp
	.type	MMask_writeFormatInformation, %function
MMask_writeFormatInformation:
	@ 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]
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-36]
	bl	MQRspec_getFormatInfo
	str	r0, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L113
.L114:
	ldr	r3, [fp, #-12]
	and	r3, r3, #255
	and	r3, r3, #1
	and	r3, r3, #255
	mvn	r3, r3
	and	r3, r3, #123
	mvn	r3, r3
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldr	r2, [fp, #-28]
	mul	r3, r2, r3
	add	r3, r3, #8
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	ldrb	r2, [fp, #-13]
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L113:
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	ble	.L114
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L115
.L116:
	ldr	r3, [fp, #-12]
	and	r3, r3, #255
	and	r3, r3, #1
	and	r3, r3, #255
	mvn	r3, r3
	and	r3, r3, #123
	mvn	r3, r3
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #3
	add	r2, r3, #7
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	ldrb	r2, [fp, #-13]
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L115:
	ldr	r3, [fp, #-8]
	cmp	r3, #6
	ble	.L116
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	MMask_writeFormatInformation, .-MMask_writeFormatInformation
	.align	2
	.global	MQRraw_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRraw_free, %function
MQRraw_free:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L119
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
.L119:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	MQRraw_free, .-MQRraw_free
	.align	2
	.global	MQRraw_getCode
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRraw_getCode, %function
MQRraw_getCode:
	@ 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	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L121
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #28]
	add	r3, r3, r2
	ldrb	r3, [r3]
	strb	r3, [fp, #-5]
	b	.L122
.L121:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r3, r1, r3
	cmp	r2, r3
	bge	.L123
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	ldr	r1, [r2, #28]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #4]
	sub	r2, r1, r2
	add	r3, r3, r2
	ldrb	r3, [r3]
	strb	r3, [fp, #-5]
	b	.L122
.L123:
	mov	r3, #0
	b	.L124
.L122:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #28]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
.L124:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	MQRraw_getCode, .-MQRraw_getCode
	.align	2
	.global	MQRraw_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRraw_new, %function
MQRraw_new:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	mov	r0, #32
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L126
	mov	r3, #0
	b	.L127
.L126:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	MQRspec_getDataLength
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	MQRspec_getECCLength
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	MQRspec_getDataLengthBit
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-20]
	sub	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #24]
	ldr	r0, [fp, #-32]
	bl	QRinput_getByteStream
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L128
	ldr	r0, [fp, #-24]
	bl	free
	mov	r3, #0
	b	.L127
.L128:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L129
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-24]
	bl	free
	mov	r3, #0
	b	.L127
.L129:
	mov	r1, #16
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L130
	ldr	r0, [fp, #-24]
	bl	MQRraw_free
	mov	r3, #0
	b	.L127
.L130:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #4]
	rsb	r1, r2, #255
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #8]
	sub	r2, r1, r2
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, #1
	mov	r2, #0
	ldr	r1, .L132
	mov	r0, #8
	bl	init_rs
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L131
	ldr	r0, [fp, #-24]
	bl	MQRraw_free
	mov	r3, #0
	b	.L127
.L131:
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #20]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	ip, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	lr, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-8]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	mov	r2, ip
	bl	RSblock_initBlock
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-24]
.L127:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L133:
	.align	2
.L132:
	.word	285
	.size	MQRraw_new, .-MQRraw_new
	.align	2
	.global	MQRspec_clearCache
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRspec_clearCache, %function
MQRspec_clearCache:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r0, .L137
	bl	pthread_mutex_lock
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L135
.L136:
	ldr	r2, .L137+4
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	free
	ldr	r2, .L137+4
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L135:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	ble	.L136
	ldr	r0, .L137
	bl	pthread_mutex_unlock
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L138:
	.align	2
.L137:
	.word	frames_mutex$link1
	.word	frames$link1
	.size	MQRspec_clearCache, .-MQRspec_clearCache
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRspec_createFrame, %function
MQRspec_createFrame:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r1, .L148
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L140
	mov	r3, #0
	b	.L141
.L140:
	ldr	r3, [fp, #-16]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	putFinderPattern$link1
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L142
.L143:
	ldr	r3, [fp, #-32]
	add	r3, r3, #7
	mvn	r2, #63
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L142:
	ldr	r3, [fp, #-20]
	cmp	r3, #6
	ble	.L143
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	mov	r2, #8
	mov	r1, #192
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	mov	r2, #8
	mov	r1, #132
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L144
.L145:
	ldr	r3, [fp, #-32]
	mvn	r2, #123
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L144:
	ldr	r3, [fp, #-20]
	cmp	r3, #6
	ble	.L145
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L146
.L147:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	and	r3, r3, #111
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	and	r3, r3, #111
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-28]
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L146:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #7
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L147
	ldr	r3, [fp, #-8]
.L141:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L149:
	.align	2
.L148:
	.word	mqrspecCapacity
	.size	MQRspec_createFrame, .-MQRspec_createFrame
	.align	2
	.global	MQRspec_getDataLength
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRspec_getDataLength, %function
MQRspec_getDataLength:
	@ 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	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	MQRspec_getDataLengthBit
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	MQRspec_getDataLength, .-MQRspec_getDataLength
	.align	2
	.global	MQRspec_getDataLengthBit
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRspec_getDataLengthBit, %function
MQRspec_getDataLengthBit:
	@ 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	r1, .L155
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, .L155
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L153
	mov	r3, #0
	b	.L154
.L153:
	ldr	r3, [fp, #-12]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	sub	r2, r3, #64
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	sub	r3, r2, r3
.L154:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L156:
	.align	2
.L155:
	.word	mqrspecCapacity
	.size	MQRspec_getDataLengthBit, .-MQRspec_getDataLengthBit
	.align	2
	.global	MQRspec_getECCLength
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRspec_getECCLength, %function
MQRspec_getECCLength:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, .L159
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L160:
	.align	2
.L159:
	.word	mqrspecCapacity
	.size	MQRspec_getECCLength, .-MQRspec_getECCLength
	.align	2
	.global	MQRspec_getFormatInfo
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRspec_getFormatInfo, %function
MQRspec_getFormatInfo:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bgt	.L162
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L163
.L162:
	mov	r3, #0
	b	.L164
.L163:
	ldr	r3, [fp, #-20]
	cmp	r3, #4
	bgt	.L165
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L166
.L165:
	mov	r3, #0
	b	.L164
.L166:
	ldr	r3, [fp, #-24]
	cmp	r3, #3
	bne	.L167
	mov	r3, #0
	b	.L164
.L167:
	ldr	r1, [fp, #-24]
	ldr	r0, .L169
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, r1
	ldr	r3, [r0, r3, lsl #2]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L168
	mov	r3, #0
	b	.L164
.L168:
	ldr	r1, .L169+4
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]
.L164:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L170:
	.align	2
.L169:
	.word	typeTable
	.word	formatInfo$link1
	.size	MQRspec_getFormatInfo, .-MQRspec_getFormatInfo
	.align	2
	.global	MQRspec_getWidth
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRspec_getWidth, %function
MQRspec_getWidth:
	@ 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	r1, .L173
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L174:
	.align	2
.L173:
	.word	mqrspecCapacity
	.size	MQRspec_getWidth, .-MQRspec_getWidth
	.align	2
	.global	MQRspec_lengthIndicator
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRspec_lengthIndicator, %function
MQRspec_lengthIndicator:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r1, .L177
	ldr	r2, [fp, #-8]
	lsl	r2, r2, #2
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L178:
	.align	2
.L177:
	.word	lengthTableBits$link1
	.size	MQRspec_lengthIndicator, .-MQRspec_lengthIndicator
	.align	2
	.global	MQRspec_maximumWords
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRspec_maximumWords, %function
MQRspec_maximumWords:
	@ 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, #-20]
	sub	r3, r3, #1
	ldr	r1, .L182
	ldr	r2, [fp, #-16]
	lsl	r2, r2, #2
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]
	str	r3, [fp, #-8]
	mov	r2, #1
	ldr	r3, [fp, #-8]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L180
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #1
	str	r3, [fp, #-12]
.L180:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L183:
	.align	2
.L182:
	.word	lengthTableBits$link1
	.size	MQRspec_maximumWords, .-MQRspec_maximumWords
	.align	2
	.global	MQRspec_newFrame
	.syntax unified
	.arm
	.fpu softvfp
	.type	MQRspec_newFrame, %function
MQRspec_newFrame:
	@ 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, #4
	bgt	.L185
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bgt	.L186
.L185:
	mov	r3, #0
	b	.L187
.L186:
	ldr	r0, .L191
	bl	pthread_mutex_lock
	ldr	r2, .L191+4
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L188
	ldr	r0, [fp, #-24]
	bl	MQRspec_createFrame
	mov	r2, r0
	ldr	r1, .L191+4
	ldr	r3, [fp, #-24]
	str	r2, [r1, r3, lsl #2]
.L188:
	ldr	r0, .L191
	bl	pthread_mutex_unlock
	ldr	r2, .L191+4
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L189
	mov	r3, #0
	b	.L187
.L189:
	ldr	r1, .L191+8
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L190
	mov	r3, #0
	b	.L187
.L190:
	ldr	r2, .L191+4
	ldr	r3, [fp, #-24]
	ldr	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r2, r3
	ldr	r0, [fp, #-8]
	bl	memcpy
	ldr	r3, [fp, #-8]
.L187:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L192:
	.align	2
.L191:
	.word	frames_mutex$link1
	.word	frames$link1
	.word	mqrspecCapacity
	.size	MQRspec_newFrame, .-MQRspec_newFrame
	.align	2
	.global	Mask_calcN1N3
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_calcN1N3, %function
Mask_calcN1N3:
	@ 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, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L194
.L202:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L195
	ldr	r3, [fp, #-12]
	add	r2, r3, #3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-28]
	add	r3, r1, r3
	ldr	r3, [r3]
	sub	r3, r3, #5
	add	r3, r2, r3
	str	r3, [fp, #-12]
.L195:
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L196
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	ble	.L196
	ldr	r3, [fp, #-24]
	sub	r3, r3, #2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L196
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, .L204
	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	.L196
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L204
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L196
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L196
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L196
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L196
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L197
	mov	r3, #1
	strb	r3, [fp, #-18]
	b	.L198
.L197:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	cmp	r2, r3
	movge	r3, #1
	movlt	r3, #0
	strb	r3, [fp, #-18]
.L198:
	ldrb	r3, [fp, #-18]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L199
	ldr	r3, [fp, #-12]
	add	r3, r3, #40
	str	r3, [fp, #-12]
	b	.L196
.L199:
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bgt	.L200
	mov	r3, #1
	strb	r3, [fp, #-17]
	b	.L201
.L200:
	ldr	r3, [fp, #-16]
	add	r3, r3, #3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	cmp	r2, r3
	movge	r3, #1
	movlt	r3, #0
	strb	r3, [fp, #-17]
.L201:
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L196
	ldr	r3, [fp, #-12]
	add	r3, r3, #40
	str	r3, [fp, #-12]
.L196:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L194:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L202
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L205:
	.align	2
.L204:
	.word	1431655766
	.size	Mask_calcN1N3, .-Mask_calcN1N3
	.align	2
	.global	Mask_calcN2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_calcN2, %function
Mask_calcN2:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L207
.L211:
	mov	r3, #1
	str	r3, [fp, #-20]
	b	.L208
.L210:
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	rsb	r3, r3, #0
	mov	r1, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	mvn	r3, r3
	mov	r1, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	strb	r3, [fp, #-22]
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	rsb	r3, r3, #0
	mov	r1, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	mvn	r3, r3
	mov	r1, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	strb	r3, [fp, #-21]
	ldrb	r3, [fp, #-21]
	eor	r3, r3, #1
	and	r2, r3, #255
	ldrb	r3, [fp, #-22]
	orr	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L209
	ldr	r3, [fp, #-8]
	add	r3, r3, #3
	str	r3, [fp, #-8]
.L209:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L208:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L210
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L207:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L211
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Mask_calcN2, .-Mask_calcN2
	.align	2
	.global	Mask_calcRunLength
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_calcRunLength, %function
Mask_calcRunLength:
	@ 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	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L214
	ldr	r3, [fp, #-24]
	b	.L215
.L214:
	mov	r3, #1
.L215:
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L216
	ldr	r3, [fp, #-36]
	mvn	r2, #0
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-20]
	b	.L217
.L216:
	mov	r3, #0
	str	r3, [fp, #-20]
.L217:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L218
.L221:
	ldr	r3, [fp, #-8]
	rsb	r3, r3, #0
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r3, r3, #255
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L219
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	b	.L220
.L219:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-36]
	add	r3, r1, r3
	add	r2, r2, #1
	str	r2, [r3]
.L220:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L218:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L221
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Mask_calcRunLength, .-Mask_calcRunLength
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Mask_evaluateSymbol
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_evaluateSymbol, %function
Mask_evaluateSymbol:
	@ args = 0, pretend = 0, frame = 752
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #752
	str	r0, [fp, #-752]
	str	r1, [fp, #-756]
	ldr	r3, .L230
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-740]
	ldr	r1, [fp, #-756]
	ldr	r0, [fp, #-752]
	bl	Mask_calcN2
	str	r0, [fp, #-736]
	ldr	r2, [fp, #-740]
	ldr	r3, [fp, #-736]
	add	r3, r2, r3
	str	r3, [fp, #-740]
	mov	r3, #0
	str	r3, [fp, #-744]
	b	.L224
.L225:
	ldr	r3, [fp, #-744]
	ldr	r2, [fp, #-752]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-756]
	add	r1, r3, r2
	sub	r3, fp, #720
	mov	r2, #0
	ldr	r0, [fp, #-752]
	bl	Mask_calcRunLength
	str	r0, [fp, #-732]
	sub	r3, fp, #720
	mov	r1, r3
	ldr	r0, [fp, #-732]
	bl	Mask_calcN1N3
	str	r0, [fp, #-724]
	ldr	r2, [fp, #-740]
	ldr	r3, [fp, #-724]
	add	r3, r2, r3
	str	r3, [fp, #-740]
	ldr	r3, [fp, #-744]
	add	r3, r3, #1
	str	r3, [fp, #-744]
.L224:
	ldr	r2, [fp, #-744]
	ldr	r3, [fp, #-752]
	cmp	r2, r3
	blt	.L225
	mov	r3, #0
	str	r3, [fp, #-748]
	b	.L226
.L227:
	ldr	r3, [fp, #-748]
	ldr	r2, [fp, #-756]
	add	r1, r2, r3
	sub	r3, fp, #720
	mov	r2, #1
	ldr	r0, [fp, #-752]
	bl	Mask_calcRunLength
	str	r0, [fp, #-732]
	sub	r3, fp, #720
	mov	r1, r3
	ldr	r0, [fp, #-732]
	bl	Mask_calcN1N3
	str	r0, [fp, #-728]
	ldr	r2, [fp, #-740]
	ldr	r3, [fp, #-728]
	add	r3, r2, r3
	str	r3, [fp, #-740]
	ldr	r3, [fp, #-748]
	add	r3, r3, #1
	str	r3, [fp, #-748]
.L226:
	ldr	r2, [fp, #-748]
	ldr	r3, [fp, #-752]
	cmp	r2, r3
	blt	.L227
	ldr	r3, [fp, #-740]
	ldr	r2, .L230
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L229
	bl	__stack_chk_fail
.L229:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L231:
	.align	2
.L230:
	.word	.LC1
	.size	Mask_evaluateSymbol, .-Mask_evaluateSymbol
	.align	2
	.global	Mask_makeMask
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_makeMask, %function
Mask_makeMask:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r3, #7
	bgt	.L233
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L234
.L233:
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L235
.L234:
	ldr	r3, [fp, #-24]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L236
	mov	r3, #0
	b	.L235
.L236:
	ldr	r2, .L237
	ldr	r3, [fp, #-32]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	blx	r3
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Mask_writeFormatInformation
	ldr	r3, [fp, #-12]
.L235:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L238:
	.align	2
.L237:
	.word	maskMakers
	.size	Mask_makeMask, .-Mask_makeMask
	.align	2
	.global	Mask_makeMaskedFrame
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_makeMaskedFrame, %function
Mask_makeMaskedFrame:
	@ 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, [fp, #-16]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L240
	mov	r3, #0
	b	.L241
.L240:
	ldr	r2, .L242
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	blx	r3
	ldr	r3, [fp, #-8]
.L241:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L243:
	.align	2
.L242:
	.word	maskMakers
	.size	Mask_makeMaskedFrame, .-Mask_makeMaskedFrame
	.global	__aeabi_idiv
	.align	2
	.global	Mask_mask
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask, %function
Mask_mask:
	@ args = 0, 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]
	mvn	r3, #-2147483648
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-64]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L245
	mov	r3, #0
	b	.L246
.L245:
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #7
	bgt	.L247
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r2, .L249
	ldr	r3, [fp, #-36]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	blx	r3
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-64]
	bl	Mask_writeFormatInformation
	str	r0, [fp, #-24]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #50
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, .L249+4
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-64]
	bl	Mask_evaluateSymbol
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bge	.L248
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-48]
	ldr	r0, [fp, #-52]
	bl	free
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-44]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-56]
.L248:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L247:
	ldr	r0, [fp, #-56]
	bl	free
	ldr	r3, [fp, #-52]
.L246:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L250:
	.align	2
.L249:
	.word	maskMakers
	.word	1717986919
	.size	Mask_mask, .-Mask_mask
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask0, %function
Mask_mask0:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L252
.L257:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L253
.L256:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L254
	ldr	r3, [fp, #-28]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	b	.L255
.L254:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r1, r3
	and	r3, r3, #1
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
.L255:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L253:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L256
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L252:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L257
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Mask_mask0, .-Mask_mask0
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask0$link1, %function
Mask_mask0$link1:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L260
.L265:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L261
.L264:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L262
	ldr	r3, [fp, #-20]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
	b	.L263
.L262:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-8]
	and	r3, r3, #1
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
.L263:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L261:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L264
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L260:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L265
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Mask_mask0$link1, .-Mask_mask0$link1
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask1, %function
Mask_mask1:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L267
.L272:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L268
.L271:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L269
	ldr	r3, [fp, #-28]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	b	.L270
.L269:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-12]
	and	r3, r3, #1
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
.L270:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L268:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L271
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L267:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L272
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Mask_mask1, .-Mask_mask1
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask1$link1, %function
Mask_mask1$link1:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L275
.L280:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L276
.L279:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L277
	ldr	r3, [fp, #-20]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
	b	.L278
.L277:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-8]
	lsr	r1, r3, #31
	add	r3, r1, r3
	asr	r3, r3, #1
	mov	r0, r3
	ldr	r3, [fp, #-12]
	ldr	r1, .L281
	smull	ip, r1, r3, r1
	asr	r3, r3, #31
	sub	r3, r1, r3
	add	r3, r0, r3
	and	r3, r3, #1
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
.L278:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L276:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L279
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L275:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L280
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L282:
	.align	2
.L281:
	.word	1431655766
	.size	Mask_mask1$link1, .-Mask_mask1$link1
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask2, %function
Mask_mask2:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L284
.L289:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L285
.L288:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L286
	ldr	r3, [fp, #-28]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	b	.L287
.L286:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r1, [fp, #-16]
	ldr	r3, .L291
	smull	ip, 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
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
.L287:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L285:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L288
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L284:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L289
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L292:
	.align	2
.L291:
	.word	1431655766
	.size	Mask_mask2, .-Mask_mask2
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask2$link1, %function
Mask_mask2$link1:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L294
.L299:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L295
.L298:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L296
	ldr	r3, [fp, #-20]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
	b	.L297
.L296:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	mul	r3, r2, r3
	mov	ip, r3
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	mul	r2, r3, r2
	ldr	r3, .L300
	smull	lr, r1, r3, r2
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	add	r3, ip, r3
	and	r3, r3, #1
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
.L297:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L295:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L298
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L294:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L299
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L301:
	.align	2
.L300:
	.word	1431655766
	.size	Mask_mask2$link1, .-Mask_mask2$link1
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask3, %function
Mask_mask3:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L303
.L308:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L304
.L307:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L305
	ldr	r3, [fp, #-28]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	b	.L306
.L305:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r1, r2, r3
	ldr	r3, .L310
	smull	ip, 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
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
.L306:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L304:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L307
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L303:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L308
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L311:
	.align	2
.L310:
	.word	1431655766
	.size	Mask_mask3, .-Mask_mask3
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask3$link1, %function
Mask_mask3$link1:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L313
.L318:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L314
.L317:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L315
	ldr	r3, [fp, #-20]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
	b	.L316
.L315:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	ip, r3
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	mul	r2, r3, r2
	ldr	r3, .L319
	smull	lr, r1, r3, r2
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	add	r3, ip, r3
	and	r3, r3, #1
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
.L316:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L314:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L317
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L313:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L318
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L320:
	.align	2
.L319:
	.word	1431655766
	.size	Mask_mask3$link1, .-Mask_mask3$link1
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask4, %function
Mask_mask4:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L322
.L327:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L323
.L326:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L324
	ldr	r3, [fp, #-28]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	b	.L325
.L324:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-12]
	lsr	r1, r3, #31
	add	r3, r1, r3
	asr	r3, r3, #1
	mov	r0, r3
	ldr	r3, [fp, #-16]
	ldr	r1, .L329
	smull	ip, r1, r3, r1
	asr	r3, r3, #31
	sub	r3, r1, r3
	add	r3, r0, r3
	and	r3, r3, #1
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
.L325:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L323:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L326
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L322:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L327
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L330:
	.align	2
.L329:
	.word	1431655766
	.size	Mask_mask4, .-Mask_mask4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask5, %function
Mask_mask5:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L332
.L337:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L333
.L336:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L334
	ldr	r3, [fp, #-28]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	b	.L335
.L334:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	mul	r3, r2, r3
	and	ip, r3, #1
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	mul	r1, r2, r3
	ldr	r3, .L339
	smull	lr, 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
	add	r3, ip, r2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
.L335:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L333:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L336
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L332:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L337
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L340:
	.align	2
.L339:
	.word	1431655766
	.size	Mask_mask5, .-Mask_mask5
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask6, %function
Mask_mask6:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L342
.L347:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L343
.L346:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L344
	ldr	r3, [fp, #-28]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	b	.L345
.L344:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	mul	r3, r2, r3
	mov	ip, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	mul	r2, r3, r2
	ldr	r3, .L349
	smull	lr, r1, r3, r2
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	add	r3, ip, r3
	and	r3, r3, #1
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
.L345:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L343:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L346
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L342:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L347
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L350:
	.align	2
.L349:
	.word	1431655766
	.size	Mask_mask6, .-Mask_mask6
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_mask7, %function
Mask_mask7:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L352
.L357:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L353
.L356:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L354
	ldr	r3, [fp, #-28]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
	b	.L355
.L354:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	mul	r2, r3, r2
	ldr	r3, .L359
	smull	ip, r1, r3, r2
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	add	r3, r1, r3
	and	r3, r3, #1
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-32]
	strb	r2, [r3]
.L355:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L353:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L356
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L352:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L357
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L360:
	.align	2
.L359:
	.word	1431655766
	.size	Mask_mask7, .-Mask_mask7
	.align	2
	.global	Mask_writeFormatInformation
	.syntax unified
	.arm
	.fpu softvfp
	.type	Mask_writeFormatInformation, %function
Mask_writeFormatInformation:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRspec_getFormatInfo
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L362
.L367:
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L363
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	str	r3, [fp, #-8]
	mvn	r3, #122
	strb	r3, [fp, #-17]
	b	.L364
.L363:
	mvn	r3, #123
	strb	r3, [fp, #-17]
.L364:
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	cmp	r3, #5
	bgt	.L365
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	mul	r3, r2, r3
	add	r3, r3, #8
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
	b	.L366
.L365:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	mul	r3, r2, r3
	add	r3, r3, #8
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
.L366:
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L362:
	ldr	r3, [fp, #-12]
	cmp	r3, #7
	ble	.L367
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L368
.L373:
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L369
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	str	r3, [fp, #-8]
	mvn	r3, #122
	strb	r3, [fp, #-17]
	b	.L370
.L369:
	mvn	r3, #123
	strb	r3, [fp, #-17]
.L370:
	ldr	r3, [fp, #-24]
	sub	r2, r3, #7
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	mul	r3, r2, r3
	add	r3, r3, #8
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L371
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r3, #7
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
	b	.L372
.L371:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r2, r3, #6
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
.L372:
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L368:
	ldr	r3, [fp, #-12]
	cmp	r3, #6
	ble	.L373
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Mask_writeFormatInformation, .-Mask_writeFormatInformation
	.align	2
	.global	QRcode_APIVersion
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_APIVersion, %function
QRcode_APIVersion:
	@ 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]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L376
	ldr	r3, [fp, #-8]
	mov	r2, #3
	str	r2, [r3]
.L376:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L377
	ldr	r3, [fp, #-12]
	mov	r2, #4
	str	r2, [r3]
.L377:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L379
	ldr	r3, [fp, #-16]
	mov	r2, #4
	str	r2, [r3]
.L379:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRcode_APIVersion, .-QRcode_APIVersion
	.section	.rodata
	.align	2
.LC2:
	.ascii	"3.4.4\000"
	.text
	.align	2
	.global	QRcode_APIVersionString
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_APIVersionString, %function
QRcode_APIVersionString:
	@ 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, .L382
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L383:
	.align	2
.L382:
	.word	.LC2
	.size	QRcode_APIVersionString, .-QRcode_APIVersionString
	.align	2
	.global	QRcode_List_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_List_free, %function
QRcode_List_free:
	@ 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]
	str	r3, [fp, #-12]
	b	.L385
.L386:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	QRcode_List_freeEntry
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L385:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L386
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_List_free, .-QRcode_List_free
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_List_freeEntry, %function
QRcode_List_freeEntry:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L389
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	QRcode_free
	ldr	r0, [fp, #-8]
	bl	free
.L389:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_List_freeEntry, .-QRcode_List_freeEntry
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_List_newEntry, %function
QRcode_List_newEntry:
	@ 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	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L391
	mov	r3, #0
	b	.L392
.L391:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
.L392:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_List_newEntry, .-QRcode_List_newEntry
	.align	2
	.global	QRcode_List_size
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_List_size, %function
QRcode_List_size:
	@ 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]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L394
.L395:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L394:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L395
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRcode_List_size, .-QRcode_List_size
	.align	2
	.global	QRcode_clearCache
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_clearCache, %function
QRcode_clearCache:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	QRspec_clearCache
	bl	MQRspec_clearCache
	bl	free_rs_cache
	nop
	pop	{fp, pc}
	.size	QRcode_clearCache, .-QRcode_clearCache
	.align	2
	.global	QRcode_encodeData
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeData, %function
QRcode_encodeData:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	QRcode_encodeDataReal
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeData, .-QRcode_encodeData
	.align	2
	.global	QRcode_encodeDataMQR
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeDataMQR, %function
QRcode_encodeDataMQR:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	QRcode_encodeDataReal
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeDataMQR, .-QRcode_encodeDataMQR
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeDataReal, %function
QRcode_encodeDataReal:
	@ 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]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L403
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L404
.L403:
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L405
.L404:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L406
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRinput_newMQR
	str	r0, [fp, #-20]
	b	.L407
.L406:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRinput_new2
	str	r0, [fp, #-20]
.L407:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L408
	mov	r3, #0
	b	.L405
.L408:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	mov	r1, #2
	ldr	r0, [fp, #-20]
	bl	QRinput_append
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L409
	ldr	r0, [fp, #-20]
	bl	QRinput_free
	mov	r3, #0
	b	.L405
.L409:
	ldr	r0, [fp, #-20]
	bl	QRcode_encodeInput
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	QRinput_free
	ldr	r3, [fp, #-12]
.L405:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeDataReal, .-QRcode_encodeDataReal
	.align	2
	.global	QRcode_encodeDataStructured
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeDataStructured, %function
QRcode_encodeDataStructured:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [sp, #8]
	mvn	r3, #0
	str	r3, [sp, #4]
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	QRcode_encodeDataStructuredReal
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeDataStructured, .-QRcode_encodeDataStructured
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeDataStructuredReal, %function
QRcode_encodeDataStructuredReal:
	@ args = 12, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bgt	.L413
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L414
.L413:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	bne	.L415
	ldr	r3, [fp, #8]
	cmp	r3, #2
	beq	.L415
	ldr	r3, [fp, #8]
	cmp	r3, #3
	beq	.L415
	bl	__errno_location
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L414
.L415:
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	QRinput_new2
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L416
	mov	r3, #0
	b	.L414
.L416:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L417
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	mov	r1, #2
	ldr	r0, [fp, #-16]
	bl	QRinput_append
	str	r0, [fp, #-24]
	b	.L418
.L417:
	ldr	r3, [fp, #12]
	ldr	r2, [fp, #8]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-36]
	bl	Split_splitStringToQRinput
	str	r0, [fp, #-24]
.L418:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L419
	ldr	r0, [fp, #-16]
	bl	QRinput_free
	mov	r3, #0
	b	.L414
.L419:
	ldr	r0, [fp, #-16]
	bl	QRcode_encodeInputToStructured
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	QRinput_free
	ldr	r3, [fp, #-12]
.L414:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeDataStructuredReal, .-QRcode_encodeDataStructuredReal
	.align	2
	.global	QRcode_encodeInput
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeInput, %function
QRcode_encodeInput:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L421
	mvn	r1, #0
	ldr	r0, [fp, #-16]
	bl	QRcode_encodeMaskMQR
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L422
.L421:
	mvn	r1, #0
	ldr	r0, [fp, #-16]
	bl	QRcode_encodeMask
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
.L422:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeInput, .-QRcode_encodeInput
	.align	2
	.global	QRcode_encodeInputStructured
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeInputStructured, %function
QRcode_encodeInputStructured:
	@ 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
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	b	.L424
.L431:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L425
	bl	QRcode_List_newEntry
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L433
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L428
.L425:
	bl	QRcode_List_newEntry
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L434
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
.L428:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	QRcode_encodeInput
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L435
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L424:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L431
	ldr	r3, [fp, #-20]
	b	.L432
.L433:
	nop
	b	.L427
.L434:
	nop
	b	.L427
.L435:
	nop
.L427:
	ldr	r0, [fp, #-20]
	bl	QRcode_List_free
	mov	r3, #0
.L432:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeInputStructured, .-QRcode_encodeInputStructured
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeInputToStructured, %function
QRcode_encodeInputToStructured:
	@ 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	r0, [fp, #-16]
	bl	QRinput_splitQRinputToStruct
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L437
	mov	r3, #0
	b	.L438
.L437:
	ldr	r0, [fp, #-12]
	bl	QRcode_encodeInputStructured
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	QRinput_Struct_free
	ldr	r3, [fp, #-8]
.L438:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeInputToStructured, .-QRcode_encodeInputToStructured
	.align	2
	.global	QRcode_encodeMask
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeMask, %function
QRcode_encodeMask:
	@ args = 0, 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, #-72]
	str	r1, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L440
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L441
.L440:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L442
	mov	r3, #1
	strb	r3, [fp, #-62]
	b	.L443
.L442:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	cmp	r3, #40
	movgt	r3, #1
	movle	r3, #0
	strb	r3, [fp, #-62]
.L443:
	ldrb	r3, [fp, #-62]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L444
	bl	__errno_location
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L441
.L444:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	ble	.L445
	bl	__errno_location
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L441
.L445:
	ldr	r0, [fp, #-72]
	bl	QRraw_new
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L446
	mov	r3, #0
	b	.L441
.L446:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r0, [fp, #-40]
	bl	QRspec_getWidth
	str	r0, [fp, #-36]
	ldr	r0, [fp, #-40]
	bl	QRspec_newFrame
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L447
	ldr	r0, [fp, #-60]
	bl	QRraw_free
	mov	r3, #0
	b	.L441
.L447:
	mov	r2, #0
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	FrameFiller_new
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L448
	ldr	r0, [fp, #-60]
	bl	QRraw_free
	ldr	r0, [fp, #-32]
	bl	free
	mov	r3, #0
	b	.L441
.L448:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L449
.L456:
	ldr	r0, [fp, #-60]
	bl	QRraw_getCode
	mov	r3, r0
	strb	r3, [fp, #-61]
	mvn	r3, #127
	strb	r3, [fp, #-63]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L450
.L455:
	ldr	r0, [fp, #-28]
	bl	FrameFiller_next
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L463
	ldrb	r2, [fp, #-63]
	ldrb	r3, [fp, #-61]
	and	r3, r3, r2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L453
	mov	r2, #3
	b	.L454
.L453:
	mov	r2, #2
.L454:
	ldr	r3, [fp, #-20]
	strb	r2, [r3]
	ldrb	r3, [fp, #-63]	@ zero_extendqisi2
	lsr	r3, r3, #1
	strb	r3, [fp, #-63]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L450:
	ldr	r3, [fp, #-48]
	cmp	r3, #7
	ble	.L455
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L449:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	add	r3, r2, r3
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L456
	ldr	r0, [fp, #-60]
	bl	QRraw_free
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r0, [fp, #-40]
	bl	QRspec_getRemainder
	str	r0, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L457
.L459:
	ldr	r0, [fp, #-28]
	bl	FrameFiller_next
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L464
	ldr	r3, [fp, #-20]
	mov	r2, #2
	strb	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L457:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	blt	.L459
	ldr	r3, [fp, #-76]
	cmn	r3, #2
	bne	.L460
	ldr	r3, [fp, #-36]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-36]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r2, r3
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-56]
	bl	memcpy
	b	.L461
.L460:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bge	.L462
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	Mask_mask
	str	r0, [fp, #-56]
	b	.L461
.L462:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-76]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	Mask_makeMask
	str	r0, [fp, #-56]
.L461:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L465
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-40]
	bl	QRcode_new
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L465
	ldr	r0, [fp, #-56]
	bl	free
	b	.L452
.L463:
	nop
	b	.L452
.L464:
	nop
	b	.L452
.L465:
	nop
.L452:
	ldr	r0, [fp, #-60]
	bl	QRraw_free
	ldr	r0, [fp, #-28]
	bl	free
	ldr	r0, [fp, #-32]
	bl	free
	ldr	r3, [fp, #-44]
.L441:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeMask, .-QRcode_encodeMask
	.align	2
	.global	QRcode_encodeMaskMQR
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeMaskMQR, %function
QRcode_encodeMaskMQR:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L467
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L468
.L467:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L469
	mov	r3, #1
	strb	r3, [fp, #-59]
	b	.L470
.L469:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	cmp	r3, #4
	movgt	r3, #1
	movle	r3, #0
	strb	r3, [fp, #-59]
.L470:
	ldrb	r3, [fp, #-59]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L471
	bl	__errno_location
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L468
.L471:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	ble	.L472
	bl	__errno_location
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L468
.L472:
	ldr	r0, [fp, #-64]
	bl	MQRraw_new
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L473
	mov	r3, #0
	b	.L468
.L473:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r0, [fp, #-36]
	bl	MQRspec_getWidth
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	MQRspec_newFrame
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L474
	ldr	r0, [fp, #-56]
	bl	MQRraw_free
	mov	r3, #0
	b	.L468
.L474:
	mov	r2, #1
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	FrameFiller_new
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L475
	ldr	r0, [fp, #-56]
	bl	MQRraw_free
	ldr	r0, [fp, #-28]
	bl	free
	mov	r3, #0
	b	.L468
.L475:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L476
.L492:
	ldr	r0, [fp, #-56]
	bl	MQRraw_getCode
	mov	r3, r0
	strb	r3, [fp, #-57]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L477
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-58]
	b	.L478
.L477:
	mov	r3, #0
	strb	r3, [fp, #-58]
.L478:
	ldrb	r3, [fp, #-58]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L479
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	sub	r3, r3, #1
	mov	r2, #1
	lsl	r3, r2, r3
	strb	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L480
.L485:
	ldr	r0, [fp, #-24]
	bl	FrameFiller_next
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L495
	ldrb	r2, [fp, #-60]
	ldrb	r3, [fp, #-57]
	and	r3, r3, r2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L483
	mov	r2, #3
	b	.L484
.L483:
	mov	r2, #2
.L484:
	ldr	r3, [fp, #-20]
	strb	r2, [r3]
	ldrb	r3, [fp, #-60]	@ zero_extendqisi2
	lsr	r3, r3, #1
	strb	r3, [fp, #-60]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L480:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L485
	b	.L486
.L479:
	mvn	r3, #127
	strb	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L487
.L491:
	ldr	r0, [fp, #-24]
	bl	FrameFiller_next
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L496
	ldrb	r2, [fp, #-60]
	ldrb	r3, [fp, #-57]
	and	r3, r3, r2
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L489
	mov	r2, #3
	b	.L490
.L489:
	mov	r2, #2
.L490:
	ldr	r3, [fp, #-20]
	strb	r2, [r3]
	ldrb	r3, [fp, #-60]	@ zero_extendqisi2
	lsr	r3, r3, #1
	strb	r3, [fp, #-60]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L487:
	ldr	r3, [fp, #-44]
	cmp	r3, #7
	ble	.L491
.L486:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L476:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L492
	ldr	r0, [fp, #-56]
	bl	MQRraw_free
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bge	.L493
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-36]
	bl	MMask_mask
	str	r0, [fp, #-52]
	b	.L494
.L493:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-36]
	bl	MMask_makeMask
	str	r0, [fp, #-52]
.L494:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L497
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	QRcode_new
	str	r0, [fp, #-40]
	b	.L482
.L495:
	nop
	b	.L482
.L496:
	nop
	b	.L482
.L497:
	nop
.L482:
	ldr	r0, [fp, #-56]
	bl	MQRraw_free
	ldr	r0, [fp, #-24]
	bl	free
	ldr	r0, [fp, #-28]
	bl	free
	ldr	r3, [fp, #-40]
.L468:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeMaskMQR, .-QRcode_encodeMaskMQR
	.align	2
	.global	QRcode_encodeString
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeString, %function
QRcode_encodeString:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #4]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	QRcode_encodeStringReal
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeString, .-QRcode_encodeString
	.align	2
	.global	QRcode_encodeString8bit
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeString8bit, %function
QRcode_encodeString8bit:
	@ args = 0, pretend = 0, frame = 32
	@ 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]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L501
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L502
.L501:
	ldr	r0, [fp, #-24]
	bl	strlen
	str	r0, [fp, #-16]
	ldr	r1, [fp, #-16]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	QRcode_encodeDataReal
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
.L502:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeString8bit, .-QRcode_encodeString8bit
	.align	2
	.global	QRcode_encodeString8bitMQR
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeString8bitMQR, %function
QRcode_encodeString8bitMQR:
	@ args = 0, pretend = 0, frame = 32
	@ 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]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L504
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L505
.L504:
	ldr	r0, [fp, #-24]
	bl	strlen
	str	r0, [fp, #-16]
	ldr	r1, [fp, #-16]
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	QRcode_encodeDataReal
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
.L505:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeString8bitMQR, .-QRcode_encodeString8bitMQR
	.align	2
	.global	QRcode_encodeString8bitStructured
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeString8bitStructured, %function
QRcode_encodeString8bitStructured:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L507
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L508
.L507:
	ldr	r0, [fp, #-24]
	bl	strlen
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	bl	QRcode_encodeDataStructured
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
.L508:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeString8bitStructured, .-QRcode_encodeString8bitStructured
	.align	2
	.global	QRcode_encodeStringMQR
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeStringMQR, %function
QRcode_encodeStringMQR:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #4]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	mov	r3, #1
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	QRcode_encodeStringReal
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeStringMQR, .-QRcode_encodeStringMQR
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeStringReal, %function
QRcode_encodeStringReal:
	@ args = 8, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L512
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L513
.L512:
	ldr	r3, [fp, #4]
	cmp	r3, #2
	beq	.L514
	ldr	r3, [fp, #4]
	cmp	r3, #3
	beq	.L514
	bl	__errno_location
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L513
.L514:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L515
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-36]
	bl	QRinput_newMQR
	str	r0, [fp, #-24]
	b	.L516
.L515:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-36]
	bl	QRinput_new2
	str	r0, [fp, #-24]
.L516:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L517
	mov	r3, #0
	b	.L513
.L517:
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	Split_splitStringToQRinput
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L518
	ldr	r0, [fp, #-24]
	bl	QRinput_free
	mov	r3, #0
	b	.L513
.L518:
	ldr	r0, [fp, #-24]
	bl	QRcode_encodeInput
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	QRinput_free
	ldr	r3, [fp, #-12]
.L513:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeStringReal, .-QRcode_encodeStringReal
	.align	2
	.global	QRcode_encodeStringStructured
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_encodeStringStructured, %function
QRcode_encodeStringStructured:
	@ args = 4, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L520
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L521
.L520:
	ldr	r0, [fp, #-24]
	bl	strlen
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	ldr	r3, [fp, #4]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-36]
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	bl	QRcode_encodeDataStructuredReal
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
.L521:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_encodeStringStructured, .-QRcode_encodeStringStructured
	.align	2
	.global	QRcode_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_free, %function
QRcode_free:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L524
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
.L524:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_free, .-QRcode_free
	.align	2
	.global	QRcode_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRcode_new, %function
QRcode_new:
	@ 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]
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L526
	mov	r3, #0
	b	.L527
.L526:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
.L527:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRcode_new, .-QRcode_new
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_InputList_freeEntry, %function
QRinput_InputList_freeEntry:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L530
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	QRinput_free
	ldr	r0, [fp, #-8]
	bl	free
.L530:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_InputList_freeEntry, .-QRinput_InputList_freeEntry
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_InputList_newEntry, %function
QRinput_InputList_newEntry:
	@ 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	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L532
	mov	r3, #0
	b	.L533
.L532:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
.L533:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_InputList_newEntry, .-QRinput_InputList_newEntry
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_List_dup, %function
QRinput_List_dup:
	@ 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	r0, #20
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L535
	mov	r3, #0
	b	.L536
.L535:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L537
	ldr	r0, [fp, #-12]
	bl	free
	mov	r3, #0
	b	.L536
.L537:
	ldr	r3, [fp, #-12]
	ldr	r0, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
.L536:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_List_dup, .-QRinput_List_dup
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_List_freeEntry, %function
QRinput_List_freeEntry:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L540
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	BitStream_free
	ldr	r0, [fp, #-8]
	bl	free
.L540:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_List_freeEntry, .-QRinput_List_freeEntry
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_List_newEntry, %function
QRinput_List_newEntry:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRinput_check
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L542
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L543
.L542:
	mov	r0, #20
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L544
	mov	r3, #0
	b	.L543
.L544:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	ble	.L545
	ldr	r3, [fp, #-36]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L546
	ldr	r0, [fp, #-16]
	bl	free
	mov	r3, #0
	b	.L543
.L546:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	memcpy
.L545:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
.L543:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_List_newEntry, .-QRinput_List_newEntry
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_List_shrinkEntry, %function
QRinput_List_shrinkEntry:
	@ 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, #-20]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L548
	mvn	r3, #0
	b	.L549
.L548:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	memcpy
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	mov	r3, #0
.L549:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_List_shrinkEntry, .-QRinput_List_shrinkEntry
	.align	2
	.global	QRinput_Struct_appendInput
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_Struct_appendInput, %function
QRinput_Struct_appendInput:
	@ 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, #-20]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L551
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
	b	.L552
.L551:
	ldr	r0, [fp, #-20]
	bl	QRinput_InputList_newEntry
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L553
	mvn	r3, #0
	b	.L552
.L553:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L554
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #12]
	b	.L555
.L554:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #12]
.L555:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
.L552:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_Struct_appendInput, .-QRinput_Struct_appendInput
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_Struct_calcParity, %function
QRinput_Struct_calcParity:
	@ 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]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	b	.L557
.L558:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	QRinput_calcParity
	mov	r3, r0
	strb	r3, [fp, #-9]
	ldrb	r2, [fp, #-10]
	ldrb	r3, [fp, #-9]
	eor	r3, r3, r2
	strb	r3, [fp, #-10]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L557:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L558
	ldrb	r3, [fp, #-10]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	QRinput_Struct_setParity
	ldrb	r3, [fp, #-10]	@ zero_extendqisi2
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_Struct_calcParity, .-QRinput_Struct_calcParity
	.align	2
	.global	QRinput_Struct_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_Struct_free, %function
QRinput_Struct_free:
	@ 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
	beq	.L564
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	b	.L562
.L563:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	QRinput_InputList_freeEntry
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L562:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L563
	ldr	r0, [fp, #-16]
	bl	free
.L564:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_Struct_free, .-QRinput_Struct_free
	.align	2
	.global	QRinput_Struct_insertStructuredAppendHeaders
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_Struct_insertStructuredAppendHeaders, %function
QRinput_Struct_insertStructuredAppendHeaders:
	@ 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]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L566
	mov	r3, #0
	b	.L567
.L566:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bge	.L568
	ldr	r0, [fp, #-24]
	bl	QRinput_Struct_calcParity
.L568:
	mov	r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	b	.L569
.L571:
	ldr	r3, [fp, #-12]
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	and	r3, r3, #255
	ldr	r2, [fp, #-16]
	bl	QRinput_insertStructuredAppendHeader
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L570
	mvn	r3, #0
	b	.L567
.L570:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L569:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L571
	mov	r3, #0
.L567:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_Struct_insertStructuredAppendHeaders, .-QRinput_Struct_insertStructuredAppendHeaders
	.align	2
	.global	QRinput_Struct_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_Struct_new, %function
QRinput_Struct_new:
	@ 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	r0, #16
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L573
	mov	r3, #0
	b	.L574
.L573:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mvn	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
.L574:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_Struct_new, .-QRinput_Struct_new
	.align	2
	.global	QRinput_Struct_setParity
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_Struct_setParity, %function
QRinput_Struct_setParity:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	mov	r3, r1
	strb	r3, [fp, #-9]
	ldrb	r2, [fp, #-9]	@ zero_extendqisi2
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_Struct_setParity, .-QRinput_Struct_setParity
	.align	2
	.global	QRinput_append
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_append, %function
QRinput_append:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	QRinput_List_newEntry
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L577
	mvn	r3, #0
	b	.L578
.L577:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	QRinput_appendEntry
	mov	r3, #0
.L578:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_append, .-QRinput_append
	.section	.rodata
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	QRinput_appendECIheader
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_appendECIheader, %function
QRinput_appendECIheader:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, .L584
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	ldr	r2, .L584+4
	cmp	r3, r2
	bcc	.L580
	bl	__errno_location
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
	b	.L582
.L580:
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	strb	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	lsr	r3, r3, #8
	and	r3, r3, #255
	strb	r3, [fp, #-11]
	ldr	r3, [fp, #-28]
	lsr	r3, r3, #16
	and	r3, r3, #255
	strb	r3, [fp, #-10]
	ldr	r3, [fp, #-28]
	lsr	r3, r3, #24
	and	r3, r3, #255
	strb	r3, [fp, #-9]
	sub	r3, fp, #12
	mov	r2, #4
	mov	r1, #5
	ldr	r0, [fp, #-24]
	bl	QRinput_append
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
.L582:
	ldr	r2, .L584
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L583
	bl	__stack_chk_fail
.L583:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L585:
	.align	2
.L584:
	.word	.LC3
	.word	1000000
	.size	QRinput_appendECIheader, .-QRinput_appendECIheader
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_appendEntry, %function
QRinput_appendEntry:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L587
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #12]
	b	.L588
.L587:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #12]
.L588:
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #16]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_appendEntry, .-QRinput_appendEntry
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_appendPaddingBit, %function
QRinput_appendPaddingBit:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-60]
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	QRspec_getDataLength
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L590
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #34
	str	r2, [r3]
	mvn	r3, #0
	b	.L591
.L590:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bne	.L592
	mov	r3, #0
	b	.L591
.L592:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	cmp	r3, #4
	bgt	.L593
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	BitStream_appendNum
	str	r0, [fp, #-44]
	b	.L594
.L593:
	ldr	r3, [fp, #-36]
	add	r3, r3, #11
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-24]
	bl	BitStream_new
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L595
	mvn	r3, #0
	b	.L591
.L595:
	ldr	r3, [fp, #-24]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	BitStream_appendNum
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	blt	.L602
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L596
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L597
	mvn	r3, #0
	str	r3, [fp, #-44]
	b	.L594
.L597:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L598
.L601:
	ldr	r3, [fp, #-48]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L599
	mov	r1, #17
	b	.L600
.L599:
	mov	r1, #236
.L600:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L598:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L601
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	BitStream_appendBytes
	str	r0, [fp, #-44]
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	blt	.L603
.L596:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-56]
	bl	BitStream_append
	str	r0, [fp, #-44]
	b	.L594
.L602:
	nop
	b	.L594
.L603:
	nop
.L594:
	ldr	r0, [fp, #-40]
	bl	BitStream_free
	ldr	r3, [fp, #-44]
.L591:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_appendPaddingBit, .-QRinput_appendPaddingBit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_appendPaddingBitMQR, %function
QRinput_appendPaddingBitMQR:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-60]
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	MQRspec_getDataLengthBit
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L605
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #34
	str	r2, [r3]
	mvn	r3, #0
	b	.L606
.L605:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bne	.L607
	mov	r3, #0
	b	.L606
.L607:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L608
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	BitStream_appendNum
	str	r0, [fp, #-48]
	b	.L609
.L608:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	add	r3, r3, #7
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #29
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	cmp	r3, #0
	ble	.L610
	ldr	r3, [fp, #-24]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bne	.L611
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-32]
	sub	r3, r2, r3
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	str	r3, [fp, #-44]
	b	.L611
.L610:
	ldr	r3, [fp, #-24]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	str	r3, [fp, #-44]
.L611:
	bl	BitStream_new
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L612
	mvn	r3, #0
	b	.L606
.L612:
	mov	r2, #0
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	BitStream_appendNum
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	blt	.L620
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L613
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L614
	mvn	r3, #0
	str	r3, [fp, #-48]
	b	.L609
.L614:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L615
.L618:
	ldr	r3, [fp, #-52]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L616
	mov	r1, #17
	b	.L617
.L616:
	mov	r1, #236
.L617:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L615:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L618
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	BitStream_appendBytes
	str	r0, [fp, #-48]
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	blt	.L621
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-32]
	sub	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	ble	.L613
	mov	r2, #0
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	BitStream_appendNum
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	blt	.L622
.L613:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-56]
	bl	BitStream_append
	str	r0, [fp, #-48]
	b	.L609
.L620:
	nop
	b	.L609
.L621:
	nop
	b	.L609
.L622:
	nop
.L609:
	ldr	r0, [fp, #-40]
	bl	BitStream_free
	ldr	r3, [fp, #-48]
.L606:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_appendPaddingBitMQR, .-QRinput_appendPaddingBitMQR
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_calcParity, %function
QRinput_calcParity:
	@ 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]
	mov	r3, #0
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	b	.L624
.L628:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L625
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L626
.L627:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]
	eor	r3, r3, r2
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
.L626:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L627
.L625:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
.L624:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L628
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_calcParity, .-QRinput_calcParity
	.align	2
	.global	QRinput_check
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_check, %function
QRinput_check:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	cmp	r3, #6
	bne	.L631
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L632
.L631:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bgt	.L633
.L632:
	mvn	r3, #0
	b	.L634
.L633:
	ldr	r3, [fp, #-24]
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L635
.L637:
	.word	.L644
	.word	.L643
	.word	.L642
	.word	.L641
	.word	.L640
	.word	.L639
	.word	.L638
	.word	.L636
.L644:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-28]
	bl	QRinput_checkModeNum
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L634
.L643:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-28]
	bl	QRinput_checkModeAn
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	b	.L634
.L641:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-28]
	bl	QRinput_checkModeKanji
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	b	.L634
.L642:
	mov	r3, #0
	b	.L634
.L640:
	mov	r3, #0
	b	.L634
.L639:
	mov	r3, #0
	b	.L634
.L638:
	mov	r3, #0
	b	.L634
.L636:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-28]
	bl	QRinput_checkModeFNC1Second
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	b	.L634
.L635:
	mvn	r3, #0
.L634:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_check, .-QRinput_check
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_checkModeAn, %function
QRinput_checkModeAn:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L646
.L651:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L647
	mvn	r3, #0
	str	r3, [fp, #-8]
	b	.L648
.L647:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L652
	ldrsb	r3, [r3, r2]
	str	r3, [fp, #-8]
.L648:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L649
	mvn	r3, #0
	b	.L650
.L649:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L646:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L651
	mov	r3, #0
.L650:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L653:
	.align	2
.L652:
	.word	QRinput_anTable
	.size	QRinput_checkModeAn, .-QRinput_checkModeAn
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_checkModeFNC1Second, %function
QRinput_checkModeFNC1Second:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	beq	.L655
	mvn	r3, #0
	b	.L656
.L655:
	mov	r3, #0
.L656:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_checkModeFNC1Second, .-QRinput_checkModeFNC1Second
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_checkModeKanji, %function
QRinput_checkModeKanji:
	@ 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]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L658
	mvn	r3, #0
	b	.L659
.L658:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L660
.L664:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	ldr	r2, [fp, #-12]
	add	r2, r2, #1
	mov	r1, r2
	ldr	r2, [fp, #-20]
	add	r2, r2, r1
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L665
	cmp	r3, r2
	bhi	.L661
	ldr	r3, [fp, #-8]
	ldr	r2, .L665+4
	cmp	r3, r2
	bls	.L662
	ldr	r3, [fp, #-8]
	ldr	r2, .L665+8
	cmp	r3, r2
	bls	.L661
.L662:
	ldr	r3, [fp, #-8]
	ldr	r2, .L665+12
	cmp	r3, r2
	bhi	.L663
.L661:
	mvn	r3, #0
	b	.L659
.L663:
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	str	r3, [fp, #-12]
.L660:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L664
	mov	r3, #0
.L659:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L666:
	.align	2
.L665:
	.word	60351
	.word	40956
	.word	57407
	.word	33087
	.size	QRinput_checkModeKanji, .-QRinput_checkModeKanji
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_checkModeNum, %function
QRinput_checkModeNum:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L668
.L673:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bhi	.L669
	mov	r3, #1
	strb	r3, [fp, #-9]
	b	.L670
.L669:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	movhi	r3, #1
	movls	r3, #0
	strb	r3, [fp, #-9]
.L670:
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L671
	mvn	r3, #0
	b	.L672
.L671:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L668:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L673
	mov	r3, #0
.L672:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_checkModeNum, .-QRinput_checkModeNum
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_convertData, %function
QRinput_convertData:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	QRinput_estimateVersion
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	QRinput_getVersion
	str	r0, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bge	.L682
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	QRinput_setVersion
.L682:
	ldr	r0, [fp, #-32]
	bl	QRinput_createBitStream
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L676
	mvn	r3, #0
	b	.L677
.L676:
	ldr	r3, [fp, #-16]
	add	r3, r3, #7
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	QRspec_getMinimumVersion
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L678
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #34
	str	r2, [r3]
	mvn	r3, #0
	b	.L677
.L678:
	ldr	r0, [fp, #-32]
	bl	QRinput_getVersion
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bge	.L683
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	QRinput_setVersion
	b	.L682
.L683:
	nop
	mov	r3, #0
.L677:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_convertData, .-QRinput_convertData
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_createBitStream, %function
QRinput_createBitStream:
	@ 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
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	b	.L685
.L688:
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	QRinput_encodeBitStream
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L686
	mvn	r3, #0
	b	.L687
.L686:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
.L685:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L688
	ldr	r3, [fp, #-12]
.L687:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_createBitStream, .-QRinput_createBitStream
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_decodeECIfromByteArray, %function
QRinput_decodeECIfromByteArray:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L690
.L691:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #8
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	rsb	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	orr	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L690:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	ble	.L691
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_decodeECIfromByteArray, .-QRinput_decodeECIfromByteArray
	.align	2
	.global	QRinput_dup
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_dup, %function
QRinput_dup:
	@ 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]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L694
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	QRinput_newMQR
	str	r0, [fp, #-16]
	b	.L695
.L694:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	QRinput_new2
	str	r0, [fp, #-16]
.L695:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L696
	mov	r3, #0
	b	.L697
.L696:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	b	.L698
.L700:
	ldr	r0, [fp, #-12]
	bl	QRinput_List_dup
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L699
	ldr	r0, [fp, #-16]
	bl	QRinput_free
	mov	r3, #0
	b	.L697
.L699:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	QRinput_appendEntry
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
.L698:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L700
	ldr	r3, [fp, #-16]
.L697:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_dup, .-QRinput_dup
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_encodeBitStream, %function
QRinput_encodeBitStream:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L702
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	BitStream_free
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #12]
.L702:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r1, [fp, #-36]
	mov	r0, r3
	bl	QRspec_maximumWords
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L703
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	strb	r3, [fp, #-21]
	b	.L704
.L703:
	mov	r3, #0
	strb	r3, [fp, #-21]
.L704:
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L705
	ldr	r3, [fp, #-32]
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-8]
	bl	QRinput_List_newEntry
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L725
	ldr	r3, [fp, #-32]
	ldr	r0, [r3]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	sub	r1, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r3
	bl	QRinput_List_newEntry
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L726
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-12]
	bl	QRinput_encodeBitStream
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L727
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-16]
	bl	QRinput_encodeBitStream
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L728
	bl	BitStream_new
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L729
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	mov	r1, r3
	mov	r0, r2
	bl	BitStream_append
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L730
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r1, r3
	mov	r0, r2
	bl	BitStream_append
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L731
	ldr	r0, [fp, #-12]
	bl	QRinput_List_freeEntry
	ldr	r0, [fp, #-16]
	bl	QRinput_List_freeEntry
	b	.L714
.L705:
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L715
.L717:
	.word	.L723
	.word	.L722
	.word	.L721
	.word	.L720
	.word	.L719
	.word	.L718
	.word	.L715
	.word	.L716
.L723:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRinput_encodeModeNum
	str	r0, [fp, #-20]
	b	.L715
.L722:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRinput_encodeModeAn
	str	r0, [fp, #-20]
	b	.L715
.L721:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRinput_encodeMode8
	str	r0, [fp, #-20]
	b	.L715
.L720:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRinput_encodeModeKanji
	str	r0, [fp, #-20]
	b	.L715
.L719:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-32]
	bl	QRinput_encodeModeStructure
	str	r0, [fp, #-20]
	b	.L715
.L718:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRinput_encodeModeECI
	str	r0, [fp, #-20]
	b	.L715
.L716:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRinput_encodeModeFNC1Second
	str	r0, [fp, #-20]
.L715:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L714
	mvn	r3, #0
	b	.L724
.L714:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r3, [r3]
	b	.L724
.L725:
	nop
	b	.L707
.L726:
	nop
	b	.L707
.L727:
	nop
	b	.L707
.L728:
	nop
	b	.L707
.L729:
	nop
	b	.L707
.L730:
	nop
	b	.L707
.L731:
	nop
.L707:
	ldr	r0, [fp, #-12]
	bl	QRinput_List_freeEntry
	ldr	r0, [fp, #-16]
	bl	QRinput_List_freeEntry
	mvn	r3, #0
.L724:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_encodeBitStream, .-QRinput_encodeBitStream
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_encodeMode8, %function
QRinput_encodeMode8:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	bl	BitStream_new
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L733
	mvn	r3, #0
	b	.L734
.L733:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L735
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bgt	.L736
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	b	.L737
.L736:
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r2, #2
	mov	r1, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L741
	ldr	r1, [fp, #-28]
	mov	r0, #2
	bl	MQRspec_lengthIndicator
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-12]
	bl	BitStream_appendNum
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L739
	b	.L737
.L735:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r2, #4
	mov	r1, #4
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L742
	ldr	r1, [fp, #-28]
	mov	r0, #2
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	bl	BitStream_appendNum
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L743
.L739:
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r2, r3
	bl	BitStream_appendBytes
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L744
	mov	r3, #0
	b	.L734
.L741:
	nop
	b	.L737
.L742:
	nop
	b	.L737
.L743:
	nop
	b	.L737
.L744:
	nop
.L737:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	BitStream_free
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #12]
	mvn	r3, #0
.L734:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_encodeMode8, .-QRinput_encodeMode8
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_encodeModeAn, %function
QRinput_encodeModeAn:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	bl	BitStream_new
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L746
	mvn	r3, #0
	b	.L747
.L746:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L748
	ldr	r3, [fp, #-52]
	cmp	r3, #1
	bgt	.L749
	bl	__errno_location
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #22
	str	r2, [r3]
	b	.L750
.L749:
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	mov	r2, #1
	mov	r1, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L764
	ldr	r1, [fp, #-52]
	mov	r0, #1
	bl	MQRspec_lengthIndicator
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-20]
	bl	BitStream_appendNum
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bge	.L752
	b	.L750
.L748:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	mov	r2, #2
	mov	r1, #4
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L765
	ldr	r1, [fp, #-52]
	mov	r0, #1
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-48]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-24]
	bl	BitStream_appendNum
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L766
.L752:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L754
.L760:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-44]
	lsl	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L755
	mvn	r3, #0
	str	r3, [fp, #-40]
	b	.L756
.L755:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-44]
	lsl	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L769
	ldrsb	r3, [r3, r2]
	str	r3, [fp, #-40]
.L756:
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-44]
	lsl	r2, r2, #1
	add	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L757
	mvn	r3, #0
	str	r3, [fp, #-36]
	b	.L758
.L757:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-44]
	lsl	r2, r2, #1
	add	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L769
	ldrsb	r3, [r3, r2]
	str	r3, [fp, #-36]
.L758:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-8]
	mov	r1, #11
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L767
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L754:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L760
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L761
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-12]
	lsl	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L762
	mvn	r3, #0
	str	r3, [fp, #-32]
	b	.L763
.L762:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-12]
	lsl	r2, r2, #1
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L769
	ldrsb	r3, [r3, r2]
	str	r3, [fp, #-32]
.L763:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-8]
	mov	r1, #6
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L768
.L761:
	mov	r3, #0
	b	.L747
.L764:
	nop
	b	.L750
.L765:
	nop
	b	.L750
.L766:
	nop
	b	.L750
.L767:
	nop
	b	.L750
.L768:
	nop
.L750:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	BitStream_free
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #12]
	mvn	r3, #0
.L747:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L770:
	.align	2
.L769:
	.word	QRinput_anTable
	.size	QRinput_encodeModeAn, .-QRinput_encodeModeAn
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_encodeModeECI, %function
QRinput_encodeModeECI:
	@ 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]
	str	r1, [fp, #-28]
	bl	BitStream_new
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L772
	mvn	r3, #0
	b	.L773
.L772:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	QRinput_decodeECIfromByteArray
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #127
	bhi	.L774
	mov	r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
	b	.L775
.L774:
	ldr	r3, [fp, #-12]
	cmp	r3, #16384
	bcs	.L776
	mov	r3, #2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r3, #32768
	str	r3, [fp, #-16]
	b	.L775
.L776:
	mov	r3, #3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r3, #786432
	str	r3, [fp, #-16]
.L775:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r2, #7
	mov	r1, #4
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L779
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-16]
	mov	r1, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L780
	mov	r3, #0
	b	.L773
.L779:
	nop
	b	.L777
.L780:
	nop
.L777:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	BitStream_free
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #12]
	mvn	r3, #0
.L773:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_encodeModeECI, .-QRinput_encodeModeECI
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_encodeModeFNC1Second, %function
QRinput_encodeModeFNC1Second:
	@ 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]
	bl	BitStream_new
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L782
	mvn	r3, #0
	b	.L783
.L782:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r2, #9
	mov	r1, #4
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L786
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r2, r3
	mov	r1, #1
	bl	BitStream_appendBytes
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L787
	mov	r3, #0
	b	.L783
.L786:
	nop
	b	.L784
.L787:
	nop
.L784:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	BitStream_free
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #12]
	mvn	r3, #0
.L783:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_encodeModeFNC1Second, .-QRinput_encodeModeFNC1Second
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_encodeModeKanji, %function
QRinput_encodeModeKanji:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	bl	BitStream_new
	mov	r2, r0
	ldr	r3, [fp, #-40]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L789
	mvn	r3, #0
	b	.L790
.L789:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L791
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bgt	.L792
	bl	__errno_location
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r2, #22
	str	r2, [r3]
	b	.L793
.L792:
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	mov	r2, #3
	mov	r1, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L802
	ldr	r1, [fp, #-44]
	mov	r0, #3
	bl	MQRspec_lengthIndicator
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-16]
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L795
	b	.L793
.L791:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	mov	r2, #8
	mov	r1, #4
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L803
	ldr	r1, [fp, #-44]
	mov	r0, #3
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-20]
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L804
.L795:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L797
.L801:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #8
	ldr	r2, [fp, #-40]
	ldr	r2, [r2, #8]
	ldr	r1, [fp, #-32]
	add	r1, r1, #1
	add	r2, r2, r1
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, .L806
	cmp	r3, r2
	bhi	.L798
	ldr	r3, [fp, #-28]
	sub	r3, r3, #33024
	sub	r3, r3, #64
	str	r3, [fp, #-28]
	b	.L799
.L798:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #49408
	sub	r3, r3, #64
	str	r3, [fp, #-28]
.L799:
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #8
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #6
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-28]
	mov	r1, #13
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L805
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	str	r3, [fp, #-32]
.L797:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L801
	mov	r3, #0
	b	.L790
.L802:
	nop
	b	.L793
.L803:
	nop
	b	.L793
.L804:
	nop
	b	.L793
.L805:
	nop
.L793:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	BitStream_free
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3, #12]
	mvn	r3, #0
.L790:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L807:
	.align	2
.L806:
	.word	40956
	.size	QRinput_encodeModeKanji, .-QRinput_encodeModeKanji
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_encodeModeNum, %function
QRinput_encodeModeNum:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	bl	BitStream_new
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L809
	mvn	r3, #0
	b	.L810
.L809:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L811
	ldr	r3, [fp, #-36]
	cmp	r3, #1
	ble	.L812
	ldr	r3, [fp, #-32]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	mov	r2, #0
	mov	r1, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L821
.L812:
	ldr	r1, [fp, #-36]
	mov	r0, #0
	bl	MQRspec_lengthIndicator
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L814
	b	.L813
.L811:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	mov	r2, #1
	mov	r1, #4
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L822
	ldr	r1, [fp, #-36]
	mov	r0, #0
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-20]
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L823
.L814:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, .L826
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L816
.L818:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, r3, #48
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, r3, #48
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	sub	r3, r3, #48
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-8]
	mov	r1, #10
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L824
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L816:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L818
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	mov	r1, r3
	lsl	r3, r3, #2
	sub	r3, r1, r3
	add	r3, r2, r3
	cmp	r3, #1
	bne	.L819
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-8]
	mov	r1, #4
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L820
	b	.L813
.L819:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	mov	r1, r3
	lsl	r3, r3, #2
	sub	r3, r1, r3
	add	r3, r2, r3
	cmp	r3, #2
	bne	.L820
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, r3, #48
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #1
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	sub	r3, r3, #48
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-8]
	mov	r1, #7
	mov	r0, r3
	bl	BitStream_appendNum
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L825
.L820:
	mov	r3, #0
	b	.L810
.L821:
	nop
	b	.L813
.L822:
	nop
	b	.L813
.L823:
	nop
	b	.L813
.L824:
	nop
	b	.L813
.L825:
	nop
.L813:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	BitStream_free
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #12]
	mvn	r3, #0
.L810:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L827:
	.align	2
.L826:
	.word	1431655766
	.size	QRinput_encodeModeNum, .-QRinput_encodeModeNum
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_encodeModeStructure, %function
QRinput_encodeModeStructure:
	@ 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, #-20]
	cmp	r3, #0
	beq	.L829
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
	b	.L830
.L829:
	bl	BitStream_new
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L831
	mvn	r3, #0
	b	.L830
.L831:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r2, #3
	mov	r1, #4
	mov	r0, r3
	bl	BitStream_appendNum
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L836
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #1
	mov	r2, r3
	mov	r1, #4
	bl	BitStream_appendNum
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L837
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #1
	mov	r2, r3
	mov	r1, #4
	bl	BitStream_appendNum
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L838
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	mov	r1, #8
	bl	BitStream_appendNum
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L839
	mov	r3, #0
	b	.L830
.L836:
	nop
	b	.L832
.L837:
	nop
	b	.L832
.L838:
	nop
	b	.L832
.L839:
	nop
.L832:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	BitStream_free
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #12]
	mvn	r3, #0
.L830:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_encodeModeStructure, .-QRinput_encodeModeStructure
	.align	2
	.global	QRinput_estimateBitStreamSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_estimateBitStreamSize, %function
QRinput_estimateBitStreamSize:
	@ 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]
	str	r1, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	b	.L841
.L842:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-16]
	bl	QRinput_estimateBitStreamSizeOfEntry
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
.L841:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L842
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_estimateBitStreamSize, .-QRinput_estimateBitStreamSize
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_estimateBitStreamSizeOfEntry, %function
QRinput_estimateBitStreamSizeOfEntry:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L845
	mov	r3, #1
	str	r3, [fp, #-28]
.L845:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L846
.L848:
	.word	.L855
	.word	.L854
	.word	.L853
	.word	.L852
	.word	.L851
	.word	.L850
	.word	.L849
	.word	.L847
.L855:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	QRinput_estimateBitsModeNum
	str	r0, [fp, #-20]
	b	.L856
.L854:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	QRinput_estimateBitsModeAn
	str	r0, [fp, #-20]
	b	.L856
.L853:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	QRinput_estimateBitsMode8
	str	r0, [fp, #-20]
	b	.L856
.L852:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	QRinput_estimateBitsModeKanji
	str	r0, [fp, #-20]
	b	.L856
.L851:
	mov	r3, #20
	b	.L857
.L850:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	QRinput_estimateBitsModeECI
	str	r0, [fp, #-20]
	b	.L856
.L849:
	mov	r3, #4
	b	.L857
.L847:
	mov	r3, #12
	b	.L857
.L846:
	mov	r3, #0
	b	.L857
.L856:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L858
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	b	.L859
.L858:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-16]
	mov	r2, #1
	ldr	r3, [fp, #-16]
	lsl	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	ldr	r2, [fp, #-8]
	mul	r3, r2, r3
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
.L859:
	ldr	r3, [fp, #-20]
.L857:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_estimateBitStreamSizeOfEntry, .-QRinput_estimateBitStreamSizeOfEntry
	.align	2
	.global	QRinput_estimateBitsMode8
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_estimateBitsMode8, %function
QRinput_estimateBitsMode8:
	@ 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]
	lsl	r3, r3, #3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_estimateBitsMode8, .-QRinput_estimateBitsMode8
	.align	2
	.global	QRinput_estimateBitsModeAn
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_estimateBitsModeAn, %function
QRinput_estimateBitsModeAn:
	@ 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]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L863
	ldr	r3, [fp, #-12]
	add	r3, r3, #6
	str	r3, [fp, #-12]
.L863:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_estimateBitsModeAn, .-QRinput_estimateBitsModeAn
	.align	2
	.global	QRinput_estimateBitsModeECI
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_estimateBitsModeECI, %function
QRinput_estimateBitsModeECI:
	@ 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	r0, [fp, #-16]
	bl	QRinput_decodeECIfromByteArray
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #127
	bhi	.L866
	mov	r3, #12
	b	.L867
.L866:
	ldr	r3, [fp, #-8]
	cmp	r3, #16384
	bcs	.L868
	mov	r3, #20
	b	.L867
.L868:
	mov	r3, #28
.L867:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_estimateBitsModeECI, .-QRinput_estimateBitsModeECI
	.align	2
	.global	QRinput_estimateBitsModeKanji
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_estimateBitsModeKanji, %function
QRinput_estimateBitsModeKanji:
	@ 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]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_estimateBitsModeKanji, .-QRinput_estimateBitsModeKanji
	.align	2
	.global	QRinput_estimateBitsModeNum
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_estimateBitsModeNum, %function
QRinput_estimateBitsModeNum:
	@ 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	r2, .L876
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	mov	r2, r3
	lsl	r3, r3, #2
	sub	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	cmp	r3, #1
	beq	.L872
	cmp	r3, #2
	beq	.L873
	b	.L874
.L872:
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	str	r3, [fp, #-12]
	b	.L874
.L873:
	ldr	r3, [fp, #-12]
	add	r3, r3, #7
	str	r3, [fp, #-12]
.L874:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L877:
	.align	2
.L876:
	.word	1431655766
	.size	QRinput_estimateBitsModeNum, .-QRinput_estimateBitsModeNum
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_estimateVersion, %function
QRinput_estimateVersion:
	@ 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
	str	r3, [fp, #-16]
.L881:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	QRinput_estimateBitStreamSize
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #7
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	QRspec_getMinimumVersion
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L879
	mvn	r3, #0
	b	.L880
.L879:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L881
	ldr	r3, [fp, #-16]
.L880:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_estimateVersion, .-QRinput_estimateVersion
	.align	2
	.global	QRinput_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_free, %function
QRinput_free:
	@ 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
	beq	.L886
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	b	.L884
.L885:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	QRinput_List_freeEntry
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L884:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L885
	ldr	r0, [fp, #-16]
	bl	free
.L886:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_free, .-QRinput_free
	.align	2
	.global	QRinput_getBitStream
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_getBitStream, %function
QRinput_getBitStream:
	@ 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	r0, [fp, #-16]
	bl	QRinput_mergeBitStream
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L888
	mov	r3, #0
	b	.L889
.L888:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L890
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	QRinput_appendPaddingBitMQR
	str	r0, [fp, #-12]
	b	.L891
.L890:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	QRinput_appendPaddingBit
	str	r0, [fp, #-12]
.L891:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L892
	ldr	r0, [fp, #-8]
	bl	BitStream_free
	mov	r3, #0
	b	.L889
.L892:
	ldr	r3, [fp, #-8]
.L889:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_getBitStream, .-QRinput_getBitStream
	.align	2
	.global	QRinput_getByteStream
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_getByteStream, %function
QRinput_getByteStream:
	@ 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	r0, [fp, #-16]
	bl	QRinput_getBitStream
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L894
	mov	r3, #0
	b	.L895
.L894:
	ldr	r0, [fp, #-12]
	bl	BitStream_toByte
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	BitStream_free
	ldr	r3, [fp, #-8]
.L895:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_getByteStream, .-QRinput_getByteStream
	.align	2
	.global	QRinput_getErrorCorrectionLevel
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_getErrorCorrectionLevel, %function
QRinput_getErrorCorrectionLevel:
	@ 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, #4]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_getErrorCorrectionLevel, .-QRinput_getErrorCorrectionLevel
	.align	2
	.global	QRinput_getVersion
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_getVersion, %function
QRinput_getVersion:
	@ 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]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_getVersion, .-QRinput_getVersion
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_insertFNC1Header, %function
QRinput_insertFNC1Header:
	@ 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
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #1
	bne	.L901
	mov	r2, #0
	mov	r1, #0
	mov	r0, #6
	bl	QRinput_List_newEntry
	str	r0, [fp, #-8]
	b	.L902
.L901:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #2
	bne	.L902
	ldr	r3, [fp, #-16]
	add	r3, r3, #24
	mov	r2, r3
	mov	r1, #1
	mov	r0, #7
	bl	QRinput_List_newEntry
	str	r0, [fp, #-8]
.L902:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L903
	mvn	r3, #0
	b	.L904
.L903:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L905
	mov	r3, #1
	strb	r3, [fp, #-9]
	b	.L906
.L905:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	cmp	r3, #5
	movne	r3, #1
	moveq	r3, #0
	strb	r3, [fp, #-9]
.L906:
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L907
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	b	.L908
.L907:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #16]
.L908:
	mov	r3, #0
.L904:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_insertFNC1Header, .-QRinput_insertFNC1Header
	.section	.rodata
	.align	2
.LC4:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	QRinput_insertStructuredAppendHeader
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_insertStructuredAppendHeader, %function
QRinput_insertStructuredAppendHeader:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	strb	r3, [fp, #-41]
	ldr	r3, .L917
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	cmp	r3, #16
	ble	.L910
	bl	__errno_location
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
	b	.L915
.L910:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	ble	.L912
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bge	.L913
.L912:
	bl	__errno_location
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
	b	.L915
.L913:
	ldr	r3, [fp, #-36]
	and	r3, r3, #255
	strb	r3, [fp, #-12]
	ldr	r3, [fp, #-40]
	and	r3, r3, #255
	strb	r3, [fp, #-11]
	ldrb	r3, [fp, #-41]
	strb	r3, [fp, #-10]
	sub	r3, fp, #12
	mov	r2, r3
	mov	r1, #3
	mov	r0, #4
	bl	QRinput_List_newEntry
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L914
	mvn	r3, #0
	b	.L915
.L914:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	mov	r3, #0
.L915:
	ldr	r2, .L917
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L916
	bl	__stack_chk_fail
.L916:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L918:
	.align	2
.L917:
	.word	.LC4
	.size	QRinput_insertStructuredAppendHeader, .-QRinput_insertStructuredAppendHeader
	.align	2
	.global	QRinput_isSplittableMode
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_isSplittableMode, %function
QRinput_isSplittableMode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L920
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bgt	.L920
	mov	r3, #1
	b	.L922
.L920:
	mov	r3, #0
.L922:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	QRinput_isSplittableMode, .-QRinput_isSplittableMode
	.align	2
	.global	QRinput_lengthOfCode
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_lengthOfCode, %function
QRinput_lengthOfCode:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-40]
	sub	r2, r3, #4
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L924
.L926:
	.word	.L930
	.word	.L929
	.word	.L928
	.word	.L927
	.word	.L925
.L930:
	ldr	r3, [fp, #-20]
	ldr	r2, .L940
	smull	r1, r2, r3, r2
	asr	r2, r2, #2
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #29
	sub	r3, r3, r2
	lsl	r3, r3, #2
	sub	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r3, #6
	ble	.L931
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	str	r3, [fp, #-28]
	b	.L938
.L931:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	ble	.L938
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L938
.L929:
	ldr	r3, [fp, #-20]
	ldr	r2, .L940+4
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #28
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-12]
	cmp	r3, #5
	ble	.L939
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L939
.L928:
	ldr	r3, [fp, #-20]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-28]
	b	.L933
.L927:
	ldr	r3, [fp, #-20]
	ldr	r2, .L940+8
	smull	r1, r2, r3, r2
	asr	r2, r2, #2
	asr	r3, r3, #31
	sub	r3, r2, r3
	lsl	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L933
.L925:
	ldr	r3, [fp, #-20]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-28]
	b	.L933
.L924:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L933
.L938:
	nop
	b	.L933
.L939:
	nop
.L933:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRspec_maximumWords
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bge	.L935
	mov	r3, #0
	str	r3, [fp, #-28]
.L935:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L936
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bge	.L936
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-28]
.L936:
	ldr	r3, [fp, #-28]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L941:
	.align	2
.L940:
	.word	1717986919
	.word	780903145
	.word	1321528399
	.size	QRinput_lengthOfCode, .-QRinput_lengthOfCode
	.align	2
	.global	QRinput_mergeBitStream
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_mergeBitStream, %function
QRinput_mergeBitStream:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L943
	ldr	r0, [fp, #-32]
	bl	QRinput_createBitStream
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L944
	mov	r3, #0
	b	.L945
.L943:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L946
	ldr	r0, [fp, #-32]
	bl	QRinput_insertFNC1Header
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L946
	mov	r3, #0
	b	.L945
.L946:
	ldr	r0, [fp, #-32]
	bl	QRinput_convertData
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L944
	mov	r3, #0
	b	.L945
.L944:
	bl	BitStream_new
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L947
	mov	r3, #0
	b	.L945
.L947:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-28]
	b	.L948
.L950:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #12]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	BitStream_append
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L949
	ldr	r0, [fp, #-12]
	bl	BitStream_free
	mov	r3, #0
	b	.L945
.L949:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-28]
.L948:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L950
	ldr	r3, [fp, #-12]
.L945:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_mergeBitStream, .-QRinput_mergeBitStream
	.align	2
	.global	QRinput_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_new, %function
QRinput_new:
	@ 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	r1, #0
	mov	r0, #0
	bl	QRinput_new2
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_new, .-QRinput_new
	.align	2
	.global	QRinput_new2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_new2, %function
QRinput_new2:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #40
	bgt	.L954
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bgt	.L954
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L955
.L954:
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L956
.L955:
	mov	r0, #28
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L957
	mov	r3, #0
	b	.L956
.L957:
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #4]
	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]
.L956:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_new2, .-QRinput_new2
	.align	2
	.global	QRinput_newMQR
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_newMQR, %function
QRinput_newMQR:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #4
	bgt	.L963
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L963
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	MQRspec_getECCLength
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L964
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	QRinput_new2
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L961
	mov	r3, #0
	b	.L962
.L961:
	ldr	r3, [fp, #-12]
	mov	r2, #1
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	b	.L962
.L963:
	nop
	b	.L959
.L964:
	nop
.L959:
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
.L962:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_newMQR, .-QRinput_newMQR
	.align	2
	.global	QRinput_setErrorCorrectionLevel
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_setErrorCorrectionLevel, %function
QRinput_setErrorCorrectionLevel:
	@ 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, #-20]
	cmp	r3, #3
	bgt	.L966
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L967
.L966:
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
	b	.L968
.L967:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	mov	r3, #0
.L968:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_setErrorCorrectionLevel, .-QRinput_setErrorCorrectionLevel
	.align	2
	.global	QRinput_setFNC1First
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_setFNC1First, %function
QRinput_setFNC1First:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L970
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
	b	.L971
.L970:
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #20]
	mov	r3, #0
.L971:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_setFNC1First, .-QRinput_setFNC1First
	.align	2
	.global	QRinput_setFNC1Second
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_setFNC1Second, %function
QRinput_setFNC1Second:
	@ 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, r1
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L973
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
	b	.L974
.L973:
	ldr	r3, [fp, #-16]
	mov	r2, #2
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldrb	r2, [fp, #-17]
	strb	r2, [r3, #24]
	mov	r3, #0
.L974:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_setFNC1Second, .-QRinput_setFNC1Second
	.align	2
	.global	QRinput_setVersion
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_setVersion, %function
QRinput_setVersion:
	@ 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, #-20]
	cmp	r3, #40
	bgt	.L976
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L976
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L977
.L976:
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
	b	.L978
.L977:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	mov	r3, #0
.L978:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_setVersion, .-QRinput_setVersion
	.align	2
	.global	QRinput_setVersionAndErrorCorrectionLevel
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_setVersionAndErrorCorrectionLevel, %function
QRinput_setVersionAndErrorCorrectionLevel:
	@ 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, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L980
	ldr	r3, [fp, #-20]
	cmp	r3, #4
	bgt	.L988
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L988
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	MQRspec_getECCLength
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L984
	b	.L983
.L980:
	ldr	r3, [fp, #-20]
	cmp	r3, #40
	bgt	.L989
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L989
	ldr	r3, [fp, #-24]
	cmp	r3, #3
	bgt	.L990
.L984:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	mov	r3, #0
	b	.L987
.L988:
	nop
	b	.L983
.L989:
	nop
	b	.L983
.L990:
	nop
.L983:
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
.L987:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_setVersionAndErrorCorrectionLevel, .-QRinput_setVersionAndErrorCorrectionLevel
	.align	2
	.global	QRinput_splitEntry
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_splitEntry, %function
QRinput_splitEntry:
	@ 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]
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	sub	r1, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, r3
	bl	QRinput_List_newEntry
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L992
	mvn	r3, #0
	b	.L993
.L992:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	QRinput_List_shrinkEntry
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L994
	ldr	r0, [fp, #-12]
	bl	QRinput_List_freeEntry
	mvn	r3, #0
	b	.L993
.L994:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #16]
	mov	r3, #0
.L993:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_splitEntry, .-QRinput_splitEntry
	.align	2
	.global	QRinput_splitQRinputToStruct
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRinput_splitQRinputToStruct, %function
QRinput_splitQRinputToStruct:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L996
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mov	r3, #0
	b	.L997
.L996:
	bl	QRinput_Struct_new
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L998
	mov	r3, #0
	b	.L997
.L998:
	ldr	r0, [fp, #-64]
	bl	QRinput_dup
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L999
	ldr	r0, [fp, #-44]
	bl	QRinput_Struct_free
	mov	r3, #0
	b	.L997
.L999:
	ldr	r0, [fp, #-64]
	bl	QRinput_calcParity
	mov	r3, r0
	strb	r3, [fp, #-57]
	ldrb	r3, [fp, #-57]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-44]
	bl	QRinput_Struct_setParity
	ldr	r3, [fp, #-64]
	ldr	r2, [r3]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	QRspec_getDataLength
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	sub	r3, r3, #20
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bgt	.L1000
	ldr	r0, [fp, #-44]
	bl	QRinput_Struct_free
	ldr	r0, [fp, #-64]
	bl	QRinput_free
	mov	r3, #0
	b	.L997
.L1000:
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L1001
.L1010:
	ldr	r3, [fp, #-64]
	ldr	r1, [r3]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r0, [fp, #-52]
	bl	QRinput_estimateBitStreamSizeOfEntry
	str	r0, [fp, #-24]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L1002
	ldr	r3, [fp, #-64]
	ldr	r1, [r3]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r0, [fp, #-52]
	bl	QRinput_encodeBitStream
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	blt	.L1013
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-52]
	b	.L1001
.L1002:
	ldr	r3, [fp, #-52]
	ldr	r0, [r3]
	ldr	r3, [fp, #-64]
	ldr	r1, [r3]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	mov	r2, r3
	bl	QRinput_lengthOfCode
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-64]
	ldr	r2, [r3]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r0, r2
	bl	QRinput_new2
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1014
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L1006
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-52]
	bl	QRinput_splitEntry
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L1007
	ldr	r0, [fp, #-16]
	bl	QRinput_free
	b	.L1004
.L1007:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-52]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-52]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-52]
	b	.L1008
.L1006:
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-52]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-48]
	str	r2, [r3, #12]
.L1008:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-44]
	bl	QRinput_Struct_appendInput
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L1009
	ldr	r0, [fp, #-16]
	bl	QRinput_free
	b	.L1004
.L1009:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-56]
.L1001:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1010
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-44]
	bl	QRinput_Struct_appendInput
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	blt	.L1015
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	cmp	r3, #16
	ble	.L1011
	ldr	r0, [fp, #-44]
	bl	QRinput_Struct_free
	bl	__errno_location
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, #34
	str	r2, [r3]
	mov	r3, #0
	b	.L997
.L1011:
	ldr	r0, [fp, #-44]
	bl	QRinput_Struct_insertStructuredAppendHeaders
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L1012
	ldr	r0, [fp, #-44]
	bl	QRinput_Struct_free
	mov	r3, #0
	b	.L997
.L1012:
	ldr	r3, [fp, #-44]
	b	.L997
.L1013:
	nop
	b	.L1004
.L1014:
	nop
	b	.L1004
.L1015:
	nop
.L1004:
	ldr	r0, [fp, #-64]
	bl	QRinput_free
	ldr	r0, [fp, #-44]
	bl	QRinput_Struct_free
	mov	r3, #0
.L997:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRinput_splitQRinputToStruct, .-QRinput_splitQRinputToStruct
	.align	2
	.global	QRraw_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRraw_free, %function
QRraw_free:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1018
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
.L1018:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRraw_free, .-QRraw_free
	.global	__aeabi_idivmod
	.align	2
	.global	QRraw_getCode
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRraw_getCode, %function
QRraw_getCode:
	@ 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]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L1020
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idivmod
	mov	r3, r1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L1021
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
.L1021:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	b	.L1022
.L1020:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r3, r1, r3
	cmp	r2, r3
	bge	.L1023
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	sub	r2, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idivmod
	mov	r3, r1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	sub	r2, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	b	.L1022
.L1023:
	mov	r3, #0
	b	.L1024
.L1022:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #32]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
.L1024:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	QRraw_getCode, .-QRraw_getCode
	.section	.rodata
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	QRraw_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRraw_new, %function
QRraw_new:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	ldr	r3, .L1034
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r0, #36
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L1026
	mov	r3, #0
	b	.L1032
.L1026:
	ldr	r0, [fp, #-56]
	bl	QRinput_getByteStream
	mov	r2, r0
	ldr	r3, [fp, #-44]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1028
	ldr	r0, [fp, #-44]
	bl	free
	mov	r3, #0
	b	.L1032
.L1028:
	ldr	r3, [fp, #-56]
	ldr	r0, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	sub	r2, fp, #28
	mov	r1, r3
	bl	QRspec_getEccSpec
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	str	r2, [r3]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	mul	r2, r3, r2
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-12]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	str	r2, [r3, #4]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	mul	r2, r3, r2
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L1029
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-44]
	bl	free
	mov	r3, #0
	b	.L1032
.L1029:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #24]
	mov	r1, #16
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L1030
	ldr	r0, [fp, #-44]
	bl	QRraw_free
	mov	r3, #0
	b	.L1032
.L1030:
	ldr	r3, [fp, #-44]
	ldr	r0, [r3, #28]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #16]
	sub	r1, fp, #28
	bl	RSblock_init
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L1031
	ldr	r0, [fp, #-44]
	bl	QRraw_free
	mov	r3, #0
	b	.L1032
.L1031:
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-44]
.L1032:
	ldr	r2, .L1034
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1033
	bl	__stack_chk_fail
.L1033:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1035:
	.align	2
.L1034:
	.word	.LC5
	.size	QRraw_new, .-QRraw_new
	.align	2
	.global	QRspec_clearCache
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_clearCache, %function
QRspec_clearCache:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r0, .L1039
	bl	pthread_mutex_lock
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L1037
.L1038:
	ldr	r2, .L1039+4
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	free
	ldr	r2, .L1039+4
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1037:
	ldr	r3, [fp, #-8]
	cmp	r3, #40
	ble	.L1038
	ldr	r0, .L1039
	bl	pthread_mutex_unlock
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1040:
	.align	2
.L1039:
	.word	frames_mutex
	.word	frames
	.size	QRspec_clearCache, .-QRspec_clearCache
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_createFrame, %function
QRspec_createFrame:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r1, .L1061
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1042
	mov	r3, #0
	b	.L1043
.L1042:
	ldr	r3, [fp, #-20]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	memset
	mov	r3, #0
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-12]
	bl	putFinderPattern
	ldr	r3, [fp, #-20]
	sub	r2, r3, #7
	mov	r3, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-12]
	bl	putFinderPattern
	ldr	r3, [fp, #-20]
	sub	r3, r3, #7
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-12]
	bl	putFinderPattern
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #7
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1044
.L1045:
	ldr	r3, [fp, #-40]
	add	r3, r3, #7
	mvn	r2, #63
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #8
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	mvn	r2, #63
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #7
	mvn	r2, #63
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1044:
	ldr	r3, [fp, #-28]
	cmp	r3, #6
	ble	.L1045
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	mov	r2, #8
	mov	r1, #192
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	sub	r3, r3, #8
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	mov	r2, #8
	mov	r1, #192
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-20]
	sub	r3, r3, #8
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	mov	r2, #8
	mov	r1, #192
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	mov	r2, #9
	mov	r1, #132
	mov	r0, r3
	bl	memset
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r3, r3, #8
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	mov	r2, #8
	mov	r1, #132
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1046
.L1047:
	ldr	r3, [fp, #-40]
	mvn	r2, #123
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1046:
	ldr	r3, [fp, #-28]
	cmp	r3, #7
	ble	.L1047
	ldr	r3, [fp, #-20]
	sub	r3, r3, #7
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	add	r3, r3, #8
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1048
.L1049:
	ldr	r3, [fp, #-40]
	mvn	r2, #123
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1048:
	ldr	r3, [fp, #-28]
	cmp	r3, #6
	ble	.L1049
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, #8
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r3, #6
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L1050
.L1051:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	and	r3, r3, #111
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-40]
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	and	r3, r3, #111
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-36]
	strb	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1050:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #15
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L1051
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-48]
	bl	QRspec_putAlignmentPattern
	ldr	r3, [fp, #-48]
	cmp	r3, #6
	ble	.L1052
	ldr	r0, [fp, #-48]
	bl	QRspec_getVersionPattern
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #11
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1053
.L1056:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1054
.L1055:
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	and	r3, r3, #1
	and	r3, r3, #255
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-28]
	mul	r1, r2, r1
	ldr	r2, [fp, #-32]
	add	r2, r1, r2
	mov	r1, r2
	ldr	r2, [fp, #-40]
	add	r2, r2, r1
	mvn	r3, r3
	and	r3, r3, #119
	mvn	r3, r3
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1054:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	ble	.L1055
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1053:
	ldr	r3, [fp, #-32]
	cmp	r3, #5
	ble	.L1056
	ldr	r3, [fp, #-20]
	sub	r3, r3, #11
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1057
.L1060:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1058
.L1059:
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	and	r3, r3, #1
	and	r3, r3, #255
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-40]
	add	r2, r1, r2
	mvn	r3, r3
	and	r3, r3, #119
	mvn	r3, r3
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1058:
	ldr	r3, [fp, #-32]
	cmp	r3, #2
	ble	.L1059
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1057:
	ldr	r3, [fp, #-28]
	cmp	r3, #5
	ble	.L1060
.L1052:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #8
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	add	r3, r3, #8
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	mvn	r2, #126
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
.L1043:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1062:
	.align	2
.L1061:
	.word	qrspecCapacity
	.size	QRspec_createFrame, .-QRspec_createFrame
	.align	2
	.global	QRspec_getDataLength
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_getDataLength, %function
QRspec_getDataLength:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, .L1065
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r0, [fp, #-12]
	ldr	ip, .L1065
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	add	r3, r3, r0
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, ip, r3
	ldr	r3, [r3, #4]
	sub	r3, r1, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1066:
	.align	2
.L1065:
	.word	qrspecCapacity
	.size	QRspec_getDataLength, .-QRspec_getDataLength
	.align	2
	.global	QRspec_getECCLength
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_getECCLength, %function
QRspec_getECCLength:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, .L1069
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	add	r3, r3, r1
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1070:
	.align	2
.L1069:
	.word	qrspecCapacity
	.size	QRspec_getECCLength, .-QRspec_getECCLength
	.align	2
	.global	QRspec_getEccSpec
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_getEccSpec, %function
QRspec_getEccSpec:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1075
	ldr	r2, [fp, #-32]
	lsl	r2, r2, #2
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	ldr	r1, .L1075
	ldr	r2, [fp, #-32]
	lsl	r2, r2, #2
	add	r3, r2, r3
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRspec_getDataLength
	str	r0, [fp, #-20]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	QRspec_getECCLength
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1072
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r4, r3, #4
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-20]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-40]
	add	r4, r3, #8
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-16]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #12
	ldr	r2, [fp, #-40]
	ldr	r2, [r2, #16]
	str	r2, [r3]
	b	.L1074
.L1072:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, #4
	mov	r1, r2
	ldr	r0, [fp, #-20]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [r4]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, #8
	mov	r1, r2
	ldr	r0, [fp, #-16]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #12
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	add	r2, r2, #1
	str	r2, [r3]
.L1074:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1076:
	.align	2
.L1075:
	.word	eccTable
	.size	QRspec_getEccSpec, .-QRspec_getEccSpec
	.align	2
	.global	QRspec_getFormatInfo
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_getFormatInfo, %function
QRspec_getFormatInfo:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	bgt	.L1078
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1079
.L1078:
	mov	r3, #0
	b	.L1080
.L1079:
	ldr	r3, [fp, #-12]
	ldr	r1, .L1081
	lsl	r2, r3, #3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]
.L1080:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1082:
	.align	2
.L1081:
	.word	formatInfo
	.size	QRspec_getFormatInfo, .-QRspec_getFormatInfo
	.align	2
	.global	QRspec_getMinimumVersion
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_getMinimumVersion, %function
QRspec_getMinimumVersion:
	@ 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]
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L1084
.L1087:
	ldr	r1, .L1088
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r0, [fp, #-20]
	ldr	ip, .L1088
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	add	r3, r3, r0
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, ip, r3
	ldr	r3, [r3, #4]
	sub	r3, r1, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L1085
	ldr	r3, [fp, #-12]
	b	.L1086
.L1085:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1084:
	ldr	r3, [fp, #-12]
	cmp	r3, #40
	ble	.L1087
	mvn	r3, #0
.L1086:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1089:
	.align	2
.L1088:
	.word	qrspecCapacity
	.size	QRspec_getMinimumVersion, .-QRspec_getMinimumVersion
	.align	2
	.global	QRspec_getRemainder
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_getRemainder, %function
QRspec_getRemainder:
	@ 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	r1, .L1092
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1093:
	.align	2
.L1092:
	.word	qrspecCapacity
	.size	QRspec_getRemainder, .-QRspec_getRemainder
	.align	2
	.global	QRspec_getVersionPattern
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_getVersionPattern, %function
QRspec_getVersionPattern:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #40
	bgt	.L1095
	ldr	r3, [fp, #-8]
	cmp	r3, #6
	bgt	.L1096
.L1095:
	mov	r3, #0
	b	.L1097
.L1096:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #7
	ldr	r2, .L1098
	ldr	r3, [r2, r3, lsl #2]
.L1097:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1099:
	.align	2
.L1098:
	.word	versionPattern
	.size	QRspec_getVersionPattern, .-QRspec_getVersionPattern
	.align	2
	.global	QRspec_getWidth
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_getWidth, %function
QRspec_getWidth:
	@ 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	r1, .L1102
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1103:
	.align	2
.L1102:
	.word	qrspecCapacity
	.size	QRspec_getWidth, .-QRspec_getWidth
	.align	2
	.global	QRspec_lengthIndicator
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_lengthIndicator, %function
QRspec_lengthIndicator:
	@ 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	r0, [fp, #-16]
	bl	QRinput_isSplittableMode
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1105
	mov	r3, #0
	b	.L1106
.L1105:
	ldr	r3, [fp, #-20]
	cmp	r3, #9
	bgt	.L1107
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1108
.L1107:
	ldr	r3, [fp, #-20]
	cmp	r3, #26
	bgt	.L1109
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L1108
.L1109:
	mov	r3, #2
	str	r3, [fp, #-12]
.L1108:
	ldr	r1, .L1110
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	ldr	r2, [fp, #-12]
	add	r3, r3, r2
	ldr	r3, [r1, r3, lsl #2]
.L1106:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1111:
	.align	2
.L1110:
	.word	lengthTableBits
	.size	QRspec_lengthIndicator, .-QRspec_lengthIndicator
	.align	2
	.global	QRspec_maximumWords
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_maximumWords, %function
QRspec_maximumWords:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	QRinput_isSplittableMode
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1113
	mov	r3, #0
	b	.L1114
.L1113:
	ldr	r3, [fp, #-28]
	cmp	r3, #9
	bgt	.L1115
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1116
.L1115:
	ldr	r3, [fp, #-28]
	cmp	r3, #26
	bgt	.L1117
	mov	r3, #1
	str	r3, [fp, #-20]
	b	.L1116
.L1117:
	mov	r3, #2
	str	r3, [fp, #-20]
.L1116:
	ldr	r1, .L1119
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	ldr	r2, [fp, #-20]
	add	r3, r3, r2
	ldr	r3, [r1, r3, lsl #2]
	str	r3, [fp, #-8]
	mov	r2, #1
	ldr	r3, [fp, #-8]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r3, #3
	bne	.L1118
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	str	r3, [fp, #-16]
.L1118:
	ldr	r3, [fp, #-16]
.L1114:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1120:
	.align	2
.L1119:
	.word	lengthTableBits
	.size	QRspec_maximumWords, .-QRspec_maximumWords
	.align	2
	.global	QRspec_newFrame
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_newFrame, %function
QRspec_newFrame:
	@ 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, #40
	bgt	.L1122
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bgt	.L1123
.L1122:
	mov	r3, #0
	b	.L1124
.L1123:
	ldr	r0, .L1128
	bl	pthread_mutex_lock
	ldr	r2, .L1128+4
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L1125
	ldr	r0, [fp, #-24]
	bl	QRspec_createFrame
	mov	r2, r0
	ldr	r1, .L1128+4
	ldr	r3, [fp, #-24]
	str	r2, [r1, r3, lsl #2]
.L1125:
	ldr	r0, .L1128
	bl	pthread_mutex_unlock
	ldr	r2, .L1128+4
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L1126
	mov	r3, #0
	b	.L1124
.L1126:
	ldr	r1, .L1128+8
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1127
	mov	r3, #0
	b	.L1124
.L1127:
	ldr	r2, .L1128+4
	ldr	r3, [fp, #-24]
	ldr	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r2, r3
	ldr	r0, [fp, #-8]
	bl	memcpy
	ldr	r3, [fp, #-8]
.L1124:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1129:
	.align	2
.L1128:
	.word	frames_mutex
	.word	frames
	.word	qrspecCapacity
	.size	QRspec_newFrame, .-QRspec_newFrame
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_putAlignmentMarker, %function
QRspec_putAlignmentMarker:
	@ 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	r3, [fp, #-36]
	sub	r3, r3, #2
	ldr	r2, [fp, #-28]
	mul	r2, r3, r2
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	sub	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, .L1135
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1131
.L1134:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1132
.L1133:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1132:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	ble	.L1133
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r3, #5
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1131:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	ble	.L1134
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1136:
	.align	2
.L1135:
	.word	finder.6466
	.size	QRspec_putAlignmentMarker, .-QRspec_putAlignmentMarker
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	QRspec_putAlignmentPattern, %function
QRspec_putAlignmentPattern:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	ble	.L1148
	ldr	r2, .L1149
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r1, .L1149
	ldr	r3, [fp, #-32]
	ldr	r3, [r1, r3, lsl #3]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1139
	mov	r3, #2
	str	r3, [fp, #-28]
	b	.L1140
.L1139:
	ldr	r2, .L1149
	ldr	r3, [fp, #-32]
	ldr	r3, [r2, r3, lsl #3]
	ldr	r2, [fp, #-40]
	sub	r3, r2, r3
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	add	r3, r3, #2
	str	r3, [fp, #-28]
.L1140:
	ldr	r3, [fp, #-28]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	cmp	r3, #4
	bne	.L1141
	ldr	r2, .L1149
	ldr	r3, [fp, #-32]
	ldr	r3, [r2, r3, lsl #3]
	str	r3, [fp, #-24]
	ldr	r2, .L1149
	ldr	r3, [fp, #-32]
	ldr	r3, [r2, r3, lsl #3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-36]
	bl	QRspec_putAlignmentMarker
	b	.L1148
.L1141:
	ldr	r2, .L1149
	ldr	r3, [fp, #-32]
	ldr	r3, [r2, r3, lsl #3]
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L1142
.L1143:
	ldr	r3, [fp, #-16]
	mov	r2, #6
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-36]
	bl	QRspec_putAlignmentMarker
	mov	r3, #6
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-36]
	bl	QRspec_putAlignmentMarker
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L1142:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L1143
	ldr	r2, .L1149
	ldr	r3, [fp, #-32]
	ldr	r3, [r2, r3, lsl #3]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1144
.L1147:
	ldr	r2, .L1149
	ldr	r3, [fp, #-32]
	ldr	r3, [r2, r3, lsl #3]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L1145
.L1146:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-36]
	bl	QRspec_putAlignmentMarker
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L1145:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L1146
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1144:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L1147
.L1148:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1150:
	.align	2
.L1149:
	.word	alignmentPattern
	.size	QRspec_putAlignmentPattern, .-QRspec_putAlignmentPattern
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	RSblock_init, %function
RSblock_init:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	rsb	r2, r3, #255
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [sp, #4]
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, #1
	mov	r2, #0
	ldr	r1, .L1160
	mov	r0, #8
	bl	init_rs
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1152
	mvn	r3, #0
	b	.L1153
.L1152:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1154
.L1155:
	ldr	r3, [fp, #-8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-28]
	bl	RSblock_initBlock
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r3, r3, #16
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1154:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L1155
	ldr	r3, [fp, #-44]
	add	r3, r3, #12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1156
	mov	r3, #0
	b	.L1153
.L1156:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	rsb	r2, r3, #255
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [sp, #4]
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, #1
	mov	r2, #0
	ldr	r1, .L1160
	mov	r0, #8
	bl	init_rs
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1157
	mvn	r3, #0
	b	.L1153
.L1157:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1158
.L1159:
	ldr	r3, [fp, #-8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-28]
	bl	RSblock_initBlock
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r3, r3, #16
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1158:
	ldr	r3, [fp, #-44]
	add	r3, r3, #12
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L1159
	mov	r3, #0
.L1153:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1161:
	.align	2
.L1160:
	.word	285
	.size	RSblock_init, .-RSblock_init
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	RSblock_initBlock, %function
RSblock_initBlock:
	@ args = 8, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #4]
	str	r2, [r3, #12]
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #8]
	bl	encode_rs_char
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	RSblock_initBlock, .-RSblock_initBlock
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Split_eat8, %function
Split_eat8:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #1
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #0
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #2
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-80]
	b	.L1164
.L1180:
	ldr	r1, [fp, #-96]
	ldr	r0, [fp, #-80]
	bl	Split_identifyMode
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #3
	beq	.L1184
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L1167
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-76]
	nop
	ldr	r1, [fp, #-96]
	ldr	r0, [fp, #-76]
	bl	Split_identifyMode
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L1168
	ldr	r3, [fp, #-56]
	add	r3, r3, #4
	str	r3, [fp, #-72]
	b	.L1169
.L1168:
	mov	r3, #0
	str	r3, [fp, #-72]
.L1169:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	mov	r0, r3
	bl	QRinput_estimateBitsMode8
	str	r0, [fp, #-24]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-80]
	sub	r3, r2, r3
	mov	r0, r3
	bl	QRinput_estimateBitsModeNum
	str	r0, [fp, #-20]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	mov	r0, r3
	bl	QRinput_estimateBitsMode8
	str	r0, [fp, #-16]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	add	r2, r3, #4
	ldr	r3, [fp, #-60]
	add	r2, r2, r3
	ldr	r3, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	blt	.L1185
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-80]
	b	.L1164
.L1167:
	ldr	r3, [fp, #-52]
	cmp	r3, #1
	bne	.L1171
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-76]
.L1176:
	ldr	r3, [fp, #-76]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L1172
	mvn	r3, #0
	str	r3, [fp, #-68]
	b	.L1173
.L1172:
	ldr	r3, [fp, #-76]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L1188
	ldrsb	r3, [r3, r2]
	str	r3, [fp, #-68]
.L1173:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	blt	.L1186
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
	b	.L1176
.L1186:
	nop
	ldr	r1, [fp, #-96]
	ldr	r0, [fp, #-76]
	bl	Split_identifyMode
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	bne	.L1177
	ldr	r3, [fp, #-56]
	add	r3, r3, #4
	str	r3, [fp, #-72]
	b	.L1178
.L1177:
	mov	r3, #0
	str	r3, [fp, #-72]
.L1178:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	mov	r0, r3
	bl	QRinput_estimateBitsMode8
	str	r0, [fp, #-44]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-80]
	sub	r3, r2, r3
	mov	r0, r3
	bl	QRinput_estimateBitsModeAn
	str	r0, [fp, #-40]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	mov	r0, r3
	bl	QRinput_estimateBitsMode8
	str	r0, [fp, #-36]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	add	r2, r3, #4
	ldr	r3, [fp, #-64]
	add	r2, r2, r3
	ldr	r3, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	blt	.L1187
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-80]
	b	.L1164
.L1171:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L1164:
	ldr	r3, [fp, #-80]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1180
	b	.L1166
.L1184:
	nop
	b	.L1166
.L1185:
	nop
	b	.L1166
.L1187:
	nop
.L1166:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-88]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-12]
	mov	r1, #2
	ldr	r0, [fp, #-92]
	bl	QRinput_append
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1181
	mvn	r3, #0
	b	.L1182
.L1181:
	ldr	r3, [fp, #-12]
.L1182:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1189:
	.align	2
.L1188:
	.word	QRinput_anTable
	.size	Split_eat8, .-Split_eat8
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Split_eatAn, %function
Split_eatAn:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #1
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #0
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-36]
.L1195:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L1191
	mvn	r3, #0
	str	r3, [fp, #-44]
	b	.L1192
.L1191:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L1203
	ldrsb	r3, [r3, r2]
	str	r3, [fp, #-44]
.L1192:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	blt	.L1202
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1195
.L1202:
	nop
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1196
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L1197
	mvn	r3, #0
	str	r3, [fp, #-40]
	b	.L1198
.L1197:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L1203
	ldrsb	r3, [r3, r2]
	str	r3, [fp, #-40]
.L1198:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bge	.L1196
	ldr	r0, [fp, #-32]
	bl	QRinput_estimateBitsModeAn
	str	r0, [fp, #-28]
	mov	r0, #1
	bl	QRinput_estimateBitsMode8
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	mov	r0, r3
	bl	QRinput_estimateBitsMode8
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r2, r3, #4
	ldr	r3, [fp, #-52]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L1196
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	Split_eat8
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	b	.L1199
.L1196:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-60]
	bl	QRinput_append
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1200
	mvn	r3, #0
	b	.L1199
.L1200:
	ldr	r3, [fp, #-32]
.L1199:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1204:
	.align	2
.L1203:
	.word	QRinput_anTable
	.size	Split_eatAn, .-Split_eatAn
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Split_eatKanji, %function
Split_eatKanji:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
.L1208:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-20]
	bl	Split_identifyMode
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L1212
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	str	r3, [fp, #-20]
	b	.L1208
.L1212:
	nop
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	mov	r1, #3
	ldr	r0, [fp, #-28]
	bl	QRinput_append
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1209
	mvn	r3, #0
	b	.L1210
.L1209:
	ldr	r3, [fp, #-12]
.L1210:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Split_eatKanji, .-Split_eatKanji
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Split_eatNum, %function
Split_eatNum:
	@ args = 0, 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]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #0
	bl	QRspec_lengthIndicator
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-56]
	nop
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	sub	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-56]
	bl	Split_identifyMode
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	bne	.L1214
	ldr	r0, [fp, #-52]
	bl	QRinput_estimateBitsModeNum
	str	r0, [fp, #-44]
	mov	r0, #1
	bl	QRinput_estimateBitsMode8
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	mov	r0, r3
	bl	QRinput_estimateBitsMode8
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-44]
	add	r2, r3, #4
	ldr	r3, [fp, #-60]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	ble	.L1214
	ldr	r2, [fp, #-72]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	Split_eat8
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	b	.L1215
.L1214:
	ldr	r3, [fp, #-48]
	cmp	r3, #1
	bne	.L1216
	ldr	r0, [fp, #-52]
	bl	QRinput_estimateBitsModeNum
	str	r0, [fp, #-24]
	mov	r0, #1
	bl	QRinput_estimateBitsModeAn
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	mov	r0, r3
	bl	QRinput_estimateBitsModeAn
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	ldr	r3, [fp, #-60]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	ble	.L1216
	ldr	r2, [fp, #-72]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	Split_eatAn
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	b	.L1215
.L1216:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-52]
	mov	r1, #0
	ldr	r0, [fp, #-68]
	bl	QRinput_append
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1217
	mvn	r3, #0
	b	.L1215
.L1217:
	ldr	r3, [fp, #-52]
.L1215:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Split_eatNum, .-Split_eatNum
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Split_identifyMode, %function
Split_identifyMode:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]
	strb	r3, [fp, #-14]
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1219
	mvn	r3, #0
	b	.L1220
.L1219:
	ldrsb	r3, [fp, #-14]
	cmp	r3, #0
	bge	.L1221
	mvn	r3, #0
	str	r3, [fp, #-12]
	b	.L1222
.L1221:
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	ldr	r2, .L1227
	ldrsb	r3, [r2, r3]
	str	r3, [fp, #-12]
.L1222:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L1223
	mov	r3, #1
	b	.L1220
.L1223:
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bne	.L1224
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1224
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	lsl	r2, r3, #8
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L1227+4
	cmp	r3, r2
	bls	.L1225
	ldr	r3, [fp, #-8]
	ldr	r2, .L1227+8
	cmp	r3, r2
	bls	.L1226
.L1225:
	ldr	r3, [fp, #-8]
	ldr	r2, .L1227+12
	cmp	r3, r2
	bls	.L1224
	ldr	r3, [fp, #-8]
	ldr	r2, .L1227+16
	cmp	r3, r2
	bhi	.L1224
.L1226:
	mov	r3, #3
	b	.L1220
.L1224:
	mov	r3, #2
.L1220:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1228:
	.align	2
.L1227:
	.word	QRinput_anTable
	.word	33087
	.word	40956
	.word	57407
	.word	60351
	.size	Split_identifyMode, .-Split_identifyMode
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Split_splitString, %function
Split_splitString:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1230
	mov	r3, #0
	b	.L1231
.L1230:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	Split_identifyMode
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1232
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Split_eatNum
	str	r0, [fp, #-16]
	b	.L1233
.L1232:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L1234
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Split_eatAn
	str	r0, [fp, #-16]
	b	.L1233
.L1234:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bne	.L1235
	ldr	r3, [fp, #-32]
	cmp	r3, #3
	bne	.L1235
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Split_eatKanji
	str	r0, [fp, #-16]
	b	.L1233
.L1235:
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Split_eat8
	str	r0, [fp, #-16]
.L1233:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1236
	mov	r3, #0
	b	.L1231
.L1236:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L1237
	mvn	r3, #0
	b	.L1231
.L1237:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	Split_splitString
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L1231:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Split_splitString, .-Split_splitString
	.align	2
	.global	Split_splitStringToQRinput
	.syntax unified
	.arm
	.fpu softvfp
	.type	Split_splitStringToQRinput, %function
Split_splitStringToQRinput:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1239
	mov	r3, #1
	strb	r3, [fp, #-17]
	b	.L1240
.L1239:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-17]
.L1240:
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1241
	bl	__errno_location
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #22
	str	r2, [r3]
	mvn	r3, #0
	b	.L1242
.L1241:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1243
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	dupAndToUpper
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1244
	mvn	r3, #0
	b	.L1242
.L1244:
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-12]
	bl	Split_splitString
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	free
	b	.L1245
.L1243:
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Split_splitString
	str	r0, [fp, #-16]
.L1245:
	ldr	r3, [fp, #-16]
.L1242:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Split_splitStringToQRinput, .-Split_splitStringToQRinput
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	dupAndToUpper, %function
dupAndToUpper:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	strdup
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1247
	mov	r3, #0
	b	.L1248
.L1247:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
	b	.L1249
.L1252:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-16]
	bl	Split_identifyMode
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L1250
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	str	r3, [fp, #-16]
	b	.L1249
.L1250:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L1251
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #122
	bhi	.L1251
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #32
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
.L1251:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1249:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1252
	ldr	r3, [fp, #-12]
.L1248:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dupAndToUpper, .-dupAndToUpper
	.align	2
	.global	encode_rs_char
	.syntax unified
	.arm
	.fpu softvfp
	.type	encode_rs_char, %function
encode_rs_char:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L1254
.L1260:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-36]
	add	r2, r1, r2
	ldrb	r1, [r2]	@ zero_extendqisi2
	ldr	r2, [fp, #-40]
	ldrb	r2, [r2]	@ zero_extendqisi2
	eor	r2, r2, r1
	and	r2, r2, #255
	add	r3, r3, r2
	ldrb	r3, [r3]
	strb	r3, [fp, #-21]
	ldrb	r2, [fp, #-21]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	beq	.L1255
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L1256
.L1257:
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #16]
	ldr	r1, [fp, #-32]
	ldr	r0, [r1, #20]
	ldr	r1, [fp, #-16]
	sub	r1, r0, r1
	add	r2, r2, r1
	ldrb	r2, [r2]	@ zero_extendqisi2
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	modnn
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldr	r0, [fp, #-40]
	add	r3, r0, r3
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1256:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L1257
.L1255:
	ldr	r3, [fp, #-40]
	add	r1, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r0, [fp, #-40]
	bl	memmove
	ldrb	r2, [fp, #-21]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	beq	.L1258
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	ldr	r2, [fp, #-32]
	ldr	r2, [r2, #16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	modnn
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r1
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	b	.L1259
.L1258:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
.L1259:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1254:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	sub	r2, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #36]
	sub	r3, r2, r3
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L1260
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	encode_rs_char, .-encode_rs_char
	.section	.rodata
	.align	2
.LC6:
	.ascii	"Failed to encode:\000"
	.text
	.align	2
	.global	encode_ver1to10
	.syntax unified
	.arm
	.fpu softvfp
	.type	encode_ver1to10, %function
encode_ver1to10:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1262
.L1267:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1263
.L1266:
	ldr	r3, .L1269
	ldr	r0, [r3]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #2
	mov	r2, #0
	ldr	r1, [fp, #-12]
	bl	QRcode_encodeString
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1264
	ldr	r0, .L1269+4
	bl	perror
	b	.L1265
.L1264:
	ldr	r0, [fp, #-8]
	bl	QRcode_free
.L1265:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1263:
	ldr	r3, [fp, #-12]
	cmp	r3, #10
	ble	.L1266
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1262:
	ldr	r3, [fp, #-16]
	cmp	r3, #500
	blt	.L1267
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1270:
	.align	2
.L1269:
	.word	data.6664
	.word	.LC6
	.size	encode_ver1to10, .-encode_ver1to10
	.align	2
	.global	encode_ver31to40
	.syntax unified
	.arm
	.fpu softvfp
	.type	encode_ver31to40, %function
encode_ver31to40:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1272
.L1277:
	mov	r3, #31
	str	r3, [fp, #-12]
	b	.L1273
.L1276:
	ldr	r3, .L1279
	ldr	r0, [r3]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #2
	mov	r2, #0
	ldr	r1, [fp, #-12]
	bl	QRcode_encodeString
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1274
	ldr	r0, .L1279+4
	bl	perror
	b	.L1275
.L1274:
	ldr	r0, [fp, #-8]
	bl	QRcode_free
.L1275:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1273:
	ldr	r3, [fp, #-12]
	cmp	r3, #40
	ble	.L1276
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1272:
	ldr	r3, [fp, #-16]
	cmp	r3, #49
	ble	.L1277
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1280:
	.align	2
.L1279:
	.word	data.6677
	.word	.LC6
	.size	encode_ver31to40, .-encode_ver31to40
	.align	2
	.global	free_rs_cache
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_rs_cache, %function
free_rs_cache:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r0, .L1284
	bl	pthread_mutex_lock
	ldr	r3, .L1284+4
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1282
.L1283:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	free_rs_char
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L1282:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1283
	ldr	r3, .L1284+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r0, .L1284
	bl	pthread_mutex_unlock
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1285:
	.align	2
.L1284:
	.word	rslist_mutex
	.word	rslist
	.size	free_rs_cache, .-free_rs_cache
	.align	2
	.global	free_rs_char
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_rs_char, %function
free_rs_char:
	@ 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, #8]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	free_rs_char, .-free_rs_char
	.align	2
	.global	init_rs
	.syntax unified
	.arm
	.fpu softvfp
	.type	init_rs, %function
init_rs:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r0, .L1295
	bl	pthread_mutex_lock
	ldr	r3, .L1295+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L1288
.L1291:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #8]
	cmp	r2, r3
	bne	.L1289
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #4]
	cmp	r2, r3
	bne	.L1289
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L1289
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L1289
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L1289
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	beq	.L1293
.L1289:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-8]
.L1288:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1291
	ldr	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	init_rs_char
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1294
	ldr	r3, .L1295+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #44]
	ldr	r2, .L1295+4
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	b	.L1290
.L1293:
	nop
	b	.L1290
.L1294:
	nop
.L1290:
	ldr	r0, .L1295
	bl	pthread_mutex_unlock
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1296:
	.align	2
.L1295:
	.word	rslist_mutex
	.word	rslist
	.size	init_rs, .-init_rs
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	init_rs_char, %function
init_rs_char:
	@ args = 8, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-56]
	cmp	r3, #8
	bgt	.L1317
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	blt	.L1317
	mov	r2, #1
	ldr	r3, [fp, #-56]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-64]
	cmp	r2, r3
	bge	.L1317
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	blt	.L1317
	mov	r2, #1
	ldr	r3, [fp, #-56]
	lsl	r3, r2, r3
	ldr	r2, [fp, #-68]
	cmp	r2, r3
	bge	.L1317
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	ble	.L1317
	mov	r2, #1
	ldr	r3, [fp, #-56]
	lsl	r3, r2, r3
	ldr	r2, [fp, #4]
	cmp	r2, r3
	bge	.L1317
	ldr	r3, [fp, #4]
	cmp	r3, #0
	blt	.L1317
	mov	r2, #1
	ldr	r3, [fp, #-56]
	lsl	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #4]
	sub	r3, r2, r3
	ldr	r2, [fp, #8]
	cmp	r2, r3
	bge	.L1317
	ldr	r3, [fp, #8]
	cmp	r3, #0
	blt	.L1317
	mov	r1, #48
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L1317
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	mov	r2, #1
	ldr	r3, [fp, #-56]
	lsl	r3, r2, r3
	sub	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #8]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1299
	ldr	r0, [fp, #-52]
	bl	free
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1298
.L1299:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1300
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-52]
	bl	free
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1298
.L1300:
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #12]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-52]
	ldr	r2, [r2, #4]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L1301
.L1303:
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-56]
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L1302
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-60]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
.L1302:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-40]
	and	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L1301:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L1303
	ldr	r3, [fp, #-40]
	cmp	r3, #1
	beq	.L1304
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-52]
	bl	free
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1298
.L1304:
	ldr	r3, [fp, #4]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L1305
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-52]
	bl	free
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1298
.L1305:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-64]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-68]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #4]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #40]
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L1306
.L1307:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-32]
.L1306:
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-68]
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	cmp	r3, #0
	bne	.L1307
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-32]
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	mov	r2, #1
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-68]
	mul	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L1308
.L1313:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-48]
	add	r2, r2, #1
	add	r3, r3, r2
	mov	r2, #1
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	b	.L1309
.L1312:
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1310
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-52]
	ldr	r1, [r2, #16]
	ldr	r2, [fp, #-44]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	modnn
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-44]
	sub	r2, r2, #1
	add	r3, r3, r2
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-52]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-44]
	add	r3, r0, r3
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L1311
.L1310:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-44]
	sub	r2, r2, #1
	add	r2, r3, r2
	ldr	r3, [fp, #-52]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-44]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L1311:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
.L1309:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bgt	.L1312
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-52]
	ldr	r2, [r2, #16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	modnn
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-68]
	add	r3, r2, r3
	str	r3, [fp, #-36]
.L1308:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #4]
	cmp	r2, r3
	blt	.L1313
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L1314
.L1315:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-52]
	ldr	r1, [r2, #16]
	ldr	r2, [fp, #-48]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	add	r2, r3, r2
	ldr	r3, [fp, #-52]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-48]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L1314:
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bge	.L1315
.L1317:
	nop
.L1298:
	ldr	r3, [fp, #-52]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	init_rs_char, .-init_rs_char
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	prof_ver1to10
	bl	prof_ver31to40
	bl	QRcode_clearCache
	mov	r3, #0
	mov	r0, r3
	pop	{fp, pc}
	.size	main, .-main
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	modnn, %function
modnn:
	@ 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]
	b	.L1321
.L1322:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	asr	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-12]
	and	r3, r3, r1
	add	r3, r2, r3
	str	r3, [fp, #-12]
.L1321:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L1322
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	modnn, .-modnn
	.section	.rodata
	.align	2
.LC7:
	.ascii	"Version 1 - 10 (500 symbols for each)\000"
	.text
	.align	2
	.global	prof_ver1to10
	.syntax unified
	.arm
	.fpu softvfp
	.type	prof_ver1to10, %function
prof_ver1to10:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r0, .L1329
	bl	timerStart
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1325
.L1326:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, .L1329+4
	add	r0, r3, r2
	mov	r3, #0
	ldr	r2, .L1329+8
	mov	r1, #0
	bl	pthread_create
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1325:
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	ble	.L1326
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1327
.L1328:
	ldr	r2, .L1329+4
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r1, #0
	mov	r0, r3
	bl	pthread_join
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1327:
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	ble	.L1328
	bl	timerStop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1330:
	.align	2
.L1329:
	.word	.LC7
	.word	threads
	.word	encode_ver1to10
	.size	prof_ver1to10, .-prof_ver1to10
	.section	.rodata
	.align	2
.LC8:
	.ascii	"Version 31 - 40 (50 symbols for each)\000"
	.text
	.align	2
	.global	prof_ver31to40
	.syntax unified
	.arm
	.fpu softvfp
	.type	prof_ver31to40, %function
prof_ver31to40:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r0, .L1336
	bl	timerStart
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1332
.L1333:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, .L1336+4
	add	r0, r3, r2
	mov	r3, #0
	ldr	r2, .L1336+8
	mov	r1, #0
	bl	pthread_create
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1332:
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	ble	.L1333
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1334
.L1335:
	ldr	r2, .L1336+4
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r1, #0
	mov	r0, r3
	bl	pthread_join
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1334:
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	ble	.L1335
	bl	timerStop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1337:
	.align	2
.L1336:
	.word	.LC8
	.word	threads
	.word	encode_ver31to40
	.size	prof_ver31to40, .-prof_ver31to40
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	putFinderPattern, %function
putFinderPattern:
	@ 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	r3, [fp, #-36]
	ldr	r2, [fp, #-28]
	mul	r2, r3, r2
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, .L1343
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1339
.L1342:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1340
.L1341:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1340:
	ldr	r3, [fp, #-16]
	cmp	r3, #6
	ble	.L1341
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r3, #7
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1339:
	ldr	r3, [fp, #-12]
	cmp	r3, #6
	ble	.L1342
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1344:
	.align	2
.L1343:
	.word	finder.6783
	.size	putFinderPattern, .-putFinderPattern
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	putFinderPattern$link1, %function
putFinderPattern$link1:
	@ 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	r3, [fp, #-36]
	ldr	r2, [fp, #-28]
	mul	r2, r3, r2
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, .L1350
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1346
.L1349:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1347
.L1348:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1347:
	ldr	r3, [fp, #-16]
	cmp	r3, #6
	ble	.L1348
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r3, #7
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1346:
	ldr	r3, [fp, #-12]
	cmp	r3, #6
	ble	.L1349
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1351:
	.align	2
.L1350:
	.word	finder$link1.6799
	.size	putFinderPattern$link1, .-putFinderPattern$link1
	.section	.rodata
	.align	2
.LC9:
	.ascii	"%s: START\012\000"
	.text
	.align	2
	.global	timerStart
	.syntax unified
	.arm
	.fpu softvfp
	.type	timerStart, %function
timerStart:
	@ 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, .L1353
	bl	printf
	mov	r1, #0
	ldr	r0, .L1353+4
	bl	gettimeofday
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1354:
	.align	2
.L1353:
	.word	.LC9
	.word	tv
	.size	timerStart, .-timerStart
	.section	.rodata
	.align	2
.LC10:
	.ascii	"STOP: %ld msec\012\000"
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	timerStop
	.syntax unified
	.arm
	.fpu softvfp
	.type	timerStop, %function
timerStop:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L1357
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	ldr	r2, [fp, #-16]
	ldr	r3, .L1357+4
	ldr	r3, [r3]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r1, r3
	ldr	r2, [fp, #-12]
	ldr	r3, .L1357+4
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	ldr	r2, .L1357+8
	smull	r0, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, .L1357+12
	bl	printf
	nop
	ldr	r3, .L1357
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1356
	bl	__stack_chk_fail
.L1356:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1358:
	.align	2
.L1357:
	.word	.LC11
	.word	tv
	.word	274877907
	.word	.LC10
	.size	timerStop, .-timerStop
	.section	.rodata
	.align	2
	.type	finder.6466, %object
	.size	finder.6466, 25
finder.6466:
	.ascii	"\241\241\241\241\241\241\240\240\240\241\241\240\241"
	.ascii	"\240\241\241\240\240\240\241\241\241\241\241\241"
	.align	2
.LC12:
	.ascii	"This is test.\000"
	.data
	.align	2
	.type	data.6664, %object
	.size	data.6664, 4
data.6664:
	.word	.LC12
	.align	2
	.type	data.6677, %object
	.size	data.6677, 4
data.6677:
	.word	.LC12
	.section	.rodata
	.align	2
	.type	finder.6783, %object
	.size	finder.6783, 49
finder.6783:
	.ascii	"\301\301\301\301\301\301\301\301\300\300\300\300\300"
	.ascii	"\301\301\300\301\301\301\300\301\301\300\301\301\301"
	.ascii	"\300\301\301\300\301\301\301\300\301\301\300\300\300"
	.ascii	"\300\300\301\301\301\301\301\301\301\301"
	.align	2
	.type	finder$link1.6799, %object
	.size	finder$link1.6799, 49
finder$link1.6799:
	.ascii	"\301\301\301\301\301\301\301\301\300\300\300\300\300"
	.ascii	"\301\301\300\301\301\301\300\301\301\300\301\301\301"
	.ascii	"\300\301\301\300\301\301\301\300\301\301\300\300\300"
	.ascii	"\300\300\301\301\301\301\301\301\301\301"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
