Difference between revisions of "Information/HGAVR Flash Dump Disassembled"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
m (Add missing bracket)
m (Add categories)
Line 1: Line 1:
= HG AVR Flash Dump Disassembled =
 
 
 
This page documents converting an elf32-avr format binary (in this example called '''out.bin''') which was dumped as hex from the Linkstation HG AVR, then converted to elf32-avr format. May someone who has more time than me find this useful :)
 
This page documents converting an elf32-avr format binary (in this example called '''out.bin''') which was dumped as hex from the Linkstation HG AVR, then converted to elf32-avr format. May someone who has more time than me find this useful :)
  
Line 938: Line 936:
 
     7d0: 88 34      cpi r24, 0x48 ; 72
 
     7d0: 88 34      cpi r24, 0x48 ; 72
 
     7d2: 08 95      ret</tt>
 
     7d2: 08 95      ret</tt>
 +
 +
[[Category:HG]]
 +
[[Category:Hardware]]

Revision as of 19:22, 27 February 2011

This page documents converting an elf32-avr format binary (in this example called out.bin) which was dumped as hex from the Linkstation HG AVR, then converted to elf32-avr format. May someone who has more time than me find this useful :)

   macbook-pro-15:~ root# avr-objdump -D out.bin 
   
   out.bin:     file format elf32-avr
   
   
   Disassembly of section .sec1:
   
   00000000 <.sec1>:
      0:	11 c0       	rjmp	.+34     	;  0x24
      2:	ff ff       	.word	0xffff	; ????
      4:	ff ff       	.word	0xffff	; ????
      6:	ff ff       	.word	0xffff	; ????
      8:	ff ff       	.word	0xffff	; ????
      a:	ff ff       	.word	0xffff	; ????
      c:	7e c2       	rjmp	.+1276   	;  0x50a
      e:	3c c2       	rjmp	.+1144   	;  0x488
     10:	ff ff       	.word	0xffff	; ????
     12:	ff ff       	.word	0xffff	; ????
     14:	ff ff       	.word	0xffff	; ????
       ...
     22:	00 00       	nop
     24:	cf ed       	ldi	r28, 0xDF	; 223
     26:	d0 e0       	ldi	r29, 0x00	; 0
     28:	cd bf       	out	0x3d, r28	; 61
     2a:	de bf       	out	0x3e, r29	; 62
     2c:	c0 51       	subi	r28, 0x10	; 16
     2e:	d0 40       	sbci	r29, 0x00	; 0
     30:	0a ea       	ldi	r16, 0xAA	; 170
     32:	08 83       	st	Y, r16
     34:	00 24       	eor	r0, r0
     36:	ee e6       	ldi	r30, 0x6E	; 110
     38:	f0 e0       	ldi	r31, 0x00	; 0
     3a:	10 e0       	ldi	r17, 0x00	; 0
     3c:	ef 36       	cpi	r30, 0x6F	; 111
     3e:	f1 07       	cpc	r31, r17
     40:	11 f0       	breq	.+4      	;  0x46
     42:	01 92       	st	Z+, r0
     44:	fb cf       	rjmp	.-10     	;  0x3c
     46:	00 83       	st	Z, r16
     48:	e6 e1       	ldi	r30, 0x16	; 22
     4a:	f0 e0       	ldi	r31, 0x00	; 0
     4c:	a0 e6       	ldi	r26, 0x60	; 96
     4e:	b0 e0       	ldi	r27, 0x00	; 0
     50:	10 e0       	ldi	r17, 0x00	; 0
     52:	e4 32       	cpi	r30, 0x24	; 36
     54:	f1 07       	cpc	r31, r17
     56:	21 f0       	breq	.+8      	;  0x60
     58:	c8 95       	lpm
     5a:	31 96       	adiw	r30, 0x01	; 1
     5c:	0d 92       	st	X+, r0
     5e:	f9 cf       	rjmp	.-14     	;  0x52
     60:	01 d0       	rcall	.+2      	;  0x64
     62:	ff cf       	rjmp	.-2      	;  0x62
     64:	63 97       	sbiw	r28, 0x13	; 19
     66:	00 24       	eor	r0, r0
     68:	08 8a       	std	Y+16, r0	; 0x10
     6a:	0a 8a       	std	Y+18, r0	; 0x12
     6c:	00 24       	eor	r0, r0
     6e:	03 94       	inc	r0
     70:	0c 86       	std	Y+12, r0	; 0x0c
     72:	0b 86       	std	Y+11, r0	; 0x0b
     74:	09 86       	std	Y+9, r0	; 0x09
     76:	00 24       	eor	r0, r0
     78:	0a 86       	std	Y+10, r0	; 0x0a
     7a:	0d 86       	std	Y+13, r0	; 0x0d
     7c:	0f 86       	std	Y+15, r0	; 0x0f
     7e:	0e 86       	std	Y+14, r0	; 0x0e
     80:	08 86       	std	Y+8, r0	; 0x08
     82:	80 e6       	ldi	r24, 0x60	; 96
     84:	90 e0       	ldi	r25, 0x00	; 0
     86:	88 83       	st	Y, r24
     88:	99 83       	std	Y+1, r25	; 0x01
     8a:	80 e8       	ldi	r24, 0x80	; 128
     8c:	8f bf       	out	0x3f, r24	; 63
     8e:	82 e0       	ldi	r24, 0x02	; 2
     90:	83 bf       	out	0x33, r24	; 51
     92:	22 24       	eor	r2, r2
     94:	22 be       	out	0x32, r2	; 50
     96:	87 e0       	ldi	r24, 0x07	; 7
     98:	8e bd       	out	0x2e, r24	; 46
     9a:	33 24       	eor	r3, r3
     9c:	30 92 4d 00 	sts	0x004D, r3
     a0:	20 92 4c 00 	sts	0x004C, r2
     a4:	82 e0       	ldi	r24, 0x02	; 2
     a6:	89 bf       	out	0x39, r24	; 57
     a8:	2a b8       	out	0x0a, r2	; 10
     aa:	89 e1       	ldi	r24, 0x19	; 25
     ac:	89 b9       	out	0x09, r24	; 9
     ae:	88 e5       	ldi	r24, 0x58	; 88
     b0:	81 bb       	out	0x11, r24	; 17
     b2:	8c e7       	ldi	r24, 0x7C	; 124
     b4:	82 bb       	out	0x12, r24	; 18
     b6:	83 e3       	ldi	r24, 0x33	; 51
     b8:	87 bb       	out	0x17, r24	; 23
     ba:	8c e0       	ldi	r24, 0x0C	; 12
     bc:	88 bb       	out	0x18, r24	; 24
     be:	e1 c1       	rjmp	.+962    	;  0x482
     c0:	80 91 6b 00 	lds	r24, 0x006B
     c4:	8f 77       	andi	r24, 0x7F	; 127
     c6:	8f 37       	cpi	r24, 0x7F	; 127
     c8:	21 f4       	brne	.+8      	;  0xd2
     ca:	08 88       	ldd	r0, Y+16	; 0x10
     cc:	00 20       	and	r0, r0
     ce:	21 f0       	breq	.+8      	;  0xd8
     d0:	d8 c1       	rjmp	.+944    	;  0x482
     d2:	00 24       	eor	r0, r0
     d4:	08 8a       	std	Y+16, r0	; 0x10
     d6:	d5 c1       	rjmp	.+938    	;  0x482
     d8:	00 24       	eor	r0, r0
     da:	03 94       	inc	r0
     dc:	08 8a       	std	Y+16, r0	; 0x10
     de:	80 91 67 00 	lds	r24, 0x0067
     e2:	8f 5f       	subi	r24, 0xFF	; 255
     e4:	80 93 67 00 	sts	0x0067, r24
     e8:	8f 73       	andi	r24, 0x3F	; 63
     ea:	8f 33       	cpi	r24, 0x3F	; 63
     ec:	41 f4       	brne	.+16     	;  0xfe
     ee:	80 91 65 00 	lds	r24, 0x0065
     f2:	8f 5f       	subi	r24, 0xFF	; 255
     f4:	80 93 65 00 	sts	0x0065, r24
     f8:	0a 88       	ldd	r0, Y+18	; 0x12
     fa:	03 94       	inc	r0
     fc:	0a 8a       	std	Y+18, r0	; 0x12
     fe:	80 91 67 00 	lds	r24, 0x0067
    102:	8f 3f       	cpi	r24, 0xFF	; 255
    104:	b9 f4       	brne	.+46     	;  0x134
    106:	e8 81       	ld	r30, Y
    108:	f9 81       	ldd	r31, Y+1	; 0x01
    10a:	80 81       	ld	r24, Z
    10c:	91 81       	ldd	r25, Z+1	; 0x01
    10e:	ea 93       	st	-Y, r30
    110:	80 30       	cpi	r24, 0x00	; 0
    112:	e0 e8       	ldi	r30, 0x80	; 128
    114:	9e 07       	cpc	r25, r30
    116:	e9 91       	ld	r30, Y+
    118:	68 f0       	brcs	.+26     	;  0x134
    11a:	80 91 6c 00 	lds	r24, 0x006C
    11e:	8f 5f       	subi	r24, 0xFF	; 255
    120:	80 93 6c 00 	sts	0x006C, r24
    124:	83 70       	andi	r24, 0x03	; 3
    126:	83 30       	cpi	r24, 0x03	; 3
    128:	29 f4       	brne	.+10     	;  0x134
    12a:	80 81       	ld	r24, Z
    12c:	91 81       	ldd	r25, Z+1	; 0x01
    12e:	01 97       	sbiw	r24, 0x01	; 1
    130:	80 83       	st	Z, r24
    132:	91 83       	std	Z+1, r25	; 0x01
    134:	0d 85       	ldd	r16, Y+13	; 0x0d
    136:	8a d2       	rcall	.+1300   	;  0x64c
    138:	00 93 68 00 	sts	0x0068, r16
    13c:	0f 85       	ldd	r16, Y+15	; 0x0f
    13e:	86 d2       	rcall	.+1292   	;  0x64c
    140:	00 93 69 00 	sts	0x0069, r16
    144:	0e 85       	ldd	r16, Y+14	; 0x0e
    146:	82 d2       	rcall	.+1284   	;  0x64c
    148:	00 93 6a 00 	sts	0x006A, r16
    14c:	26 b3       	in	r18, 0x16	; 22
    14e:	28 70       	andi	r18, 0x08	; 8
    150:	0b 85       	ldd	r16, Y+11	; 0x0b
    152:	5b d2       	rcall	.+1206   	;  0x60a
    154:	0b 87       	std	Y+11, r16	; 0x0b
    156:	26 b3       	in	r18, 0x16	; 22
    158:	24 70       	andi	r18, 0x04	; 4
    15a:	0c 85       	ldd	r16, Y+12	; 0x0c
    15c:	56 d2       	rcall	.+1196   	;  0x60a
    15e:	0c 87       	std	Y+12, r16	; 0x0c
    160:	09 84       	ldd	r0, Y+9	; 0x09
    162:	00 20       	and	r0, r0
    164:	11 f4       	brne	.+4      	;  0x16a
    166:	03 94       	inc	r0
    168:	09 86       	std	Y+9, r0	; 0x09
    16a:	2c b5       	in	r18, 0x2c	; 44
    16c:	09 85       	ldd	r16, Y+9	; 0x09
    16e:	4d d2       	rcall	.+1178   	;  0x60a
    170:	09 87       	std	Y+9, r16	; 0x09
    172:	8a 85       	ldd	r24, Y+10	; 0x0a
    174:	8f 34       	cpi	r24, 0x4F	; 79
    176:	19 f0       	breq	.+6      	;  0x17e
    178:	0a 84       	ldd	r0, Y+10	; 0x0a
    17a:	03 94       	inc	r0
    17c:	0a 86       	std	Y+10, r0	; 0x0a
    17e:	8c b5       	in	r24, 0x2c	; 44
    180:	82 30       	cpi	r24, 0x02	; 2
    182:	40 f4       	brcc	.+16     	;  0x194
    184:	8a 85       	ldd	r24, Y+10	; 0x0a
    186:	8f 34       	cpi	r24, 0x4F	; 79
    188:	29 f4       	brne	.+10     	;  0x194
    18a:	80 91 63 00 	lds	r24, 0x0063
    18e:	80 64       	ori	r24, 0x40	; 64
    190:	80 93 63 00 	sts	0x0063, r24
    194:	22 24       	eor	r2, r2
    196:	2c bc       	out	0x2c, r2	; 44
    198:	c4 99       	sbic	0x18, 4	; 24
    19a:	02 c0       	rjmp	.+4      	;  0x1a0
    19c:	00 24       	eor	r0, r0
    19e:	0a 86       	std	Y+10, r0	; 0x0a
    1a0:	8a 85       	ldd	r24, Y+10	; 0x0a
    1a2:	8f 34       	cpi	r24, 0x4F	; 79
    1a4:	21 f4       	brne	.+8      	;  0x1ae
    1a6:	20 90 63 00 	lds	r2, 0x0063
    1aa:	26 fe       	sbrs	r2, 6
    1ac:	02 c0       	rjmp	.+4      	;  0x1b2
    1ae:	c5 9a       	sbi	0x18, 5	; 24
    1b0:	01 c0       	rjmp	.+2      	;  0x1b4
    1b2:	c5 98       	cbi	0x18, 5	; 24
    1b4:	e0 90 64 00 	lds	r14, 0x0064
    1b8:	47 e0       	ldi	r20, 0x07	; 7
    1ba:	06 c0       	rjmp	.+12     	;  0x1c8
    1bc:	8e 2d       	mov	r24, r14
    1be:	80 38       	cpi	r24, 0x80	; 128
    1c0:	08 f0       	brcs	.+2      	;  0x1c4
    1c2:	04 c0       	rjmp	.+8      	;  0x1cc
    1c4:	ee 0c       	add	r14, r14
    1c6:	4a 95       	dec	r20
    1c8:	44 23       	and	r20, r20
    1ca:	c1 f7       	brne	.-16     	;  0x1bc
    1cc:	4f 87       	std	Y+15, r20	; 0x0f
    1ce:	00 24       	eor	r0, r0
    1d0:	0e 86       	std	Y+14, r0	; 0x0e
    1d2:	0d 86       	std	Y+13, r0	; 0x0d
    1d4:	28 84       	ldd	r2, Y+8	; 0x08
    1d6:	33 24       	eor	r3, r3
    1d8:	2a 82       	std	Y+2, r2	; 0x02
    1da:	3b 82       	std	Y+3, r3	; 0x03
    1dc:	8a 81       	ldd	r24, Y+2	; 0x02
    1de:	9b 81       	ldd	r25, Y+3	; 0x03
    1e0:	80 37       	cpi	r24, 0x70	; 112
    1e2:	e0 e0       	ldi	r30, 0x00	; 0
    1e4:	9e 07       	cpc	r25, r30
    1e6:	09 f4       	brne	.+2      	;  0x1ea
    1e8:	58 c0       	rjmp	.+176    	;  0x29a
    1ea:	80 e7       	ldi	r24, 0x70	; 112
    1ec:	90 e0       	ldi	r25, 0x00	; 0
    1ee:	82 15       	cp	r24, r2
    1f0:	93 05       	cpc	r25, r3
    1f2:	54 f1       	brlt	.+84     	;  0x248
    1f4:	8a 81       	ldd	r24, Y+2	; 0x02
    1f6:	9b 81       	ldd	r25, Y+3	; 0x03
    1f8:	80 31       	cpi	r24, 0x10	; 16
    1fa:	e0 e0       	ldi	r30, 0x00	; 0
    1fc:	9e 07       	cpc	r25, r30
    1fe:	09 f4       	brne	.+2      	;  0x202
    200:	5b c0       	rjmp	.+182    	;  0x2b8
    202:	80 e1       	ldi	r24, 0x10	; 16
    204:	90 e0       	ldi	r25, 0x00	; 0
    206:	2a 80       	ldd	r2, Y+2	; 0x02
    208:	3b 80       	ldd	r3, Y+3	; 0x03
    20a:	82 15       	cp	r24, r2
    20c:	93 05       	cpc	r25, r3
    20e:	44 f0       	brlt	.+16     	;  0x220
    210:	2a 80       	ldd	r2, Y+2	; 0x02
    212:	3b 80       	ldd	r3, Y+3	; 0x03
    214:	22 20       	and	r2, r2
    216:	19 f4       	brne	.+6      	;  0x21e
    218:	33 20       	and	r3, r3
    21a:	09 f4       	brne	.+2      	;  0x21e
    21c:	eb c0       	rjmp	.+470    	;  0x3f4
    21e:	1a c1       	rjmp	.+564    	;  0x454
    220:	8a 81       	ldd	r24, Y+2	; 0x02
    222:	9b 81       	ldd	r25, Y+3	; 0x03
    224:	80 32       	cpi	r24, 0x20	; 32
    226:	e0 e0       	ldi	r30, 0x00	; 0
    228:	9e 07       	cpc	r25, r30
    22a:	09 f4       	brne	.+2      	;  0x22e
    22c:	6b c0       	rjmp	.+214    	;  0x304
    22e:	80 32       	cpi	r24, 0x20	; 32
    230:	e0 e0       	ldi	r30, 0x00	; 0
    232:	9e 07       	cpc	r25, r30
    234:	0c f4       	brge	.+2      	;  0x238
    236:	0e c1       	rjmp	.+540    	;  0x454
    238:	8a 81       	ldd	r24, Y+2	; 0x02
    23a:	9b 81       	ldd	r25, Y+3	; 0x03
    23c:	80 33       	cpi	r24, 0x30	; 48
    23e:	e0 e0       	ldi	r30, 0x00	; 0
    240:	9e 07       	cpc	r25, r30
    242:	09 f4       	brne	.+2      	;  0x246
    244:	c4 c0       	rjmp	.+392    	;  0x3ce
    246:	06 c1       	rjmp	.+524    	;  0x454
    248:	8a 81       	ldd	r24, Y+2	; 0x02
    24a:	9b 81       	ldd	r25, Y+3	; 0x03
    24c:	80 3a       	cpi	r24, 0xA0	; 160
    24e:	e0 e0       	ldi	r30, 0x00	; 0
    250:	9e 07       	cpc	r25, r30
    252:	09 f4       	brne	.+2      	;  0x256
    254:	f1 c0       	rjmp	.+482    	;  0x438
    256:	80 ea       	ldi	r24, 0xA0	; 160
    258:	90 e0       	ldi	r25, 0x00	; 0
    25a:	2a 80       	ldd	r2, Y+2	; 0x02
    25c:	3b 80       	ldd	r3, Y+3	; 0x03
    25e:	82 15       	cp	r24, r2
    260:	93 05       	cpc	r25, r3
    262:	44 f0       	brlt	.+16     	;  0x274
    264:	8a 81       	ldd	r24, Y+2	; 0x02
    266:	9b 81       	ldd	r25, Y+3	; 0x03
    268:	80 38       	cpi	r24, 0x80	; 128
    26a:	e0 e0       	ldi	r30, 0x00	; 0
    26c:	9e 07       	cpc	r25, r30
    26e:	09 f4       	brne	.+2      	;  0x272
    270:	c1 c0       	rjmp	.+386    	;  0x3f4
    272:	f0 c0       	rjmp	.+480    	;  0x454
    274:	8a 81       	ldd	r24, Y+2	; 0x02
    276:	9b 81       	ldd	r25, Y+3	; 0x03
    278:	80 3c       	cpi	r24, 0xC0	; 192
    27a:	e0 e0       	ldi	r30, 0x00	; 0
    27c:	9e 07       	cpc	r25, r30
    27e:	09 f4       	brne	.+2      	;  0x282
    280:	e0 c0       	rjmp	.+448    	;  0x442
    282:	80 3c       	cpi	r24, 0xC0	; 192
    284:	e0 e0       	ldi	r30, 0x00	; 0
    286:	9e 07       	cpc	r25, r30
    288:	0c f4       	brge	.+2      	;  0x28c
    28a:	e4 c0       	rjmp	.+456    	;  0x454
    28c:	8a 81       	ldd	r24, Y+2	; 0x02
    28e:	9b 81       	ldd	r25, Y+3	; 0x03
    290:	80 3f       	cpi	r24, 0xF0	; 240
    292:	e0 e0       	ldi	r30, 0x00	; 0
    294:	9e 07       	cpc	r25, r30
    296:	09 f0       	breq	.+2      	;  0x29a
    298:	dd c0       	rjmp	.+442    	;  0x454
    29a:	92 d2       	rcall	.+1316   	;  0x7c0
    29c:	80 91 66 00 	lds	r24, 0x0066
    2a0:	85 30       	cpi	r24, 0x05	; 5
    2a2:	18 f4       	brcc	.+6      	;  0x2aa
    2a4:	85 e0       	ldi	r24, 0x05	; 5
    2a6:	80 93 66 00 	sts	0x0066, r24
    2aa:	8b 85       	ldd	r24, Y+11	; 0x0b
    2ac:	8b 32       	cpi	r24, 0x2B	; 43
    2ae:	08 f4       	brcc	.+2      	;  0x2b2
    2b0:	d3 c0       	rjmp	.+422    	;  0x458
    2b2:	00 24       	eor	r0, r0
    2b4:	08 86       	std	Y+8, r0	; 0x08
    2b6:	d0 c0       	rjmp	.+416    	;  0x458
    2b8:	88 d2       	rcall	.+1296   	;  0x7ca
    2ba:	78 f0       	brcs	.+30     	;  0x2da
    2bc:	89 85       	ldd	r24, Y+9	; 0x09
    2be:	8f 3f       	cpi	r24, 0xFF	; 255
    2c0:	31 f4       	brne	.+12     	;  0x2ce
    2c2:	80 91 64 00 	lds	r24, 0x0064
    2c6:	80 61       	ori	r24, 0x10	; 16
    2c8:	80 93 64 00 	sts	0x0064, r24
    2cc:	12 c0       	rjmp	.+36     	;  0x2f2
    2ce:	80 91 64 00 	lds	r24, 0x0064
    2d2:	80 64       	ori	r24, 0x40	; 64
    2d4:	80 93 64 00 	sts	0x0064, r24
    2d8:	0c c0       	rjmp	.+24     	;  0x2f2
    2da:	8a 89       	ldd	r24, Y+18	; 0x12
    2dc:	89 30       	cpi	r24, 0x09	; 9
    2de:	48 f0       	brcs	.+18     	;  0x2f2
    2e0:	20 90 62 00 	lds	r2, 0x0062
    2e4:	24 fc       	sbrc	r2, 4
    2e6:	05 c0       	rjmp	.+10     	;  0x2f2
    2e8:	80 91 64 00 	lds	r24, 0x0064
    2ec:	80 62       	ori	r24, 0x20	; 32
    2ee:	80 93 64 00 	sts	0x0064, r24
    2f2:	20 90 62 00 	lds	r2, 0x0062
    2f6:	20 fe       	sbrs	r2, 0
    2f8:	af c0       	rjmp	.+350    	;  0x458
    2fa:	03 e3       	ldi	r16, 0x33	; 51
    2fc:	65 d1       	rcall	.+714    	;  0x5c8
    2fe:	80 e2       	ldi	r24, 0x20	; 32
    300:	88 87       	std	Y+8, r24	; 0x08
    302:	aa c0       	rjmp	.+340    	;  0x458
    304:	80 e1       	ldi	r24, 0x10	; 16
    306:	8d 87       	std	Y+13, r24	; 0x0d
    308:	66 27       	eor	r22, r22
    30a:	2c c0       	rjmp	.+88     	;  0x364
    30c:	80 e2       	ldi	r24, 0x20	; 32
    30e:	a8 2e       	mov	r10, r24
    310:	26 2e       	mov	r2, r22
    312:	33 24       	eor	r3, r3
    314:	2c 82       	std	Y+4, r2	; 0x04
    316:	3d 82       	std	Y+5, r3	; 0x05
    318:	22 20       	and	r2, r2
    31a:	11 f4       	brne	.+4      	;  0x320
    31c:	33 20       	and	r3, r3
    31e:	39 f0       	breq	.+14     	;  0x32e
    320:	8c 81       	ldd	r24, Y+4	; 0x04
    322:	9d 81       	ldd	r25, Y+5	; 0x05
    324:	81 30       	cpi	r24, 0x01	; 1
    326:	e0 e0       	ldi	r30, 0x00	; 0
    328:	9e 07       	cpc	r25, r30
    32a:	19 f0       	breq	.+6      	;  0x332
    32c:	04 c0       	rjmp	.+8      	;  0x336
    32e:	cb 84       	ldd	r12, Y+11	; 0x0b
    330:	03 c0       	rjmp	.+6      	;  0x338
    332:	cc 84       	ldd	r12, Y+12	; 0x0c
    334:	01 c0       	rjmp	.+2      	;  0x338
    336:	c9 84       	ldd	r12, Y+9	; 0x09
    338:	26 2e       	mov	r2, r22
    33a:	22 0c       	add	r2, r2
    33c:	a2 0c       	add	r10, r2
    33e:	2c 2c       	mov	r2, r12
    340:	33 24       	eor	r3, r3
    342:	2e 82       	std	Y+6, r2	; 0x06
    344:	3f 82       	std	Y+7, r3	; 0x07
    346:	22 20       	and	r2, r2
    348:	11 f4       	brne	.+4      	;  0x34e
    34a:	33 20       	and	r3, r3
    34c:	41 f0       	breq	.+16     	;  0x35e
    34e:	8e 81       	ldd	r24, Y+6	; 0x06
    350:	9f 81       	ldd	r25, Y+7	; 0x07
    352:	82 30       	cpi	r24, 0x02	; 2
    354:	e0 e0       	ldi	r30, 0x00	; 0
    356:	9e 07       	cpc	r25, r30
    358:	09 f0       	breq	.+2      	;  0x35c
    35a:	03 c0       	rjmp	.+6      	;  0x362
    35c:	a3 94       	inc	r10
    35e:	0a 2d       	mov	r16, r10
    360:	33 d1       	rcall	.+614    	;  0x5c8
    362:	63 95       	inc	r22
    364:	63 30       	cpi	r22, 0x03	; 3
    366:	90 f2       	brcs	.-92     	;  0x30c
    368:	20 90 63 00 	lds	r2, 0x0063
    36c:	20 fe       	sbrs	r2, 0
    36e:	07 c0       	rjmp	.+14     	;  0x37e
    370:	01 e4       	ldi	r16, 0x41	; 65
    372:	2a d1       	rcall	.+596    	;  0x5c8
    374:	80 91 63 00 	lds	r24, 0x0063
    378:	8e 7f       	andi	r24, 0xFE	; 254
    37a:	80 93 63 00 	sts	0x0063, r24
    37e:	20 90 63 00 	lds	r2, 0x0063
    382:	23 fe       	sbrs	r2, 3
    384:	02 c0       	rjmp	.+4      	;  0x38a
    386:	80 e1       	ldi	r24, 0x10	; 16
    388:	8e 87       	std	Y+14, r24	; 0x0e
    38a:	80 91 63 00 	lds	r24, 0x0063
    38e:	86 70       	andi	r24, 0x06	; 6
    390:	09 f0       	breq	.+2      	;  0x394
    392:	16 d2       	rcall	.+1068   	;  0x7c0
    394:	20 90 63 00 	lds	r2, 0x0063
    398:	24 fe       	sbrs	r2, 4
    39a:	02 c0       	rjmp	.+4      	;  0x3a0
    39c:	80 e2       	ldi	r24, 0x20	; 32
    39e:	8e 87       	std	Y+14, r24	; 0x0e
    3a0:	20 90 63 00 	lds	r2, 0x0063
    3a4:	25 fe       	sbrs	r2, 5
    3a6:	02 c0       	rjmp	.+4      	;  0x3ac
    3a8:	80 e4       	ldi	r24, 0x40	; 64
    3aa:	8d 87       	std	Y+13, r24	; 0x0d
    3ac:	80 91 62 00 	lds	r24, 0x0062
    3b0:	86 70       	andi	r24, 0x06	; 6
    3b2:	11 f0       	breq	.+4      	;  0x3b8
    3b4:	80 e3       	ldi	r24, 0x30	; 48
    3b6:	88 87       	std	Y+8, r24	; 0x08
    3b8:	20 90 62 00 	lds	r2, 0x0062
    3bc:	25 fc       	sbrc	r2, 5
    3be:	4c c0       	rjmp	.+152    	;  0x458
    3c0:	80 91 65 00 	lds	r24, 0x0065
    3c4:	88 34       	cpi	r24, 0x48	; 72
    3c6:	08 f4       	brcc	.+2      	;  0x3ca
    3c8:	47 c0       	rjmp	.+142    	;  0x458
    3ca:	e6 d1       	rcall	.+972    	;  0x798
    3cc:	45 c0       	rjmp	.+138    	;  0x458
    3ce:	80 e2       	ldi	r24, 0x20	; 32
    3d0:	8d 87       	std	Y+13, r24	; 0x0d
    3d2:	20 90 62 00 	lds	r2, 0x0062
    3d6:	23 fc       	sbrc	r2, 3
    3d8:	04 c0       	rjmp	.+8      	;  0x3e2
    3da:	8a 89       	ldd	r24, Y+18	; 0x12
    3dc:	88 34       	cpi	r24, 0x48	; 72
    3de:	08 f4       	brcc	.+2      	;  0x3e2
    3e0:	3b c0       	rjmp	.+118    	;  0x458
    3e2:	20 90 62 00 	lds	r2, 0x0062
    3e6:	21 fe       	sbrs	r2, 1
    3e8:	02 c0       	rjmp	.+4      	;  0x3ee
    3ea:	d6 d1       	rcall	.+940    	;  0x798
    3ec:	35 c0       	rjmp	.+106    	;  0x458
    3ee:	00 24       	eor	r0, r0
    3f0:	08 86       	std	Y+8, r0	; 0x08
    3f2:	32 c0       	rjmp	.+100    	;  0x458
    3f4:	22 24       	eor	r2, r2
    3f6:	20 92 66 00 	sts	0x0066, r2
    3fa:	20 90 64 00 	lds	r2, 0x0064
    3fe:	22 20       	and	r2, r2
    400:	51 f0       	breq	.+20     	;  0x416
    402:	8b 85       	ldd	r24, Y+11	; 0x0b
    404:	82 30       	cpi	r24, 0x02	; 2
    406:	08 f4       	brcc	.+2      	;  0x40a
    408:	27 c0       	rjmp	.+78     	;  0x458
    40a:	22 24       	eor	r2, r2
    40c:	20 92 64 00 	sts	0x0064, r2
    410:	00 24       	eor	r0, r0
    412:	0b 86       	std	Y+11, r0	; 0x0b
    414:	21 c0       	rjmp	.+66     	;  0x458
    416:	c6 d1       	rcall	.+908    	;  0x7a4
    418:	10 f0       	brcs	.+4      	;  0x41e
    41a:	80 e3       	ldi	r24, 0x30	; 48
    41c:	8d 87       	std	Y+13, r24	; 0x0d
    41e:	8b 85       	ldd	r24, Y+11	; 0x0b
    420:	82 30       	cpi	r24, 0x02	; 2
    422:	10 f4       	brcc	.+4      	;  0x428
    424:	bf d1       	rcall	.+894    	;  0x7a4
    426:	c1 f4       	brne	.+48     	;  0x458
    428:	8c 85       	ldd	r24, Y+12	; 0x0c
    42a:	82 30       	cpi	r24, 0x02	; 2
    42c:	18 f0       	brcs	.+6      	;  0x434
    42e:	80 e7       	ldi	r24, 0x70	; 112
    430:	88 87       	std	Y+8, r24	; 0x08
    432:	12 c0       	rjmp	.+36     	;  0x458
    434:	b1 d1       	rcall	.+866    	;  0x798
    436:	10 c0       	rjmp	.+32     	;  0x458
    438:	01 e3       	ldi	r16, 0x31	; 49
    43a:	c6 d0       	rcall	.+396    	;  0x5c8
    43c:	80 ec       	ldi	r24, 0xC0	; 192
    43e:	88 87       	std	Y+8, r24	; 0x08
    440:	0b c0       	rjmp	.+22     	;  0x458
    442:	c3 d1       	rcall	.+902    	;  0x7ca
    444:	20 f4       	brcc	.+8      	;  0x44e
    446:	20 90 62 00 	lds	r2, 0x0062
    44a:	23 fe       	sbrs	r2, 3
    44c:	05 c0       	rjmp	.+10     	;  0x458
    44e:	80 e8       	ldi	r24, 0x80	; 128
    450:	88 87       	std	Y+8, r24	; 0x08
    452:	02 c0       	rjmp	.+4      	;  0x458
    454:	80 e8       	ldi	r24, 0x80	; 128
    456:	88 87       	std	Y+8, r24	; 0x08
    458:	88 85       	ldd	r24, Y+8	; 0x08
    45a:	8f 77       	andi	r24, 0x7F	; 127
    45c:	88 87       	std	Y+8, r24	; 0x08
    45e:	80 91 64 00 	lds	r24, 0x0064
    462:	80 31       	cpi	r24, 0x10	; 16
    464:	18 f0       	brcs	.+6      	;  0x46c
    466:	88 85       	ldd	r24, Y+8	; 0x08
    468:	80 68       	ori	r24, 0x80	; 128
    46a:	88 87       	std	Y+8, r24	; 0x08
    46c:	09 88       	ldd	r0, Y+17	; 0x11
    46e:	08 85       	ldd	r16, Y+8	; 0x08
    470:	00 16       	cp	r0, r16
    472:	29 f0       	breq	.+10     	;  0x47e
    474:	00 24       	eor	r0, r0
    476:	09 86       	std	Y+9, r0	; 0x09
    478:	0b 86       	std	Y+11, r0	; 0x0b
    47a:	0c 86       	std	Y+12, r0	; 0x0c
    47c:	0a 8a       	std	Y+18, r0	; 0x12
    47e:	08 84       	ldd	r0, Y+8	; 0x08
    480:	09 8a       	std	Y+17, r0	; 0x11
    482:	1e ce       	rjmp	.-964    	;  0xc0
    484:	63 96       	adiw	r28, 0x13	; 19
    486:	08 95       	ret
    488:	32 d1       	rcall	.+612    	;  0x6ee
    48a:	79 d1       	rcall	.+754    	;  0x77e
    48c:	5c 9b       	sbis	0x0b, 4	; 11
    48e:	04 c0       	rjmp	.+8      	;  0x498
    490:	22 24       	eor	r2, r2
    492:	20 92 6e 00 	sts	0x006E, r2
    496:	36 c0       	rjmp	.+108    	;  0x504
    498:	ac b0       	in	r10, 0x0c	; 12
    49a:	0a 2d       	mov	r16, r10
    49c:	a4 d0       	rcall	.+328    	;  0x5e6
    49e:	8a b1       	in	r24, 0x0a	; 10
    4a0:	82 70       	andi	r24, 0x02	; 2
    4a2:	86 95       	lsr	r24
    4a4:	80 17       	cp	r24, r16
    4a6:	11 f4       	brne	.+4      	;  0x4ac
    4a8:	5b 9b       	sbis	0x0b, 3	; 11
    4aa:	04 c0       	rjmp	.+8      	;  0x4b4
    4ac:	22 24       	eor	r2, r2
    4ae:	20 92 6e 00 	sts	0x006E, r2
    4b2:	28 c0       	rjmp	.+80     	;  0x504
    4b4:	20 90 6e 00 	lds	r2, 0x006E
    4b8:	2a 14       	cp	r2, r10
    4ba:	19 f0       	breq	.+6      	;  0x4c2
    4bc:	a0 92 6e 00 	sts	0x006E, r10
    4c0:	21 c0       	rjmp	.+66     	;  0x504
    4c2:	22 24       	eor	r2, r2
    4c4:	20 92 65 00 	sts	0x0065, r2
    4c8:	1a 2d       	mov	r17, r10
    4ca:	1e 70       	andi	r17, 0x0E	; 14
    4cc:	16 95       	lsr	r17
    4ce:	01 e0       	ldi	r16, 0x01	; 1
    4d0:	5d d1       	rcall	.+698    	;  0x78c
    4d2:	60 2f       	mov	r22, r16
    4d4:	4a 2d       	mov	r20, r10
    4d6:	40 52       	subi	r20, 0x20	; 32
    4d8:	40 7f       	andi	r20, 0xF0	; 240
    4da:	42 95       	swap	r20
    4dc:	80 e6       	ldi	r24, 0x60	; 96
    4de:	90 e0       	ldi	r25, 0x00	; 0
    4e0:	24 2e       	mov	r2, r20
    4e2:	33 24       	eor	r3, r3
    4e4:	28 0e       	add	r2, r24
    4e6:	39 1e       	adc	r3, r25
    4e8:	42 2d       	mov	r20, r2
    4ea:	53 2d       	mov	r21, r3
    4ec:	26 2e       	mov	r2, r22
    4ee:	20 94       	com	r2
    4f0:	e4 2f       	mov	r30, r20
    4f2:	f5 2f       	mov	r31, r21
    4f4:	30 80       	ld	r3, Z
    4f6:	32 20       	and	r3, r2
    4f8:	30 82       	st	Z, r3
    4fa:	a0 fe       	sbrs	r10, 0
    4fc:	03 c0       	rjmp	.+6      	;  0x504
    4fe:	20 80       	ld	r2, Z
    500:	20 2a       	or	r2, r16
    502:	20 82       	st	Z, r2
    504:	41 d1       	rcall	.+642    	;  0x788
    506:	0a d1       	rcall	.+532    	;  0x71c
    508:	18 95       	reti
    50a:	f1 d0       	rcall	.+482    	;  0x6ee
    50c:	1e d1       	rcall	.+572    	;  0x74a
    50e:	80 91 6b 00 	lds	r24, 0x006B
    512:	8f 5f       	subi	r24, 0xFF	; 255
    514:	80 93 6b 00 	sts	0x006B, r24
    518:	40 91 66 00 	lds	r20, 0x0066
    51c:	55 27       	eor	r21, r21
    51e:	45 30       	cpi	r20, 0x05	; 5
    520:	e0 e0       	ldi	r30, 0x00	; 0
    522:	5e 07       	cpc	r21, r30
    524:	29 f1       	breq	.+74     	;  0x570
    526:	85 e0       	ldi	r24, 0x05	; 5
    528:	90 e0       	ldi	r25, 0x00	; 0
    52a:	84 17       	cp	r24, r20
    52c:	95 07       	cpc	r25, r21
    52e:	24 f0       	brlt	.+8      	;  0x538
    530:	40 30       	cpi	r20, 0x00	; 0
    532:	45 07       	cpc	r20, r21
    534:	91 f0       	breq	.+36     	;  0x55a
    536:	2a c0       	rjmp	.+84     	;  0x58c
    538:	4d 32       	cpi	r20, 0x2D	; 45
    53a:	e0 e0       	ldi	r30, 0x00	; 0
    53c:	5e 07       	cpc	r21, r30
    53e:	d9 f0       	breq	.+54     	;  0x576
    540:	4e 32       	cpi	r20, 0x2E	; 46
    542:	e0 e0       	ldi	r30, 0x00	; 0
    544:	5e 07       	cpc	r21, r30
    546:	f1 f0       	breq	.+60     	;  0x584
    548:	4d 32       	cpi	r20, 0x2D	; 45
    54a:	e0 e0       	ldi	r30, 0x00	; 0
    54c:	5e 07       	cpc	r21, r30
    54e:	f4 f0       	brlt	.+60     	;  0x58c
    550:	45 3f       	cpi	r20, 0xF5	; 245
    552:	e0 e0       	ldi	r30, 0x00	; 0
    554:	5e 07       	cpc	r21, r30
    556:	c1 f0       	breq	.+48     	;  0x588
    558:	19 c0       	rjmp	.+50     	;  0x58c
    55a:	22 24       	eor	r2, r2
    55c:	2a b8       	out	0x0a, r2	; 10
    55e:	88 b3       	in	r24, 0x18	; 24
    560:	8c 7e       	andi	r24, 0xEC	; 236
    562:	88 bb       	out	0x18, r24	; 24
    564:	80 91 66 00 	lds	r24, 0x0066
    568:	8f 5f       	subi	r24, 0xFF	; 255
    56a:	80 93 66 00 	sts	0x0066, r24
    56e:	0e c0       	rjmp	.+28     	;  0x58c
    570:	21 d1       	rcall	.+578    	;  0x7b4
    572:	c4 9a       	sbi	0x18, 4	; 24
    574:	0b c0       	rjmp	.+22     	;  0x58c
    576:	c0 9a       	sbi	0x18, 0	; 24
    578:	22 24       	eor	r2, r2
    57a:	20 92 62 00 	sts	0x0062, r2
    57e:	20 92 63 00 	sts	0x0063, r2
    582:	04 c0       	rjmp	.+8      	;  0x58c
    584:	c1 9a       	sbi	0x18, 1	; 24
    586:	02 c0       	rjmp	.+4      	;  0x58c
    588:	8c e9       	ldi	r24, 0x9C	; 156
    58a:	8a b9       	out	0x0a, r24	; 10
    58c:	80 91 66 00 	lds	r24, 0x0066
    590:	85 30       	cpi	r24, 0x05	; 5
    592:	58 f0       	brcs	.+22     	;  0x5aa
    594:	86 3f       	cpi	r24, 0xF6	; 246
    596:	18 f4       	brcc	.+6      	;  0x59e
    598:	8f 5f       	subi	r24, 0xFF	; 255
    59a:	80 93 66 00 	sts	0x0066, r24
    59e:	82 99       	sbic	0x10, 2	; 16
    5a0:	04 c0       	rjmp	.+8      	;  0x5aa
    5a2:	08 d1       	rcall	.+528    	;  0x7b4
    5a4:	8c e2       	ldi	r24, 0x2C	; 44
    5a6:	80 93 66 00 	sts	0x0066, r24
    5aa:	20 e4       	ldi	r18, 0x40	; 64
    5ac:	00 91 68 00 	lds	r16, 0x0068
    5b0:	3b d0       	rcall	.+118    	;  0x628
    5b2:	20 e1       	ldi	r18, 0x10	; 16
    5b4:	00 91 6a 00 	lds	r16, 0x006A
    5b8:	37 d0       	rcall	.+110    	;  0x628
    5ba:	28 e0       	ldi	r18, 0x08	; 8
    5bc:	00 91 69 00 	lds	r16, 0x0069
    5c0:	33 d0       	rcall	.+102    	;  0x628
    5c2:	c6 d0       	rcall	.+396    	;  0x750
    5c4:	ab d0       	rcall	.+342    	;  0x71c
    5c6:	18 95       	reti
    5c8:	c0 d0       	rcall	.+384    	;  0x74a
    5ca:	40 2f       	mov	r20, r16
    5cc:	5d 99       	sbic	0x0b, 5	; 11
    5ce:	01 c0       	rjmp	.+2      	;  0x5d2
    5d0:	08 c0       	rjmp	.+16     	;  0x5e2
    5d2:	04 2f       	mov	r16, r20
    5d4:	08 d0       	rcall	.+16     	;  0x5e6
    5d6:	00 23       	and	r16, r16
    5d8:	11 f0       	breq	.+4      	;  0x5de
    5da:	50 9a       	sbi	0x0a, 0	; 10
    5dc:	01 c0       	rjmp	.+2      	;  0x5e0
    5de:	50 98       	cbi	0x0a, 0	; 10
    5e0:	4c b9       	out	0x0c, r20	; 12
    5e2:	b6 d0       	rcall	.+364    	;  0x750
    5e4:	08 95       	ret
    5e6:	cb d0       	rcall	.+406    	;  0x77e
    5e8:	44 27       	eor	r20, r20
    5ea:	aa 24       	eor	r10, r10
    5ec:	a3 94       	inc	r10
    5ee:	66 27       	eor	r22, r22
    5f0:	07 c0       	rjmp	.+14     	;  0x600
    5f2:	20 2e       	mov	r2, r16
    5f4:	2a 20       	and	r2, r10
    5f6:	11 f0       	breq	.+4      	;  0x5fc
    5f8:	81 e0       	ldi	r24, 0x01	; 1
    5fa:	48 27       	eor	r20, r24
    5fc:	aa 0c       	add	r10, r10
    5fe:	63 95       	inc	r22
    600:	68 30       	cpi	r22, 0x08	; 8
    602:	b8 f3       	brcs	.-18     	;  0x5f2
    604:	04 2f       	mov	r16, r20
    606:	c0 d0       	rcall	.+384    	;  0x788
    608:	08 95       	ret
    60a:	22 23       	and	r18, r18
    60c:	31 f4       	brne	.+12     	;  0x61a
    60e:	00 23       	and	r16, r16
    610:	51 f0       	breq	.+20     	;  0x626
    612:	0f 3f       	cpi	r16, 0xFF	; 255
    614:	41 f0       	breq	.+16     	;  0x626
    616:	03 95       	inc	r16
    618:	06 c0       	rjmp	.+12     	;  0x626
    61a:	81 e0       	ldi	r24, 0x01	; 1
    61c:	80 17       	cp	r24, r16
    61e:	10 f4       	brcc	.+4      	;  0x624
    620:	00 27       	eor	r16, r16
    622:	01 c0       	rjmp	.+2      	;  0x626
    624:	01 e0       	ldi	r16, 0x01	; 1
    626:	08 95       	ret
    628:	80 91 6d 00 	lds	r24, 0x006D
    62c:	8f 5f       	subi	r24, 0xFF	; 255
    62e:	80 93 6d 00 	sts	0x006D, r24
    632:	8f 70       	andi	r24, 0x0F	; 15
    634:	80 17       	cp	r24, r16
    636:	30 f4       	brcc	.+12     	;  0x644
    638:	22 2e       	mov	r2, r18
    63a:	20 94       	com	r2
    63c:	32 b2       	in	r3, 0x12	; 18
    63e:	32 20       	and	r3, r2
    640:	32 ba       	out	0x12, r3	; 18
    642:	03 c0       	rjmp	.+6      	;  0x64a
    644:	22 b2       	in	r2, 0x12	; 18
    646:	22 2a       	or	r2, r18
    648:	22 ba       	out	0x12, r2	; 18
    64a:	08 95       	ret
    64c:	95 d0       	rcall	.+298    	;  0x778
    64e:	44 27       	eor	r20, r20
    650:	60 2f       	mov	r22, r16
    652:	77 27       	eor	r23, r23
    654:	60 32       	cpi	r22, 0x20	; 32
    656:	e0 e0       	ldi	r30, 0x00	; 0
    658:	7e 07       	cpc	r23, r30
    65a:	09 f1       	breq	.+66     	;  0x69e
    65c:	80 e2       	ldi	r24, 0x20	; 32
    65e:	90 e0       	ldi	r25, 0x00	; 0
    660:	86 17       	cp	r24, r22
    662:	97 07       	cpc	r25, r23
    664:	6c f0       	brlt	.+26     	;  0x680
    666:	60 30       	cpi	r22, 0x00	; 0
    668:	67 07       	cpc	r22, r23
    66a:	09 f4       	brne	.+2      	;  0x66e
    66c:	3d c0       	rjmp	.+122    	;  0x6e8
    66e:	60 30       	cpi	r22, 0x00	; 0
    670:	e0 e0       	ldi	r30, 0x00	; 0
    672:	7e 07       	cpc	r23, r30
    674:	54 f1       	brlt	.+84     	;  0x6ca
    676:	60 31       	cpi	r22, 0x10	; 16
    678:	e0 e0       	ldi	r30, 0x00	; 0
    67a:	7e 07       	cpc	r23, r30
    67c:	71 f0       	breq	.+28     	;  0x69a
    67e:	25 c0       	rjmp	.+74     	;  0x6ca
    680:	60 33       	cpi	r22, 0x30	; 48
    682:	e0 e0       	ldi	r30, 0x00	; 0
    684:	7e 07       	cpc	r23, r30
    686:	89 f0       	breq	.+34     	;  0x6aa
    688:	60 33       	cpi	r22, 0x30	; 48
    68a:	e0 e0       	ldi	r30, 0x00	; 0
    68c:	7e 07       	cpc	r23, r30
    68e:	ec f0       	brlt	.+58     	;  0x6ca
    690:	60 34       	cpi	r22, 0x40	; 64
    692:	e0 e0       	ldi	r30, 0x00	; 0
    694:	7e 07       	cpc	r23, r30
    696:	49 f0       	breq	.+18     	;  0x6aa
    698:	18 c0       	rjmp	.+48     	;  0x6ca
    69a:	40 e1       	ldi	r20, 0x10	; 16
    69c:	25 c0       	rjmp	.+74     	;  0x6e8
    69e:	20 90 67 00 	lds	r2, 0x0067
    6a2:	22 fe       	sbrs	r2, 2
    6a4:	21 c0       	rjmp	.+66     	;  0x6e8
    6a6:	40 e1       	ldi	r20, 0x10	; 16
    6a8:	1f c0       	rjmp	.+62     	;  0x6e8
    6aa:	60 91 67 00 	lds	r22, 0x0067
    6ae:	6f 70       	andi	r22, 0x0F	; 15
    6b0:	20 90 67 00 	lds	r2, 0x0067
    6b4:	25 fe       	sbrs	r2, 5
    6b6:	05 c0       	rjmp	.+10     	;  0x6c2
    6b8:	46 2f       	mov	r20, r22
    6ba:	24 fe       	sbrs	r2, 4
    6bc:	02 c0       	rjmp	.+4      	;  0x6c2
    6be:	4f e0       	ldi	r20, 0x0F	; 15
    6c0:	46 1b       	sub	r20, r22
    6c2:	00 34       	cpi	r16, 0x40	; 64
    6c4:	89 f4       	brne	.+34     	;  0x6e8
    6c6:	43 95       	inc	r20
    6c8:	0f c0       	rjmp	.+30     	;  0x6e8
    6ca:	80 91 67 00 	lds	r24, 0x0067
    6ce:	87 70       	andi	r24, 0x07	; 7
    6d0:	59 f4       	brne	.+22     	;  0x6e8
    6d2:	80 2f       	mov	r24, r16
    6d4:	8f 70       	andi	r24, 0x0F	; 15
    6d6:	90 91 67 00 	lds	r25, 0x0067
    6da:	96 95       	lsr	r25
    6dc:	96 95       	lsr	r25
    6de:	96 95       	lsr	r25
    6e0:	97 70       	andi	r25, 0x07	; 7
    6e2:	98 17       	cp	r25, r24
    6e4:	08 f4       	brcc	.+2      	;  0x6e8
    6e6:	40 e1       	ldi	r20, 0x10	; 16
    6e8:	04 2f       	mov	r16, r20
    6ea:	4c d0       	rcall	.+152    	;  0x784
    6ec:	08 95       	ret
    6ee:	fa 93       	st	-Y, r31
    6f0:	ea 93       	st	-Y, r30
    6f2:	ba 93       	st	-Y, r27
    6f4:	aa 93       	st	-Y, r26
    6f6:	9a 93       	st	-Y, r25
    6f8:	8a 93       	st	-Y, r24
    6fa:	3a 93       	st	-Y, r19
    6fc:	2a 93       	st	-Y, r18
    6fe:	1a 93       	st	-Y, r17
    700:	0a 93       	st	-Y, r16
    702:	9a 92       	st	-Y, r9
    704:	8a 92       	st	-Y, r8
    706:	7a 92       	st	-Y, r7
    708:	6a 92       	st	-Y, r6
    70a:	5a 92       	st	-Y, r5
    70c:	4a 92       	st	-Y, r4
    70e:	3a 92       	st	-Y, r3
    710:	2a 92       	st	-Y, r2
    712:	1a 92       	st	-Y, r1
    714:	0a 92       	st	-Y, r0
    716:	0f b6       	in	r0, 0x3f	; 63
    718:	0a 92       	st	-Y, r0
    71a:	08 95       	ret
    71c:	09 90       	ld	r0, Y+
    71e:	0f be       	out	0x3f, r0	; 63
    720:	09 90       	ld	r0, Y+
    722:	19 90       	ld	r1, Y+
    724:	29 90       	ld	r2, Y+
    726:	39 90       	ld	r3, Y+
    728:	49 90       	ld	r4, Y+
    72a:	59 90       	ld	r5, Y+
    72c:	69 90       	ld	r6, Y+
    72e:	79 90       	ld	r7, Y+
    730:	89 90       	ld	r8, Y+
    732:	99 90       	ld	r9, Y+
    734:	09 91       	ld	r16, Y+
    736:	19 91       	ld	r17, Y+
    738:	29 91       	ld	r18, Y+
    73a:	39 91       	ld	r19, Y+
    73c:	89 91       	ld	r24, Y+
    73e:	99 91       	ld	r25, Y+
    740:	a9 91       	ld	r26, Y+
    742:	b9 91       	ld	r27, Y+
    744:	e9 91       	ld	r30, Y+
    746:	f9 91       	ld	r31, Y+
    748:	08 95       	ret
    74a:	5a 93       	st	-Y, r21
    74c:	4a 93       	st	-Y, r20
    74e:	08 95       	ret
    750:	e1 e0       	ldi	r30, 0x01	; 1
    752:	49 91       	ld	r20, Y+
    754:	59 91       	ld	r21, Y+
    756:	e0 fd       	sbrc	r30, 0
    758:	08 95       	ret
    75a:	69 91       	ld	r22, Y+
    75c:	79 91       	ld	r23, Y+
    75e:	e1 fd       	sbrc	r30, 1
    760:	08 95       	ret
    762:	a9 90       	ld	r10, Y+
    764:	b9 90       	ld	r11, Y+
    766:	e2 fd       	sbrc	r30, 2
    768:	08 95       	ret
    76a:	c9 90       	ld	r12, Y+
    76c:	d9 90       	ld	r13, Y+
    76e:	e3 fd       	sbrc	r30, 3
    770:	08 95       	ret
    772:	e9 90       	ld	r14, Y+
    774:	f9 90       	ld	r15, Y+
    776:	08 95       	ret
    778:	7a 93       	st	-Y, r23
    77a:	6a 93       	st	-Y, r22
    77c:	e6 cf       	rjmp	.-52     	;  0x74a
    77e:	ba 92       	st	-Y, r11
    780:	aa 92       	st	-Y, r10
    782:	fa cf       	rjmp	.-12     	;  0x778
    784:	e2 e0       	ldi	r30, 0x02	; 2
    786:	e5 cf       	rjmp	.-54     	;  0x752
    788:	e4 e0       	ldi	r30, 0x04	; 4
    78a:	e3 cf       	rjmp	.-58     	;  0x752
    78c:	11 23       	and	r17, r17
    78e:	19 f0       	breq	.+6      	;  0x796
    790:	00 0f       	add	r16, r16
    792:	1a 95       	dec	r17
    794:	fb cf       	rjmp	.-10     	;  0x78c
    796:	08 95       	ret
    798:	85 e0       	ldi	r24, 0x05	; 5
    79a:	80 93 66 00 	sts	0x0066, r24
    79e:	80 e1       	ldi	r24, 0x10	; 16
    7a0:	88 87       	std	Y+8, r24	; 0x08
    7a2:	08 95       	ret
    7a4:	e8 81       	ld	r30, Y
    7a6:	f9 81       	ldd	r31, Y+1	; 0x01
    7a8:	80 81       	ld	r24, Z
    7aa:	91 81       	ldd	r25, Z+1	; 0x01
    7ac:	80 30       	cpi	r24, 0x00	; 0
    7ae:	e0 e8       	ldi	r30, 0x80	; 128
    7b0:	9e 07       	cpc	r25, r30
    7b2:	08 95       	ret
    7b4:	22 24       	eor	r2, r2
    7b6:	2a b8       	out	0x0a, r2	; 10
    7b8:	88 b3       	in	r24, 0x18	; 24
    7ba:	8c 7f       	andi	r24, 0xFC	; 252
    7bc:	88 bb       	out	0x18, r24	; 24
    7be:	08 95       	ret
    7c0:	80 e2       	ldi	r24, 0x20	; 32
    7c2:	8d 87       	std	Y+13, r24	; 0x0d
    7c4:	8f 87       	std	Y+15, r24	; 0x0f
    7c6:	8e 87       	std	Y+14, r24	; 0x0e
    7c8:	08 95       	ret
    7ca:	80 e2       	ldi	r24, 0x20	; 32
    7cc:	8d 87       	std	Y+13, r24	; 0x0d
    7ce:	8a 89       	ldd	r24, Y+18	; 0x12
    7d0:	88 34       	cpi	r24, 0x48	; 72
    7d2:	08 95       	ret