	.file	"15511.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 32
	.type	crc16tab, @object
	.size	crc16tab, 512
crc16tab:
	.value	0
	.value	4129
	.value	8258
	.value	12387
	.value	16516
	.value	20645
	.value	24774
	.value	28903
	.value	-32504
	.value	-28375
	.value	-24246
	.value	-20117
	.value	-15988
	.value	-11859
	.value	-7730
	.value	-3601
	.value	4657
	.value	528
	.value	12915
	.value	8786
	.value	21173
	.value	17044
	.value	29431
	.value	25302
	.value	-27847
	.value	-31976
	.value	-19589
	.value	-23718
	.value	-11331
	.value	-15460
	.value	-3073
	.value	-7202
	.value	9314
	.value	13379
	.value	1056
	.value	5121
	.value	25830
	.value	29895
	.value	17572
	.value	21637
	.value	-23190
	.value	-19125
	.value	-31448
	.value	-27383
	.value	-6674
	.value	-2609
	.value	-14932
	.value	-10867
	.value	13907
	.value	9842
	.value	5649
	.value	1584
	.value	30423
	.value	26358
	.value	22165
	.value	18100
	.value	-18597
	.value	-22662
	.value	-26855
	.value	-30920
	.value	-2081
	.value	-6146
	.value	-10339
	.value	-14404
	.value	18628
	.value	22757
	.value	26758
	.value	30887
	.value	2112
	.value	6241
	.value	10242
	.value	14371
	.value	-13876
	.value	-9747
	.value	-5746
	.value	-1617
	.value	-30392
	.value	-26263
	.value	-22262
	.value	-18133
	.value	23285
	.value	19156
	.value	31415
	.value	27286
	.value	6769
	.value	2640
	.value	14899
	.value	10770
	.value	-9219
	.value	-13348
	.value	-1089
	.value	-5218
	.value	-25735
	.value	-29864
	.value	-17605
	.value	-21734
	.value	27814
	.value	31879
	.value	19684
	.value	23749
	.value	11298
	.value	15363
	.value	3168
	.value	7233
	.value	-4690
	.value	-625
	.value	-12820
	.value	-8755
	.value	-21206
	.value	-17141
	.value	-29336
	.value	-25271
	.value	32407
	.value	28342
	.value	24277
	.value	20212
	.value	15891
	.value	11826
	.value	7761
	.value	3696
	.value	-97
	.value	-4162
	.value	-8227
	.value	-12292
	.value	-16613
	.value	-20678
	.value	-24743
	.value	-28808
	.value	-28280
	.value	-32343
	.value	-20022
	.value	-24085
	.value	-12020
	.value	-16083
	.value	-3762
	.value	-7825
	.value	4224
	.value	161
	.value	12482
	.value	8419
	.value	20484
	.value	16421
	.value	28742
	.value	24679
	.value	-31815
	.value	-27752
	.value	-23557
	.value	-19494
	.value	-15555
	.value	-11492
	.value	-7297
	.value	-3234
	.value	689
	.value	4752
	.value	8947
	.value	13010
	.value	16949
	.value	21012
	.value	25207
	.value	29270
	.value	-18966
	.value	-23093
	.value	-27224
	.value	-31351
	.value	-2706
	.value	-6833
	.value	-10964
	.value	-15091
	.value	13538
	.value	9411
	.value	5280
	.value	1153
	.value	29798
	.value	25671
	.value	21540
	.value	17413
	.value	-22565
	.value	-18438
	.value	-30823
	.value	-26696
	.value	-6305
	.value	-2178
	.value	-14563
	.value	-10436
	.value	9939
	.value	14066
	.value	1681
	.value	5808
	.value	26199
	.value	30326
	.value	17941
	.value	22068
	.value	-9908
	.value	-13971
	.value	-1778
	.value	-5841
	.value	-26168
	.value	-30231
	.value	-18038
	.value	-22101
	.value	22596
	.value	18533
	.value	30726
	.value	26663
	.value	6336
	.value	2273
	.value	14466
	.value	10403
	.value	-13443
	.value	-9380
	.value	-5313
	.value	-1250
	.value	-29703
	.value	-25640
	.value	-21573
	.value	-17510
	.value	19061
	.value	23124
	.value	27191
	.value	31254
	.value	2801
	.value	6864
	.value	10931
	.value	14994
	.value	-722
	.value	-4849
	.value	-8852
	.value	-12979
	.value	-16982
	.value	-21109
	.value	-25112
	.value	-29239
	.value	31782
	.value	27655
	.value	23652
	.value	19525
	.value	15522
	.value	11395
	.value	7392
	.value	3265
	.value	-4321
	.value	-194
	.value	-12451
	.value	-8324
	.value	-20581
	.value	-16454
	.value	-28711
	.value	-24584
	.value	28183
	.value	32310
	.value	20053
	.value	24180
	.value	11923
	.value	16050
	.value	3793
	.value	7920
	.text
	.globl	crc16
	.type	crc16, @function
crc16:
.LFB0:
	.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	WORD PTR -6[rbp], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L2
.L3:
	movzx	eax, WORD PTR -6[rbp]
	sal	eax, 8
	mov	esi, eax
	movzx	eax, WORD PTR -6[rbp]
	shr	ax, 8
	movzx	ecx, ax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	xor	eax, ecx
	movzx	eax, al
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, crc16tab[rip]
	movzx	eax, WORD PTR [rdx+rax]
	xor	eax, esi
	mov	WORD PTR -6[rbp], ax
	add	DWORD PTR -4[rbp], 1
.L2:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L3
	movzx	eax, WORD PTR -6[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	crc16, .-crc16
	.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	"15511.c"
	.text
	.section	.rodata
	.align	2
	.type	crc16tab, %object
	.size	crc16tab, 512
crc16tab:
	.short	0
	.short	4129
	.short	8258
	.short	12387
	.short	16516
	.short	20645
	.short	24774
	.short	28903
	.short	-32504
	.short	-28375
	.short	-24246
	.short	-20117
	.short	-15988
	.short	-11859
	.short	-7730
	.short	-3601
	.short	4657
	.short	528
	.short	12915
	.short	8786
	.short	21173
	.short	17044
	.short	29431
	.short	25302
	.short	-27847
	.short	-31976
	.short	-19589
	.short	-23718
	.short	-11331
	.short	-15460
	.short	-3073
	.short	-7202
	.short	9314
	.short	13379
	.short	1056
	.short	5121
	.short	25830
	.short	29895
	.short	17572
	.short	21637
	.short	-23190
	.short	-19125
	.short	-31448
	.short	-27383
	.short	-6674
	.short	-2609
	.short	-14932
	.short	-10867
	.short	13907
	.short	9842
	.short	5649
	.short	1584
	.short	30423
	.short	26358
	.short	22165
	.short	18100
	.short	-18597
	.short	-22662
	.short	-26855
	.short	-30920
	.short	-2081
	.short	-6146
	.short	-10339
	.short	-14404
	.short	18628
	.short	22757
	.short	26758
	.short	30887
	.short	2112
	.short	6241
	.short	10242
	.short	14371
	.short	-13876
	.short	-9747
	.short	-5746
	.short	-1617
	.short	-30392
	.short	-26263
	.short	-22262
	.short	-18133
	.short	23285
	.short	19156
	.short	31415
	.short	27286
	.short	6769
	.short	2640
	.short	14899
	.short	10770
	.short	-9219
	.short	-13348
	.short	-1089
	.short	-5218
	.short	-25735
	.short	-29864
	.short	-17605
	.short	-21734
	.short	27814
	.short	31879
	.short	19684
	.short	23749
	.short	11298
	.short	15363
	.short	3168
	.short	7233
	.short	-4690
	.short	-625
	.short	-12820
	.short	-8755
	.short	-21206
	.short	-17141
	.short	-29336
	.short	-25271
	.short	32407
	.short	28342
	.short	24277
	.short	20212
	.short	15891
	.short	11826
	.short	7761
	.short	3696
	.short	-97
	.short	-4162
	.short	-8227
	.short	-12292
	.short	-16613
	.short	-20678
	.short	-24743
	.short	-28808
	.short	-28280
	.short	-32343
	.short	-20022
	.short	-24085
	.short	-12020
	.short	-16083
	.short	-3762
	.short	-7825
	.short	4224
	.short	161
	.short	12482
	.short	8419
	.short	20484
	.short	16421
	.short	28742
	.short	24679
	.short	-31815
	.short	-27752
	.short	-23557
	.short	-19494
	.short	-15555
	.short	-11492
	.short	-7297
	.short	-3234
	.short	689
	.short	4752
	.short	8947
	.short	13010
	.short	16949
	.short	21012
	.short	25207
	.short	29270
	.short	-18966
	.short	-23093
	.short	-27224
	.short	-31351
	.short	-2706
	.short	-6833
	.short	-10964
	.short	-15091
	.short	13538
	.short	9411
	.short	5280
	.short	1153
	.short	29798
	.short	25671
	.short	21540
	.short	17413
	.short	-22565
	.short	-18438
	.short	-30823
	.short	-26696
	.short	-6305
	.short	-2178
	.short	-14563
	.short	-10436
	.short	9939
	.short	14066
	.short	1681
	.short	5808
	.short	26199
	.short	30326
	.short	17941
	.short	22068
	.short	-9908
	.short	-13971
	.short	-1778
	.short	-5841
	.short	-26168
	.short	-30231
	.short	-18038
	.short	-22101
	.short	22596
	.short	18533
	.short	30726
	.short	26663
	.short	6336
	.short	2273
	.short	14466
	.short	10403
	.short	-13443
	.short	-9380
	.short	-5313
	.short	-1250
	.short	-29703
	.short	-25640
	.short	-21573
	.short	-17510
	.short	19061
	.short	23124
	.short	27191
	.short	31254
	.short	2801
	.short	6864
	.short	10931
	.short	14994
	.short	-722
	.short	-4849
	.short	-8852
	.short	-12979
	.short	-16982
	.short	-21109
	.short	-25112
	.short	-29239
	.short	31782
	.short	27655
	.short	23652
	.short	19525
	.short	15522
	.short	11395
	.short	7392
	.short	3265
	.short	-4321
	.short	-194
	.short	-12451
	.short	-8324
	.short	-20581
	.short	-16454
	.short	-28711
	.short	-24584
	.short	28183
	.short	32310
	.short	20053
	.short	24180
	.short	11923
	.short	16050
	.short	3793
	.short	7920
	.text
	.align	2
	.global	crc16
	.syntax unified
	.arm
	.fpu softvfp
	.type	crc16, %function
crc16:
	@ 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
	strh	r3, [fp, #-10]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2
.L3:
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, r0
	and	r3, r3, #255
	ldr	r1, .L5
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrh	r3, [r3]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	eor	r3, r3, r2
	lsl	r3, r3, #16
	asr	r3, r3, #16
	strh	r3, [fp, #-10]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L3
	ldrh	r3, [fp, #-10]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L6:
	.align	2
.L5:
	.word	crc16tab
	.size	crc16, .-crc16
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
